Sovereign AI Blog
This server provides AI agents with read-only, structured access to the Sovereign AI Blog's knowledge base, plus SGLang configuration diagnostics for NVIDIA DGX Spark (GB10/SM121A).
Search articles —
search_blog(query, tag?, sort?, n?)performs TF-IDF full-text search, optionally filtered by tag, sorted by relevance or date, or listing newest articles when the query is empty.Fetch full articles —
get_article(slug)returns the complete Markdown body plus metadata such as tags, publish date, quality score, and style classification.Explore topic tags —
list_tags(sort?)lists all tags with article counts, helping you discover the topic space before filtering searches.Diagnose SGLang configurations —
diagnose_sglang(...)pattern-matches error messages and config values against known GB10/SM121A failure modes, returning critical issues, warnings, a verdict, and a recommended baseline config.All tools are read-only, idempotent, and declared with trust/retry annotations for MCP clients.
Sovereign AI MCP
MCP server exposing the Sovereign AI Blog to AI agents. The blog is a hands-on engineering log of self-hosted AI on NVIDIA DGX Spark (GB10/SM121A).
Live endpoint: https://mcp.sovgrid.org/self-hosted-ai
Transport: Streamable HTTP (FastMCP)
Auth: none (free tier, 60 req/min/IP)
Why use it
Training data on niche hardware (GB10, SM121A, SGLang on ARM64) is sparse and stale. This MCP gives agents direct, structured access to 180+ articles documenting actual setups, fixes, and benchmarks. If you're building or debugging on similar stacks, your agent can pull verified, version-current information instead of hallucinating.
The corpus covers SGLang and vLLM patches for GB10, voxtral and TTS pipelines on ARM64, KV-cache and quantization tradeoffs, podcast-grade audio generation, MCP server design, knowledge-base construction, and the operational side of running it all on a hardened European VPS.
Related MCP server: mcp-astgl-knowledge
Tools
Tool | Purpose |
| TF-IDF full-text search. Optional |
| Direct article listing with pagination, no TF-IDF overhead. Filter by tag, sort by |
| List all topic tags across the corpus with article counts. Sort by |
| Fetch full article body and frontmatter by slug. Returns markdown content plus tags, quality score, publish date. |
| Pattern-match a runtime error against a curated rule set for SGLang on GB10/SM121A. Returns matched fixes with links to setup articles. |
All tools are read-only, idempotent, and declared with ToolAnnotations so MCP clients can calibrate retry policy and trust signals. Inputs use Pydantic Annotated[type, Field(description=...)] so parameter docs reach agents through introspection. Outputs are typed BaseModel shapes — schemas are real, not vacuous dicts.
Quick start
With Claude Code
claude mcp add sovereign-ai --transport http https://mcp.sovgrid.org/self-hosted-aiVerify:
claude mcp list | grep sovereign-aiWith Cline / Continue / other MCP clients
Add to your client's MCP server config:
{
"sovereign-ai": {
"type": "http",
"url": "https://mcp.sovgrid.org/self-hosted-ai"
}
}Run locally
From source (uv)
git clone https://github.com/cipherfoxie/sovereign-mcp.git
cd sovereign-mcp
uv sync
uv run uvicorn src.main:app --host 127.0.0.1 --port 8002Docker
git clone https://github.com/cipherfoxie/sovereign-mcp.git
cd sovereign-mcp
docker build -t sovereign-mcp .
docker run -p 8002:8002 sovereign-mcpThe repo ships a placeholder data/knowledge-base.json (zero articles, valid schema) so the server starts and answers MCP introspection cleanly out-of-the-box. To populate it with real content, generate from the sovgrid.org blog source using scripts/generate_knowledge_base.py, or build your own KB matching the schema in src/knowledge.py. Or just use the live endpoint at https://mcp.sovgrid.org/self-hosted-ai.
A walk-through of the same KB pattern (Markdown plus JSON index, no vector store) is documented in Build a Self-Hosted Knowledge Base with Plain Text and LLMs.
Architecture
FastMCP 1.27+ with Streamable HTTP transport at path
/self-hosted-aiDNS rebinding protection via
TransportSecuritySettings: only allows requests withHost: mcp.sovgrid.org(or localhost for healthchecks)Health endpoint at
/healthreturns article count and KB generation timestampKnowledge base is a flat JSON file generated from blog Markdown content; loaded at startup, queried via TF-IDF for
search_blog
The server is stateless. All blog content is already public (CC BY-SA 4.0). No PII, no auth tokens, no secrets.
Operations
Live deployment runs on a privacy-focused European VPS via Docker, fronted by Caddy with TLS. Server logs flow into a privacy-respecting analytics pipeline (Caddy JSON access logs, no client-side tracking, no JS pixels).
License
Server code: MIT, see LICENSE
Blog content (returned by tools): CC BY-SA 4.0, see creativecommons.org/licenses/by-sa/4.0/
Contact
Blog: sovgrid.org
Nostr:
cipherfox@sovgrid.org(NIP-05) —npub1ndrjgfcwkc0y4753zyj3p7qjf795pvjq2dn4m7y7f72vmu7t0nrs6y363uBug reports / questions: open an issue
Available Tools
4 toolsdiagnose_sglangARead-onlyIdempotentInspect
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.
Inputs: attention_backend, mem_fraction, cuda_graph_max_bs, image_tag, +2 more. Returns: Outcome of a diagnose_sglang call.
get_articleARead-onlyIdempotentInspect
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.
Inputs: slug (required). Returns: Full content of a single blog article.
list_tagsARead-onlyIdempotentInspect
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.
Inputs: sort. Returns: result
search_blogARead-onlyIdempotentInspect
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.
Inputs: query, tag, sort, n. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a well-defined, distinct purpose: diagnosing SGLang configs, retrieving blog articles, listing tags, and searching. No overlaps.
All tool names follow a consistent verb_noun pattern using snake_case (diagnose_sglang, get_article, list_tags, search_blog).
With 4 tools, the count is well within the ideal 3-15 range and is proportionate to the server's focused blog+diagnostic scope.
The blog domain is fully covered: searching, retrieving specific articles, and browsing tags. The diagnostic tool adds auxiliary functionality without creating gaps.
Maintenance
Related MCP Connectors
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Hosted MCP server for live public-data APIs and Skills for AI agents.
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for Agent Zone — vendor-neutral infrastructure knowledge, K8s validation, and execution templates for AI agents. 200+ articles, 10 tools, no API key required.14 npmMIT
- AlicenseBqualityBmaintenanceMCP server for searching and citing ASTGL (As The Geek Learns) articles about MCP servers, local AI, and AI automation. Provides semantic search, direct Q\&A, and topic browsing across 20 authoritative articles with pre-computed embeddings.387 npmMIT
- AlicenseAqualityDmaintenanceMCP server to search across NVIDIA blogs and releases to empower LLMs to better answer NVIDIA-specific queries.225 npm32 PyPI1MIT
- AlicenseNot gradedqualityCmaintenanceMCP tool server that gives any AI agent the ability to search, scrape, and analyze content across the internet.42MIT