{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "",
    "endpoint": "https://mcp.sovgrid.org/self-hosted-ai?ref=mcp-io",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sovgrid-self-hosted-ai.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/sovgrid-self-hosted-ai.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/sovgrid-self-hosted-ai.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 3373,
        "counts": {
          "error": 0,
          "note": 1,
          "warn": 0
        },
        "findings": [
          {
            "rule": "TC29",
            "severity": "note",
            "message": "about 389 tokens (11% of the definitions) are titles that repeat property or function names",
            "fix": "Strip \"title\" keys that only restate a name before listing tools."
          }
        ]
      },
      "checkedAt": "2026-10-04T22:25:45Z",
      "count": 5,
      "schemaTokens": 3373,
      "status": "ok",
      "tools": [
        {
          "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=*           -\u003e list newest-first, optionally tag-filtered\n      - query!='', sort=relevance  -\u003e TF-IDF ranked, optionally tag-filtered\n      - query!='', sort=date_desc  -\u003e TF-IDF filtered (score \u003e 0.001), then sorted by date\n\n    Pure read-only, deterministic for a given KB snapshot.\n    ",
          "inputSchema": {
            "properties": {
              "n": {
                "default": 5,
                "description": "Maximum number of results to return",
                "maximum": 20,
                "minimum": 1,
                "title": "N",
                "type": "integer"
              },
              "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"
              },
              "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"
              },
              "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"
              }
            },
            "title": "search_blogArguments",
            "type": "object"
          },
          "outputSchema": {
            "$defs": {
              "SearchResult": {
                "description": "One ranked article result from search_blog.",
                "properties": {
                  "date": {
                    "default": "",
                    "description": "Publication date (ISO 8601)",
                    "title": "Date",
                    "type": "string"
                  },
                  "description": {
                    "description": "Article description or summary",
                    "title": "Description",
                    "type": "string"
                  },
                  "quality_score": {
                    "description": "Build-time editorial quality score",
                    "title": "Quality Score",
                    "type": "number"
                  },
                  "quality_style": {
                    "default": "",
                    "description": "Editorial style category",
                    "title": "Quality Style",
                    "type": "string"
                  },
                  "relevance_score": {
                    "description": "TF-IDF cosine similarity score, 0.0 to 1.0 (1.0 = direct date-sorted hit when query is empty)",
                    "title": "Relevance Score",
                    "type": "number"
                  },
                  "slug": {
                    "description": "Article slug, use as input to get_article",
                    "title": "Slug",
                    "type": "string"
                  },
                  "tags": {
                    "description": "Topic tags assigned to the article",
                    "items": {
                      "type": "string"
                    },
                    "title": "Tags",
                    "type": "array"
                  },
                  "title": {
                    "description": "Article title",
                    "title": "Title",
                    "type": "string"
                  },
                  "url": {
                    "description": "Public URL of the article",
                    "title": "Url",
                    "type": "string"
                  }
                },
                "required": [
                  "slug",
                  "title",
                  "url",
                  "description",
                  "tags",
                  "relevance_score",
                  "quality_score"
                ],
                "title": "SearchResult",
                "type": "object"
              }
            },
            "properties": {
              "result": {
                "items": {
                  "$ref": "#/$defs/SearchResult"
                },
                "title": "Result",
                "type": "array"
              }
            },
            "required": [
              "result"
            ],
            "title": "search_blogOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Search Blog"
          }
        },
        {
          "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    ",
          "inputSchema": {
            "properties": {
              "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"
              },
              "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"
              },
              "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"
              }
            },
            "title": "list_articlesArguments",
            "type": "object"
          },
          "outputSchema": {
            "$defs": {
              "ArticleSummary": {
                "description": "A single article entry returned by list_articles.",
                "properties": {
                  "date": {
                    "default": "",
                    "description": "Publication date (ISO 8601)",
                    "title": "Date",
                    "type": "string"
                  },
                  "description": {
                    "default": "",
                    "description": "Article description or summary",
                    "title": "Description",
                    "type": "string"
                  },
                  "quality_class": {
                    "default": "",
                    "description": "Editorial quality class",
                    "title": "Quality Class",
                    "type": "string"
                  },
                  "quality_score": {
                    "description": "Editorial quality score",
                    "title": "Quality Score",
                    "type": "number"
                  },
                  "quality_style": {
                    "default": "",
                    "description": "Editorial style category",
                    "title": "Quality Style",
                    "type": "string"
                  },
                  "slug": {
                    "description": "Article slug, use as input to get_article",
                    "title": "Slug",
                    "type": "string"
                  },
                  "tags": {
                    "description": "Topic tags assigned to the article",
                    "items": {
                      "type": "string"
                    },
                    "title": "Tags",
                    "type": "array"
                  },
                  "title": {
                    "description": "Article title",
                    "title": "Title",
                    "type": "string"
                  },
                  "url": {
                    "description": "Public URL of the article",
                    "title": "Url",
                    "type": "string"
                  }
                },
                "required": [
                  "slug",
                  "title",
                  "url",
                  "tags",
                  "quality_score"
                ],
                "title": "ArticleSummary",
                "type": "object"
              }
            },
            "properties": {
              "result": {
                "items": {
                  "$ref": "#/$defs/ArticleSummary"
                },
                "title": "Result",
                "type": "array"
              }
            },
            "required": [
              "result"
            ],
            "title": "list_articlesOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "List Articles"
          }
        },
        {
          "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    ",
          "inputSchema": {
            "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",
            "type": "object"
          },
          "outputSchema": {
            "description": "Full content of a single blog article.",
            "properties": {
              "body": {
                "default": "",
                "description": "Full article body in Markdown",
                "title": "Body",
                "type": "string"
              },
              "date": {
                "default": "",
                "description": "Publication date (ISO 8601)",
                "title": "Date",
                "type": "string"
              },
              "description": {
                "default": "",
                "description": "Short article description",
                "title": "Description",
                "type": "string"
              },
              "error": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Set to 'article_not_found' if no article matches the slug",
                "title": "Error"
              },
              "quality_class": {
                "default": "",
                "description": "Editorial content class (e.g. 'Ephemeral', 'Evergreen'). Empty if not classified.",
                "title": "Quality Class",
                "type": "string"
              },
              "quality_score": {
                "default": 0,
                "description": "Build-time quality score from the editorial pipeline (unbounded weighted composite across 13 signals, higher is better; thresholds depend on style)",
                "title": "Quality Score",
                "type": "number"
              },
              "quality_style": {
                "default": "",
                "description": "Editorial style category (e.g. 'best_practice_learnings', 'werthaltige_code_beispiele'). Empty if not categorised.",
                "title": "Quality Style",
                "type": "string"
              },
              "slug": {
                "description": "Article slug",
                "title": "Slug",
                "type": "string"
              },
              "tags": {
                "description": "Topic tags assigned to the article",
                "items": {
                  "type": "string"
                },
                "title": "Tags",
                "type": "array"
              },
              "title": {
                "default": "",
                "description": "Article title",
                "title": "Title",
                "type": "string"
              },
              "url": {
                "default": "",
                "description": "Public URL of the article",
                "title": "Url",
                "type": "string"
              },
              "word_count": {
                "default": 0,
                "description": "Word count of the article body",
                "title": "Word Count",
                "type": "integer"
              }
            },
            "required": [
              "slug"
            ],
            "title": "Article",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Get Article"
          }
        },
        {
          "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    ",
          "inputSchema": {
            "properties": {
              "attention_backend": {
                "default": "",
                "description": "SGLang --attention-backend value (e.g. 'flashinfer', 'triton'). Empty string = skip this check.",
                "title": "Attention Backend",
                "type": "string"
              },
              "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"
              },
              "error_message": {
                "default": "",
                "description": "Paste error log output here for pattern matching against known failure modes.",
                "title": "Error Message",
                "type": "string"
              },
              "hardware": {
                "default": "",
                "description": "Hardware description (e.g. 'GB10', 'DGX Spark', 'SM121A'). Empty = skip GB10-specific rules.",
                "title": "Hardware",
                "type": "string"
              },
              "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"
              },
              "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"
              }
            },
            "title": "diagnose_sglangArguments",
            "type": "object"
          },
          "outputSchema": {
            "$defs": {
              "DiagnosticIssue": {
                "description": "A single rule violation found in the SGLang config.",
                "properties": {
                  "fix": {
                    "description": "Concrete fix to apply",
                    "title": "Fix",
                    "type": "string"
                  },
                  "param": {
                    "description": "The config parameter or input field that triggered the rule",
                    "title": "Param",
                    "type": "string"
                  },
                  "problem": {
                    "description": "Plain-English explanation of the failure mode",
                    "title": "Problem",
                    "type": "string"
                  },
                  "severity": {
                    "description": "critical = config will fail, warning = will run but suboptimal",
                    "enum": [
                      "critical",
                      "warning"
                    ],
                    "title": "Severity",
                    "type": "string"
                  },
                  "source": {
                    "description": "URL of the blog article documenting this issue",
                    "title": "Source",
                    "type": "string"
                  },
                  "value": {
                    "description": "The offending value (stringified)",
                    "title": "Value",
                    "type": "string"
                  }
                },
                "required": [
                  "severity",
                  "param",
                  "value",
                  "problem",
                  "fix",
                  "source"
                ],
                "title": "DiagnosticIssue",
                "type": "object"
              },
              "RecommendedConfig": {
                "description": "A known-good SGLang config baseline for GB10/SM121A hardware.",
                "properties": {
                  "attention_backend": {
                    "description": "SGLang attention backend (triton is the verified default for GB10)",
                    "title": "Attention Backend",
                    "type": "string"
                  },
                  "cuda_graph_max_bs": {
                    "description": "--cuda-graph-max-bs (32 is the optimum for GB10)",
                    "title": "Cuda Graph Max Bs",
                    "type": "integer"
                  },
                  "env": {
                    "additionalProperties": true,
                    "description": "Environment variables required for stable operation",
                    "title": "Env",
                    "type": "object"
                  },
                  "image_tag": {
                    "description": "Docker image tag with SM121A support",
                    "title": "Image Tag",
                    "type": "string"
                  },
                  "max_running_requests": {
                    "description": "Concurrent request cap, calibrated for GB10 memory budget",
                    "title": "Max Running Requests",
                    "type": "integer"
                  },
                  "mem_fraction": {
                    "description": "--mem-fraction-static value (0.75 is the upper safe bound for GB10)",
                    "title": "Mem Fraction",
                    "type": "number"
                  }
                },
                "required": [
                  "attention_backend",
                  "mem_fraction",
                  "cuda_graph_max_bs",
                  "image_tag",
                  "env",
                  "max_running_requests"
                ],
                "title": "RecommendedConfig",
                "type": "object"
              }
            },
            "description": "Outcome of a diagnose_sglang call.",
            "properties": {
              "issues": {
                "description": "Critical issues that will prevent SGLang from running correctly",
                "items": {
                  "$ref": "#/$defs/DiagnosticIssue"
                },
                "title": "Issues",
                "type": "array"
              },
              "recommended_config": {
                "$ref": "#/$defs/RecommendedConfig",
                "description": "Verified-good baseline config for GB10/SM121A"
              },
              "verdict": {
                "description": "Overall verdict. 'unknown' = no inputs provided.",
                "enum": [
                  "valid",
                  "valid_with_warnings",
                  "invalid",
                  "unknown"
                ],
                "title": "Verdict",
                "type": "string"
              },
              "warnings": {
                "description": "Non-fatal warnings (suboptimal but non-blocking)",
                "items": {
                  "$ref": "#/$defs/DiagnosticIssue"
                },
                "title": "Warnings",
                "type": "array"
              }
            },
            "required": [
              "issues",
              "warnings",
              "recommended_config",
              "verdict"
            ],
            "title": "DiagnoseResult",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "Diagnose SGLang Config"
          }
        },
        {
          "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    ",
          "inputSchema": {
            "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",
            "type": "object"
          },
          "outputSchema": {
            "$defs": {
              "TagInfo": {
                "description": "A topic tag with the number of articles using it.",
                "properties": {
                  "article_count": {
                    "description": "Number of articles tagged with this tag",
                    "title": "Article Count",
                    "type": "integer"
                  },
                  "tag": {
                    "description": "The tag name (lower-case, snake_case)",
                    "title": "Tag",
                    "type": "string"
                  }
                },
                "required": [
                  "tag",
                  "article_count"
                ],
                "title": "TagInfo",
                "type": "object"
              }
            },
            "properties": {
              "result": {
                "items": {
                  "$ref": "#/$defs/TagInfo"
                },
                "title": "Result",
                "type": "array"
              }
            },
            "required": [
              "result"
            ],
            "title": "list_tagsOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": false,
            "readOnlyHint": true,
            "title": "List Tags"
          }
        }
      ]
    },
    "name": "self-hosted-ai",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": null,
    "pageJsonUrl": "https://www.anchorterminal.com/tools/sovgrid-self-hosted-ai.json",
    "popularity": {
      "githubStars": 3
    },
    "registryName": "org.sovgrid/self-hosted-ai",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://mcp.sovgrid.org/self-hosted-ai?ref=mcp-io"
      }
    ],
    "repository": "https://github.com/cipherfoxie/sovereign-mcp",
    "reviewed": false,
    "slug": "sovgrid-self-hosted-ai",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=org.sovgrid/self-hosted-ai",
    "summary": "Engineering log of self-hosted AI on NVIDIA DGX Spark (GB10/SM121A). 60+ articles indexed.",
    "updatedAt": "2026-05-05T19:53:43Z",
    "url": "https://www.anchorterminal.com/tools/sovgrid-self-hosted-ai",
    "vendor": "sovgrid.org",
    "vendorUrl": "https://sovgrid.org",
    "version": "1.0.0",
    "websiteUrl": "https://sovgrid.org",
    "where": "hosted",
    "why": [
      "vendor"
    ]
  }
}
