Sovereign
FreeNot checkedMCP server for the Sovereign AI Blog: Search, retrieve, and diagnose tools for self-hosted AI on NVIDIA DGX Spark.
About
MCP server for the Sovereign AI Blog: Search, retrieve, and diagnose tools for self-hosted AI on NVIDIA DGX Spark.
README
CI License: MIT Content: CC BY-SA 4.0 MCP Registry smithery badge Glama MCP server Write-up
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 60+ 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.
Tools
| Tool | Purpose |
|---|---|
search_blog(query, tag?, sort?, n?) |
TF-IDF full-text search. Optional tag filter, sort by relevance or date_desc. Empty query lists newest articles. Returns ranked SearchResult items with quality score, style, slug, and excerpt. |
list_tags(sort?) |
List all topic tags across the corpus with article counts. Sort by count_desc (default) or alpha. Use to discover the topic space before filtering search_blog. |
get_article(slug) |
Fetch full article body and frontmatter by slug. Returns markdown content plus tags, quality score, publish date. |
diagnose_sglang(error_message) |
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-ai
Verify:
claude mcp list | grep sovereign-ai
With 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 8002
Docker
git clone https://github.com/cipherfoxie/sovereign-mcp.git
cd sovereign-mcp
docker build -t sovereign-mcp .
docker run -p 8002:8002 sovereign-mcp
The 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-ai - DNS rebinding protection via
TransportSecuritySettings: only allows requests withHost: mcp.sovgrid.org(or localhost for healthchecks) - Health endpoint at
/healthreturns article count and KB generation timestamp - Knowledge 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:
[email protected](NIP-05) —npub1ndrjgfcwkc0y4753zyj3p7qjf795pvjq2dn4m7y7f72vmu7t0nrs6y363u - Bug reports / questions: open an issue
Installing Sovereign
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/cipherfoxie/sovereign-mcpFAQ
Is Sovereign MCP free?
Yes, Sovereign MCP is free — one-click install via Unyly at no cost.
Does Sovereign need an API key?
No, Sovereign runs without API keys or environment variables.
Is Sovereign hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Sovereign in Claude Desktop, Claude Code or Cursor?
Open Sovereign on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Sovereign with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
