Skip to main content
Glama

Sovereign AI MCP

CI License: MIT Content: CC BY-SA 4.0 MCP Registry 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.

Related MCP server: mcp-astgl-knowledge

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 with Host: mcp.sovgrid.org (or localhost for healthchecks)

  • Health endpoint at /health returns 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

Contact

  • Blog: sovgrid.org

  • Nostr: cipherfox@sovgrid.org (NIP-05) — npub1ndrjgfcwkc0y4753zyj3p7qjf795pvjq2dn4m7y7f72vmu7t0nrs6y363u

  • Bug reports / questions: open an issue

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    MCP 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.
    3
    173
    MIT

View all related MCP servers

Related MCP Connectors

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

  • Pocket Agent (aipocketagent.com) MCP server — read tools for personas, apps, and product info.

  • MCP server for AI dialogue using various LLM models via AceDataCloud

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cipherfoxie/sovereign-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server