ballast MCP server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ballast MCP serverWhere was Douglas Adams born?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ballast
Pull a quantized knowledge corpus, or build one from your own documents, and ground any local model. Works with Ollama and every OpenAI-compatible or MCP-capable client. Includes model profiling and a three-arm grounding benchmark, all CPU-only.
uvx openballast pull --level 3
uvx openballast serve(Live on PyPI: pip install openballast also works.)
Ollama users: point your client's base URL at
http://localhost:11435/v1instead ofhttp://localhost:11434/v1. Done. Every chat request is grounded with corpus facts before your model sees it. No tool calling needed, works with any model size.MCP users (Claude Desktop, LM Studio, Cline, Goose): add to your MCP config:
{ "ballast": { "command": "uvx", "args": ["openballast", "mcp"] } }Smoke test:
uvx openballast lookup "Where was Douglas Adams born?"
What you're downloading
Ballast T0: 25.4M entities and 197M facts from Wikidata (CC0), quantized into nested levels. Pick your knowledge size like you pick a GGUF quant:
level | download | on disk | contains |
L0 | 52 MB | 0.2 GB | top 0.5% most notable entities |
L1 | 92 MB | 0.35 GB | top 1% |
L2 | 159 MB | 0.6 GB | top 2% |
L3 | 265 MB | 1.0 GB | top 4% |
L4 | 427 MB | 1.6 GB | top 8% |
L5 | 691 MB | 2.6 GB | top 16% |
L6 | 1.1 GB | 4.2 GB | top 32% |
L7 | 2.2 GB | 9.2 GB | everything |
Levels are nested: pull --level 5 after pull --level 3 downloads only the
new buckets. Everything runs offline after the pull: no network at answer time.
Measured effect (details: thesis): a 2B model + ~180 MB of ballast exceeds a 12B model's factual accuracy; hallucination on factual probes drops ~3×.
Related MCP server: Open Research KB
Commands
ballast pull --level 3 # download / upgrade the corpus
ballast build ./docs -n team # build a corpus from YOUR documents (see below)
ballast serve # OpenAI grounding proxy :11435 + MCP http :11436
ballast mcp # MCP on stdio (for client configs)
ballast lookup "question" # print the evidence blocks for a question
ballast profile -m qwen3:8b # where does this model's knowledge run out?
ballast eval -m qwen3:8b # three-arm benchmark: what does grounding buy?
ballast status # installed corpora, levels, and sizesBALLAST_HOME overrides the storage location (default ~/.ballast).
Bring your own corpus
ballast build turns a directory of .md / .txt files (and/or parquet with
a text column, optional title and rank) into a servable corpus with the
same layout as the published one:
ballast build ./handbook --name handbook
ballast lookup --corpus handbook "What is our deploy freeze policy?"
ballast serve --corpus handbookDocuments are addressed by title; each becomes passage chunks the linker can
attach to a question. A rank column (0..1, 1 = most important) spreads
documents across nested levels so --level keeps the top slice; without ranks
everything lands in one level.
Profile a model, then size the corpus for it
ballast profile -m qwen3:8b --limit 2000 --budget 2GBProbes the model ungrounded against the public evalset, reports its accuracy
per corpus region (head → tail), fits a grounding competence profile
(.gcp.json), and (given a byte budget) recommends the corpus level where
grounding still buys accuracy for THIS model. The profile carries a
reliability AUC against a 0.58 gate; below the gate the recommendation falls
back to the generic ordering.
Measure what grounding actually delivers
ballast eval -m qwen3:8b --limit 500Every probe is asked three ways: ungrounded (U), with realized retrieval (R), and with oracle-entity evidence (S). The report is the delivery ratio (R − U) / (S − U), the fraction of the reachable knowledge gap today's retrieval closes, plus coverage-conditional splits. Arms checkpoint to parquet and resume after interruption.
How it works
serve intercepts POST /v1/chat/completions, mines entity mentions from your
last message, resolves them against the local corpus (normalized label/alias
match), and prepends the matching facts as a system message. Everything else,
including streaming, passes through untouched. The MCP server exposes the same
three tools (resolve, evidence, lookup) as the hosted demo endpoint
(mcp.openballast.org).
Apache-2.0. Corpus data: CC0 (Wikidata contributors).
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceConnects local LLMs to external tools (calculator, knowledge base) via MCP protocol, enabling automatic tool detection and execution to enhance query responses.MIT
- AlicenseNot gradedqualityBmaintenanceA local-first MCP server for building and querying PDF knowledge bases. It indexes PDFs into DuckDB and exposes evidence-grounded retrieval tools to separate corpus-backed answers from independent reasoning.252MIT
- AlicenseAqualityBmaintenanceA zero-cost, fully local MCP server that grounds AI assistants in verified web text, reducing hallucinations by ~80% by forcing answers only from fetched sources.11MIT
- AlicenseAqualityCmaintenanceA local MCP server enabling hybrid search over documents, memory, and knowledge graphs for retrieval-augmented generation, with tools for SQLite, semantic memory, and entity-relationship queries.41MIT
Related MCP Connectors
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/OpenBallast/ballast-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server