Skip to main content
Glama

Server Details

Engineering log of self-hosted AI on NVIDIA DGX Spark (GB10/SM121A). 60+ articles indexed.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
cipherfoxie/sovereign-mcp
GitHub Stars
3
Server Listing
Sovereign AI Blog

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct function: SGLang config diagnosis versus blog article browsing (search, list tags, get article). No overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: diagnose_sglang, get_article, list_tags, search_blog.

Tool Count4/5

With 4 tools, the count is within the well-scoped range (3-15). However, the server mixes two separate domains, making the scope slightly thin.

Completeness3/5

The blog tools cover reading needs (search, list tags, get article), but the SGLang diagnostic tool is a single operation with no update or management tools. For a 'self-hosted-ai' server, broader AI operations are missing.

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
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context: 'Pure pattern-matching', 'No inference, no external calls', and the behavior with no inputs ('recommended config and a 'unknown' verdict'). This goes beyond the annotations and fully discloses the tool's non-invasive nature.

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 front-loaded with the main action, then explains behavior and parameter optionality in a compact, scannable structure. Each sentence adds value: purpose, method/limitations, return value, and input flexibility. No wasted words.

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 complexity (6 optional params, output schema present), the description is complete. It explains what the tool does, how it behaves (pattern-matching), what it returns (critical issues, non-fatal warnings, recommended baseline config), and edge-case behavior (no inputs). The output schema handles return details, so no further elaboration is needed.

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?

Schema description coverage is 100%, with each parameter having a meaningful description (e.g., 'Empty = skip this check'). The tool-level description adds only a general note that all parameters are optional, not per-parameter details. Baseline 3 is appropriate since the schema carries the parameter semantics.

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's purpose: 'Validate an SGLang configuration for NVIDIA DGX Spark (GB10/SM121A).' The verb 'Validate' plus the specific resource (SGLang config on specific hardware) distinguishes it from the sibling blog tools (get_article, list_tags, search_blog), which are unrelated.

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 provides clear context for when to use: to validate a config against known failure modes. It explicitly explains constraints ('Pure pattern-matching... No inference, no external calls') and parameter optionality ('supply only what you have'). However, it does not explicitly state when not to use it or name an alternative, though no alternative is relevant among siblings.

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.
Behavior5/5

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

The description discloses key behaviors beyond annotations: it returns the article body in Markdown plus metadata, and specifies the exact error behavior when a slug is not found (returns an Article with error='article_not_found' and defaults). This is valuable context that annotations (readOnlyHint, idempotentHint) do not provide.

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?

Two sentences, zero padding. The first sentence states the primary action, and the second covers edge-case behavior. Information is front-loaded and every sentence earns its place.

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 single-parameter read tool with an output schema, the description covers purpose, return content, and not-found behavior. It is fully sufficient for an agent to invoke correctly without requiring additional details about response structures or side effects.

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 100% coverage, including an example and format note for the slug. The description adds no additional parameter semantics beyond restating 'by its slug', so it cannot exceed the baseline of 3 for schema-heavy tools.

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 'Retrieve the full content of a blog article by its slug', using a specific verb and resource. It distinguishes itself from siblings like search_blog and list_tags by focusing on full-content retrieval for a single known article.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool vs alternatives. It does not mention that search_blog should be used first to obtain a slug, or that this tool is not for searching/listings. The only contextual hint is in the input schema, not the description itself.

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
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe, idempotent operation. The description adds valuable behavioral context by noting it lists 'all' tags (exhaustive) and includes article counts, which goes beyond the safety profile. No contradiction with annotations.

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 exactly two sentences, front-loaded with the primary purpose and followed by a concise usage directive. Every word earns its place; there is no redundancy or filler.

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?

The tool has only one optional parameter, an output schema is present, and annotations cover safety. The description explains what the tool does and when to use it, even suggesting a workflow with search_blog. This is fully complete for an agent to invoke correctly.

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 description covers the only parameter (sort) 100%, including its enum and default value, so the tool description does not need to add parameter details. The description does not mention sort, but the schema fully handles it, warranting the baseline score of 3.

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 states 'List all topic tags used across the Sovereign AI Blog corpus, with article counts,' specifying a clear verb (List), resource (topic tags), and scope (corpus). This distinguishes it from sibling tools like search_blog and get_article, which serve different purposes.

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 second sentence provides explicit usage context: 'Use this to browse the topic space before calling search_blog with a tag filter.' It clearly directs when to use this tool and names the related alternative, making it easy for the agent to select appropriately.

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
Behavior5/5

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

The description adds substantial value beyond the annotations by stating 'Pure read-only, deterministic for a given KB snapshot' and detailing the exact ranking/filtering behavior, including the TF-IDF threshold of 0.001. This transparently discloses algorithm behavior and side-effect-free nature, complementing the readOnlyHint and idempotentHint annotations without contradiction.

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 yet information-dense, using a clear behavior matrix to communicate complex conditional behavior in a highly scannable format. Every sentence and bullet adds value, with no redundant filler or repetition of annotation details.

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 moderate tool complexity, the presence of a full input schema, output schema, and annotations, the description is sufficiently complete. The behavior matrix fully defines the query/sort/tag interaction space, so an agent can correctly select and invoke the tool without additional clarification.

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?

With 100% schema description coverage, baseline is 3. The description goes further by explaining how query and sort interact through the behavior matrix, clarifying that an empty query forces date ordering and that non-empty queries use TF-IDF scoring. This adds contextual semantics beyond the individual parameter descriptions.

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 a specific verb and resource: 'Search the Sovereign AI Blog for articles', and clearly states the query, tag filtering, and sorting capabilities. This makes the tool's purpose immediately clear and distinguishes it from sibling tools like get_article and list_tags, which are not search-oriented.

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 behavior matrix gives explicit conditional guidance for when to use different sort modes (e.g., empty query lists newest-first, non-empty query uses TF-IDF ranking). It also references list_tags in the schema for tag discovery, but the description itself does not mention when to prefer alternatives like get_article, so exclusions are not fully explicit.

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

Discussions

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

Related MCP Servers

  • F
    license
    -
    quality
    A
    maintenance
    An MCP server for monitoring and managing multi-cluster Slurm GPU jobs, enabling AI agents to execute commands, check allocations, and explore logs across HPC clusters.
    1
  • A
    license
    B
    quality
    A
    maintenance
    Dual-memory MCP system with PostgreSQL 17 + pgvector + NVIDIA NIM embeddings. 11 tools: search, save, profile, health, auto-repair, stats, tune, dedup, checkpoint, maintenance. Sparse Selective Caching (SSC) with 4-phase progressive retrieval. Bilingual EN/ES.
    30
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enterprise-grade (40m+ lines) codebase intelligence in a zero-setup, private and local MCP: managed indexing, hybrid semantic search, polyglot code dependency graphs, and DB/API/infra knowledge. Benchmark: 61% less tokens, 84% fewer calls, 37x faster than standard AI grep.
    25
    3,749
    3,247
    AGPL 3.0

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.