{"name":"org.sovgrid/self-hosted-ai","slug":"sovgrid-self-hosted-ai","title":null,"description":"Engineering log of self-hosted AI on NVIDIA DGX Spark (GB10/SM121A). 60+ articles indexed.","url":"https://mcp.market/server/sovgrid-self-hosted-ai","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":29,"stars":3,"forks":0,"downloads_week":null,"last_push_at":"2026-09-21T16:47:30.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T02:05:49.471Z","last_ok_at":"2026-11-04T02:05:49.471Z","latency_ms":1492},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/cipherfoxie/sovereign-mcp","website":"https://sovgrid.org","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.sovgrid.org/self-hosted-ai?ref=mcp-io"}],"packages":[],"tools":[{"name":"diagnose_sglang","description":"\n    Validate an SGLang configuration for NVIDIA DGX Spark (GB10/SM121A).\n\n    Pure pattern-matching against known failure modes documented in the\n    Sovereign AI Blog. No inference, no external calls. Returns critical\n    issues, non-fatal warnings, and a recommended baseline config.\n\n    All parameters are optional; supply only what you have. With no inputs\n    you get the recommended config and a 'unknown' verdict.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"attention_backend":{"default":"","description":"SGLang --attention-backend value (e.g. 'flashinfer', 'triton'). Empty string = skip this check.","title":"Attention Backend","type":"string"},"mem_fraction":{"default":0,"description":"SGLang --mem-fraction-static value (e.g. 0.88). 0.0 = skip this check.","maximum":1,"minimum":0,"title":"Mem Fraction","type":"number"},"cuda_graph_max_bs":{"default":0,"description":"SGLang --cuda-graph-max-bs value. 0 = skip this check.","minimum":0,"title":"Cuda Graph Max Bs","type":"integer"},"image_tag":{"default":"","description":"Docker image tag in use (e.g. 'lmsysorg/sglang:latest', 'lmsysorg/sglang:v0.4.0'). Empty = skip.","title":"Image Tag","type":"string"},"hardware":{"default":"","description":"Hardware description (e.g. 'GB10', 'DGX Spark', 'SM121A'). Empty = skip GB10-specific rules.","title":"Hardware","type":"string"},"error_message":{"default":"","description":"Paste error log output here for pattern matching against known failure modes.","title":"Error Message","type":"string"}},"title":"diagnose_sglangArguments"}},{"name":"get_article","description":"\n    Retrieve the full content of a blog article by its slug.\n\n    Returns the article body (Markdown) plus metadata. If the slug does not\n    match any article, returns an Article with `error='article_not_found'`\n    and other fields at their defaults.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"description":"Article slug as returned by search_blog (e.g. 'setup-llm-inference-setup'). Lower-case, hyphenated.","title":"Slug","type":"string"}},"required":["slug"],"title":"get_articleArguments"}},{"name":"list_articles","description":"\n    List all blog articles. No TF-IDF computation — pure database listing.\n\n    Use to browse the full corpus, paginate through articles, or filter by tag.\n    For full-text semantic search use search_blog instead.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tag":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional tag filter (e.g. 'setup', 'fixes', 'strategy'). Only articles with this tag are considered. Use list_tags to discover available tags.","title":"Tag"},"sort":{"default":"date_desc","description":"Result ordering. 'date_desc' newest first (default). 'date_asc' oldest first. 'title_asc' alphabetical. 'quality_desc' best quality first.","enum":["date_desc","date_asc","title_asc","quality_desc"],"title":"Sort","type":"string"},"limit":{"default":20,"description":"Number of results (1-50)","maximum":50,"minimum":1,"title":"Limit","type":"integer"},"offset":{"default":0,"description":"Pagination offset (0-based)","minimum":0,"title":"Offset","type":"integer"}},"title":"list_articlesArguments"}},{"name":"list_tags","description":"\n    List all topic tags used across the Sovereign AI Blog corpus, with article\n    counts. Use this to browse the topic space before calling search_blog with\n    a tag filter.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sort":{"default":"count_desc","description":"Result ordering. 'count_desc' lists most-used tags first (default). 'alpha' sorts alphabetically.","enum":["count_desc","alpha"],"title":"Sort","type":"string"}},"title":"list_tagsArguments"}},{"name":"search_blog","description":"\n    Search the Sovereign AI Blog for articles matching a natural language query,\n    optionally filtered by tag and sorted by relevance or date.\n\n    Behaviour matrix:\n      - query='', sort=*           -> list newest-first, optionally tag-filtered\n      - query!='', sort=relevance  -> TF-IDF ranked, optionally tag-filtered\n      - query!='', sort=date_desc  -> TF-IDF filtered (score > 0.001), then sorted by date\n\n    Pure read-only, deterministic for a given KB snapshot.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"default":"","description":"Natural language search query (e.g. 'flashinfer OOM on GB10'). Multi-word queries are tokenized and TF-IDF ranked. Pass empty string to list articles without ranking by relevance.","title":"Query","type":"string"},"tag":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional tag filter (e.g. 'setup', 'fixes', 'strategy'). Only articles with this tag are considered. Use list_tags to discover available tags.","title":"Tag"},"sort":{"default":"relevance","description":"Result ordering. 'relevance' uses TF-IDF score (default for non-empty query). 'date_desc' sorts newest first (default behaviour when query is empty). When query is empty, 'relevance' is treated as 'date_desc'.","enum":["relevance","date_desc"],"title":"Sort","type":"string"},"n":{"default":5,"description":"Maximum number of results to return","maximum":20,"minimum":1,"title":"N","type":"integer"}},"title":"search_blogArguments"}}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-27T21:48:11.519Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:48:11.458Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 3216ms"]},"poisoning":{"score":15,"max":15,"notes":["5 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 6 days ago"]},"identity":{"score":5,"max":10,"notes":["namespace and repository owner differ","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.sovgrid.org/self-hosted-ai?ref=mcp-io","reachable":true,"authRequired":false,"latencyMs":3216,"serverInfo":{"name":"sovereign-ai-blog","version":""}}],"packages":[],"repo":{"found":true,"owner":"cipherfoxie","repo":"sovereign-mcp","archived":false,"pushedAt":"2026-09-21T16:47:30Z","stars":3,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/271347478?v=4","ownerCreatedAt":"2026-03-26T19:32:39Z","license":"MIT"},"icon":{"url":"https://sovgrid.org/favicon.svg","source":"site"},"presence":{"stars":3,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-21T16:47:30.000Z","score":29}}}},"grade_history":[],"reviews":[]}