fabric-docs-mcp
MCP server that provides LLM coding agents with version-pinned Fabric modding documentation, including search, page reading, and a curated built-ins index to encourage idiomatic code.
README
fabric-docs-mcp
An MCP server that exposes version-pinned Fabric modding documentation to LLM coding agents. Its goal is to stop agents from writing non-idiomatic code by giving them the actual current Fabric docs, scoped to the exact Minecraft version you develop on.
- Search + read the official Fabric docs (prose tutorials, code includes resolved into the pages).
- Version-pinned: docs are indexed per Minecraft version, so an agent pinned
to
26.1.2won't pull26.1or1.21guidance. - Built-ins index: a curated per-category checklist of extension points and
idiomatic patterns, so the model checks for the existing path (e.g. vanilla's
Oxidizableinterface) before reinventing it.
No decompilation, no mappings, no obfuscated-source scraping. Surface level only.
License note: the docs come from FabricMC/fabric-docs, licensed CC BY-NC-SA 4.0 (NonCommercial). This tool reads them from a local clone at runtime and does not redistribute them. See NOTICE.
Requirements
Quick start
# 1. install/enter the project
cd fabric-docs-mcp
uv sync --extra dev
# 2. clone the docs and pick a Minecraft version (one-time)
uv run fabric-docs-mcp setup
# 3. run the server over stdio (or configure it in your MCP client)
uv run fabric-docs-mcp serve
setup is interactive: it asks where to clone the Fabric docs (default: under
your user config dir), clones it if needed, and asks which Minecraft version to
target. It writes a config file, so serve works with no flags afterwards.
Switching Minecraft versions
uv run fabric-docs-mcp switch --version 26.2
switch validates that the version exists in the docs clone, updates the config,
and reminds you to git pull in the docs repo to fetch the latest docs.
Config precedence
Settings resolve in this order (highest wins):
- CLI flags (
serve --repo-dir X --version Y) - Environment variables (
FABRIC_DOCS_DIR,FABRIC_DOCS_VERSION) - The config file written by
setup - Built-in defaults
The config file lives in your user config directory (e.g. ~/.config/fabric-docs-mcp/config.json
or %APPDATA%\fabric-docs-mcp\config.json) — never in the project, so the tool
doesn't assume a fixed repo layout and nothing machine-specific is committed.
Refreshing docs
cd /path/to/your/fabric-docs-clone && git pull
Then restart the server. New pages are picked up on next start.
Tools & resources
| Kind | Name | Purpose |
|---|---|---|
| Tool | search_docs |
BM25 search over the pinned version's docs, returns ranked hits with snippets |
| Tool | get_doc |
Full markdown of a page by slug |
| Tool | list_pages |
List pages, optional category filter |
| Tool | list_categories |
Doc categories with page counts |
| Tool | get_builtins |
Curated built-ins / idiom checklist (per category) |
| Tool | version_info |
Pinned version + versions available on disk |
| Resource | fabric-doc://{+slug} |
Full markdown of a doc page |
| Resource | fabric-doc://builtins |
Curated built-in extension points |
The version guard keeps every answer scoped to the pinned Minecraft version.
Wiring into an MCP client
Most clients use a mcpServers config with a command. With fabric-docs-mcp
installed (or run via uv), example:
{
"mcpServers": {
"fabric-docs": {
"command": "uv",
"args": ["run", "fabric-docs-mcp", "serve"],
"cwd": "<path-to-this-project>"
}
}
}
Development
uv sync --extra dev
uv run pytest -v # unit + integration tests
uv run --with mypy mypy src/fabric_docs_mcp/ # type check
The integration tests spawn the real server over stdio and talk JSON-RPC to it,
exactly like a real MCP client. They skip automatically if no Fabric docs clone
is found (set FABRIC_DOCS_DIR to point at one). In CI, the workflow clones the
docs so the integration tests actually run.
Keeping the built-ins index honest
src/fabric_docs_mcp/builtins.py is the anti-slop surface that needs the most
human care. When you notice an agent reinventing something a Fabric API hook or
vanilla interface already covers, add it there. Treat it as a living checklist,
not a fixed file.
License
The project code is MIT. The Fabric documentation content it reads is CC BY-NC-SA 4.0 (see NOTICE).
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。