Skip to main content
Glama

Server Details

Search and retrieve articles from the Sovereign AI Blog. A practical engineering log of self-hosted AI on NVIDIA DGX Spark with articles covering SGLang, Mistral, Voxtral, OpenClaw. Tools: search_blog, get_article, diagnose_sglang.

Endpoint URL: https://mcp.sovgrid.org/self-hosted-ai?ref=smithery

Transport: streamable-http (oder „HTTP Streaming")

Tags/Categories: knowledge-base, search, self-hosted-ai, sovereign

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

4 tools
diagnose_sglangA
Read-onlyIdempotent
Inspect

Validate an SGLang configuration for NVIDIA DGX Spark (GB10/SM121A).

Pure pattern-matching against known failure modes documented in the Sovereign AI Blog. No inference, no external calls. Returns critical issues, non-fatal warnings, and a recommended baseline config.

All parameters are optional; supply only what you have. With no inputs you get the recommended config and a 'unknown' verdict.

ParametersJSON Schema
NameRequiredDescriptionDefault
hardwareNoHardware description (e.g. 'GB10', 'DGX Spark', 'SM121A'). Empty = skip GB10-specific rules.
image_tagNoDocker image tag in use (e.g. 'lmsysorg/sglang:latest', 'lmsysorg/sglang:v0.4.0'). Empty = skip.
mem_fractionNoSGLang --mem-fraction-static value (e.g. 0.88). 0.0 = skip this check.
error_messageNoPaste error log output here for pattern matching against known failure modes.
attention_backendNoSGLang --attention-backend value (e.g. 'flashinfer', 'triton'). Empty string = skip this check.
cuda_graph_max_bsNoSGLang --cuda-graph-max-bs value. 0 = skip this check.

Output Schema

ParametersJSON Schema
NameRequiredDescription
issuesYesCritical issues that will prevent SGLang from running correctly
verdictYesOverall verdict. 'unknown' = no inputs provided.
warningsYesNon-fatal warnings (suboptimal but non-blocking)
recommended_configYesVerified-good baseline config for GB10/SM121A

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only and idempotent hints. The description adds valuable behavioral context: it explicitly states the tool does pure pattern-matching, makes no external calls, and returns issues, warnings, and a recommended config, including the no-input edge case.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: it states the core purpose, explains the method, describes outputs, and covers the all-optional edge case. Every sentence contributes meaningful information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full output schema and detailed parameter descriptions, the description appropriately covers the tool's scope, behavior, and edge cases. It is sufficient for an agent to understand when and how to invoke the tool, including the no-input scenario.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all parameters with detailed descriptions and skip semantics. The description adds only the general note that all parameters are optional, which is helpful but not a substantial enhancement over the schema's existing parameter-level guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates an SGLang configuration for NVIDIA DGX Spark, specifying the exact verb and resource. It distinguishes itself from sibling content-retrieval tools by outlining its diagnostic pattern-matching purpose and return types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool (validate SGLang config) and notes that all parameters are optional, implying you supply what you have. It does not explicitly list exclusions or alternative tools, but the distinct purpose makes it unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_articleA
Read-onlyIdempotent
Inspect
Retrieve the full content of a blog article by its slug.

Returns the article body (Markdown) plus metadata. If the slug does not
match any article, returns an Article with `error='article_not_found'`
and other fields at their defaults.
ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesArticle slug as returned by search_blog (e.g. 'setup-llm-inference-setup'). Lower-case, hyphenated.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNoPublic URL of the article
bodyNoFull article body in Markdown
dateNoPublication date (ISO 8601)
slugYesArticle slug
tagsNoTopic tags assigned to the article
errorNoSet to 'article_not_found' if no article matches the slug
titleNoArticle title
word_countNoWord count of the article body
descriptionNoShort article description
quality_classNoEditorial content class (e.g. 'Ephemeral', 'Evergreen'). Empty if not classified.
quality_scoreNoBuild-time quality score from the editorial pipeline (unbounded weighted composite across 13 signals, higher is better; thresholds depend on style)
quality_styleNoEditorial style category (e.g. 'best_practice_learnings', 'werthaltige_code_beispiele'). Empty if not categorised.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds valuable behavioral context beyond the annotations: it specifies the return format (Markdown body plus metadata) and the exact error behavior when the slug is not found. This is particularly helpful for an agent to handle failure cases gracefully.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action, and every sentence adds value. It avoids redundancy and is easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one parameter, the description covers the core function, return value, and error case. The output schema provides additional structural details, so the description is complete and well-suited for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a rich description of the slug parameter, including an example and format guidance (lower-case, hyphenated). The description itself adds no new semantics about the parameter, so the baseline of 3 applies since schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the full content of a blog article by slug, which distinguishes it from sibling tools like search_blog that likely list or search articles. The verb 'Retrieve' and resource 'blog article' are specific, leaving no ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a slug ('by its slug'), but it does not explicitly mention alternatives or when to use this tool versus search_blog or list_tags. The parameter schema references search_blog, but that is outside the description itself, so guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tagsA
Read-onlyIdempotent
Inspect
List all topic tags used across the Sovereign AI Blog corpus, with article
counts. Use this to browse the topic space before calling search_blog with
a tag filter.
ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoResult ordering. 'count_desc' lists most-used tags first (default). 'alpha' sorts alphabetically.count_desc

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, covering the safety profile. The description adds behavioral context by noting the tool returns article counts and lists 'all' tags, which is useful beyond the annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, directly states the purpose and usage context without any fluff. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional param, output schema provided), the description sufficiently covers what the tool does, what it returns (tags with counts), and when to use it. No critical information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the only parameter 'sort' with its enum and description, so the baseline is 3. The tool description does not add extra parameter semantics, but none are needed given the schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all topic tags with article counts, using a specific verb 'List' and a specific resource ('topic tags'). It distinguishes itself from siblings by explicitly mentioning browsing the topic space before using search_blog with a tag filter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Use this to browse the topic space before calling search_blog with a tag filter.' This tells the agent when to use this tool and names the alternative tool, making the decision clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_blogA
Read-onlyIdempotent
Inspect
Search the Sovereign AI Blog for articles matching a natural language query,
optionally filtered by tag and sorted by relevance or date.

