fact
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
fact
Fact, not memory. Up-to-date library documentation for AI agents, over MCP.
Your AI guesses. fact makes it check.
How do I create a native window in mygo? use factfact fetches the current official documentation for the library you ask
about, at the version that exists right now, and returns the passages that
answer the question.
Why
An assistant answers library questions from what it read during training. That is months old, and it shows:
APIs that were renamed or removed
Examples written for a version you are not using
Methods that never existed
A central documentation index fixes some of this, but it lags too: it has to
crawl, and it is always behind the release. fact has no index. It reads the
library's own documentation API at the moment you ask.
Related MCP server: RTFD (Read The F*****g Docs)
Install
npm install -g @sankpia/fact-mcpRequires Node.js 20 or newer. Nothing else — the server is a single file with no runtime dependencies.
Connect
Add to your MCP client's configuration:
{
"mcpServers": {
"fact": {
"type": "stdio",
"command": "fact-mcp",
"args": []
}
}
}That is the whole setup. It works with Factory, Claude Code, Cursor, VS Code and any other MCP host.
Claude Code
claude mcp add fact fact-mcpCursor / VS Code
Use the JSON above in the client's MCP settings file.
Tools
search
Ask a question about a library. Returns the passages that answer it.
Argument | Purpose |
| What you need, in words or API names. |
| Library name, module path, or |
| Pin a version. Default: latest. |
| Narrow to one area or symbol. |
| Response budget. Default 6000. |
Leave query out and pass only library to get a version list and package
overview instead of documentation.
get
Fetch one page or one declaration at full fidelity. Use it once search has
told you what to look at.
Argument | Purpose |
| Library name or module path. |
| Declaration name, e.g. |
| Package path, e.g. |
| Pin a version. |
| Response budget. Default 8000. |
How names resolve
You can name a library the way you would say it:
You write | Resolved as |
| searched by GitHub stars, then verified as a module |
| used directly, no search |
| tried as |
| the standard library |
When two libraries share a name and neither clearly wins, fact returns the
candidates with star counts instead of picking one. Ask again with the module
path to disambiguate.
Optional: run a proxy
Direct mode is fine when your network reaches pkg.go.dev quickly. On a slow or
lossy route, one query means several round trips and the delay adds up.
A fact-proxy sits next to pkg.go.dev, performs every upstream fetch itself,
and returns the material in one response. Set two variables and the client uses
it:
export FACT_PROXY_URL=https://your-proxy.example.com
export FACT_PROXY_TOKEN=your-tokenTo run one, see server/ and scripts/setup-server.sh. The proxy is
stateless: no cache, no database, no files.
Configuration
Variable | Default | Meaning |
| unset | Proxy endpoint. Unset means direct mode. |
| unset | Bearer token for the proxy. |
| unset | Raises GitHub search from 10 to 30 per minute. |
|
| In-process cache TTL. |
|
| Max cached entries. |
|
| Per-attempt timeout in proxy mode. |
|
| Retries for a flaky route. |
A GITHUB_TOKEN is optional and only affects bare-name lookups. A fine-grained
token with no permissions at all is enough, because repository search on public
repositories requires none.
Design notes
No index, nothing on disk. Answers come from the source at request time. The only cache is in process memory, expires after five minutes, and dies with the process.
One tool call, not three. Resolving a library is part of search, not a
separate step you have to chain.
Markdown, not HTML. pkg.go.dev returns Markdown directly, so the response is what an agent reads best.
Failures are explicit. A miss, an ambiguous name and a rate limit each produce a different message with a next step. None of them is silently answered from stale data.
Development
bun install
bun run typecheck
bun run test-matrix # 31 cases, every tool argument
bun run inspect # MCP InspectorSee CONTRIBUTING.md for the full workflow.
License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Versioned documentation registry and semantic search for AI tools and coding assistants.
Docsy gives AI assistants current, version-specific documentation for libraries, frameworks and SDKs. Resolve library IDs and versions, then search and fetch focused official documentation with original source links using five read-only MCP tools. Hosted Streamable HTTP with OAuth 2.1 sign-in.
@latest documentation and code examples to 9000+ libraries for LLMs and AI code editors in a singl…
One place for every AI agent's pages and docs: versioned links to share, search and update.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides up-to-date, version-specific documentation and code examples for software libraries directly to LLMs, enabling resolution of library identifiers and retrieval of relevant documentation with code snippets.MIT
- AlicenseAqualityDmaintenanceProvides LLMs with real-time access to up-to-date documentation from PyPI, npm, crates.io, GoDocs, DockerHub, GitHub, and GCP, preventing outdated code generation and API hallucinations.2714MIT
- FlicenseAqualityDmaintenanceProvides Large Language Models with real-time access to the latest documentation for Python libraries like Langchain, LlamaIndex, and OpenAI, enabling accurate and up-to-date code suggestions.1-
- AlicenseNot gradedqualityCmaintenanceProvides up-to-date documentation for AI agents by locally querying a community-driven registry of pre-built docs packages.Apache 2.0