Behaviour matrix:
  - query='', sort=*           -> list newest-first, optionally tag-filtered
  - query!='', sort=relevance  -> TF-IDF ranked, optionally tag-filtered
  - query!='', sort=date_desc  -> TF-IDF filtered (score > 0.001), then sorted by date

Pure read-only, deterministic for a given KB snapshot.
ParametersJSON Schema
NameRequiredDescriptionDefault
nNoMaximum number of results to return
tagNoOptional tag filter (e.g. 'setup', 'fixes', 'strategy'). Only articles with this tag are considered. Use list_tags to discover available tags.
sortNoResult 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'.relevance
queryNoNatural 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The behavior matrix explicitly documents three query/sort combinations and the TF-IDF threshold (score > 0.001), going well beyond the readOnlyHint and idempotentHint annotations. It also notes determinism for a given KB snapshot, adding meaningful execution context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with purpose, and uses a behavior matrix for efficient structured communication. Every sentence earns its place, with no redundant restatement of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given rich annotations and a detailed input schema, the description covers the core behavior variations, read-only nature, determinism, and filtering/sorting. An output schema is present, so return-value documentation is unnecessary; there are no significant gaps for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed per-parameter descriptions, so the baseline is 3. The description adds cross-parameter semantics (e.g., query='' with any sort yields newest-first, query!='' with date_desc applies TF-IDF filtering then date sorting), which is valuable beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Search the Sovereign AI Blog for articles matching a natural language query,' clearly identifying the verb, resource, and scope. It distinguishes itself from siblings like get_article and list_tags, and the behavior matrix reinforces its search/filter/sort purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly establishes when to use the tool: when searching blog articles by natural language, optionally filtered by tag. It does not explicitly mention alternatives or exclusions (e.g., using get_article for a single article), so it misses a 5, but the context is otherwise unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • Changedget_article1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"Article slug as returned by search_blog (e.g. 'setup-mistral-sglang-setup'). Lower-case, hyphenated."New value: +"Article slug as returned by search_blog (e.g. 'setup-llm-inference-setup'). Lower-case, hyphenated."
  2. 2 tool updates
    • Addedlist_tags
    • Changedsearch_blog10 fields changed
      • changedInput schema / properties / n / maximum
        Previous value: -10New value: +20
      • addedInput schema / properties / query / default
        Added value: +""
      • changedInput schema / properties / query / description
        Previous value: -"Natural language search query (e.g. 'flashinfer OOM on GB10'). Multi-word queries are tokenized and TF-IDF ranked."New value: +"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."
      • addedInput schema / properties / sort
        Added value: +{
        +  "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"
        +}
      • addedInput schema / properties / tag
        Added value: +{
        +  "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"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "query"
        -]
      • addedOutput schema / $defs / SearchResult / properties / date
        Added value: +{
        +  "default": "",
        +  "description": "Publication date (ISO 8601)",
        +  "title": "Date",
        +  "type": "string"
        +}
      • changedOutput schema / $defs / SearchResult / properties / quality_score / description
        Previous value: -"Build-time quality score, unbounded weighted composite across 13 signals from the editorial pipeline (style-aware, higher is better; thresholds depend on style)"New value: +"Build-time editorial quality score"
      • changedOutput schema / $defs / SearchResult / properties / quality_style / description
        Previous value: -"Editorial style category (e.g. 'best_practice_learnings', 'werthaltige_code_beispiele', 'conclusion', 'smart_infotainment'). Empty if not categorised."New value: +"Editorial style category"
      • changedOutput schema / $defs / SearchResult / properties / relevance_score / description
        Previous value: -"TF-IDF cosine similarity score, range 0.0 to 1.0 (higher is more relevant)"New value: +"TF-IDF cosine similarity score, 0.0 to 1.0 (1.0 = direct date-sorted hit when query is empty)"
  3. 3 tool updates
    • First observeddiagnose_sglang
    • First observedget_article
    • First observedsearch_blog

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct operation: configuration validation, article retrieval, tag listing, and article search. There is no functional overlap, so an agent can easily distinguish them.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (e.g., diagnose_sglang, get_article, list_tags, search_blog), making them predictable and easy to remember.

Tool Count4/5

Four tools is a reasonable number for a focused blog server, though the inclusion of a diagnostic tool (diagnose_sglang) slightly broadens the scope. The count still feels well-scoped and not excessive.

Completeness4/5

The blog-related tools cover reading operations (get, search, browse tags) adequately; a listing endpoint is handled via search with an empty query. The diagnostic tool is an additional feature, but there are no obvious gaps in core blog functionality.

Resources