mcpdoc
mcpdoc 是一款专为开发者设计的开源工具,旨在将 LLM 文档索引(llms.txt)高效集成到 Cursor、Windsurf 或 Claude Code 等智能开发环境中。它的核心作用是充当一个中间服务器,让 IDE 能够通过标准的模型上下文协议(MCP)精准获取项目所需的背景知识和详细文档链接。
过去,各类 AI 编程助手在读取 llms.txt 文件时往往依赖各自内置且不透明的机制,用户难以审计其具体调用了哪些文件或返回了何种上下文。mcpdoc 彻底解决了这一痛点,赋予开发者对文档检索过程的完全控制权。通过它,用户可以自定义文档源列表,并利用统一的 fetch_docs 工具按需抓取内容,确保每一次数据获取都清晰可见、安全可控。
该工具特别适合需要频繁查阅官方文档的全栈工程师、AI 应用开发者及技术研究人员。其独特的技术亮点在于实施了严格的域名访问控制策略:当指定远程文档源时,系统会自动锁定对应域名;若使用本地文件,则强制要求用户显式授权可访问的域名。这种设计有效防止了未经授权的跨域访问,在提升开发效率的同时,为代码上下文的安全性提供了坚实保障。
使用场景
一位后端工程师正在使用 Cursor 集成 LangGraph 构建复杂的智能体工作流,需要频繁查阅官方文档以确认节点状态和边定义的正确用法。
没有 mcpdoc 时
- 上下文获取不透明:IDE 内置的文档读取机制像“黑盒”,开发者无法知晓 AI 具体引用了哪些文档片段,难以判断回答是否基于最新资料。
- 跨库检索困难:同时涉及 LangGraph 和 LangChain 多个库时,手动切换网页查找或拼凑上下文效率极低,容易遗漏关键参数说明。
- 安全审计缺失:无法限制 AI 访问的域名范围,存在模型意外抓取不可信第三方站点内容导致代码建议偏差的风险。
- 调试成本高:当 AI 给出错误实现方案时,难以回溯其参考源,排查是文档版本问题还是模型理解偏差耗时费力。
使用 mcpdoc 后
- 过程完全可控:通过
fetch_docs工具明确调用链,开发者可在 MCP Inspector 中实时审计每一次文档获取请求及返回的具体上下文。 - 多源一键整合:启动时直接配置 LangGraph 与 LangChain 的
llms.txt索引,mcpdoc 自动将多库文档统一暴露给 IDE,AI 能跨库精准关联知识。 - 域访问严格隔离:利用
--allowed-domains参数仅授权官方域名,从根源阻断对非信任站点的访问,确保训练数据源的纯净与安全。 - 问题快速定位:遇到异常输出时,可直接查看工具日志中命中的文档段落,迅速验证是文档更新滞后还是提示词引导不足。
mcpdoc 通过将文档索引权交还开发者,实现了 AI 编程中上下文获取的透明化、安全化与高效化。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
MCP LLMS-TXT 文档服务器
概述
llms.txt 是一个针对大型语言模型的网站索引,提供背景信息、使用指南以及指向详细 Markdown 文件的链接。像 Cursor 和 Windsurf 这样的 IDE,或者 Claude Code/Desktop 这样的应用,都可以使用 llms.txt 来获取任务相关的上下文信息。然而,这些应用内部使用的工具来读取和处理 llms.txt 等文件的方式各不相同,检索过程往往不够透明,用户也难以审计工具调用及返回的上下文。
MCP 为开发者提供了一种方法,使他们能够对这些应用程序所使用的工具拥有完全控制权。在此基础上,我们创建了一个开源的 MCP 服务器,为 MCP 主机应用(例如 Cursor、Windsurf、Claude Code/Desktop)提供:(1) 用户自定义的 llms.txt 文件列表;以及 (2) 一个简单的 fetch_docs 工具,用于读取任何已提供的 llms.txt 文件中的 URL 内容。这样一来,用户不仅可以审计每一次工具调用,还能查看返回的上下文信息。
llms-txt
您可以在以下位置找到 LangGraph 和 LangChain 的 llms.txt 文件:
| 库 | llms.txt |
|---|---|
| LangGraph Python | https://langchain-ai.github.io/langgraph/llms.txt |
| LangGraph JS | https://langchain-ai.github.io/langgraphjs/llms.txt |
| LangChain Python | https://python.langchain.com/llms.txt |
| LangChain JS | https://js.langchain.com/llms.txt |
快速入门
安装 uv
- 请参阅 官方 uv 文档,了解其他安装
uv的方式。
curl -LsSf https://astral.sh/uv/install.sh | sh
选择要使用的 llms.txt 文件。
- 例如,这里是 LangGraph 的
llms.txt文件:https://langchain-ai.github.io/langgraph/llms.txt。
注意:安全与域名访问控制
出于安全考虑,mcpdoc 实施了严格的域名访问控制:
远程 llms.txt 文件:当您指定一个远程的 llms.txt URL(例如
https://langchain-ai.github.io/langgraph/llms.txt)时,mcpdoc 会自动将该特定域名(langchain-ai.github.io)加入允许访问的域名列表中。这意味着该工具只能从该域名下的 URL 获取文档内容。本地 llms.txt 文件:当使用本地文件时,系统不会自动将任何域名加入允许访问的列表。您必须通过
--allowed-domains参数显式指定允许访问的域名。添加额外域名:若需允许从未自动包含的域名获取内容:
- 使用
--allowed-domains domain1.com domain2.com添加特定域名- 使用
--allowed-domains '*'允许所有域名(请谨慎使用)此项安全措施可防止未经授权访问未经用户明确批准的域名,从而确保文档仅能从受信任的来源获取。
(可选)在本地使用您选择的 llms.txt 文件测试 MCP 服务器:
uvx --from mcpdoc mcpdoc \
--urls "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt" "LangChain:https://python.langchain.com/llms.txt" \
--transport sse \
--port 8082 \
--host localhost
- 服务器应运行在:http://localhost:8082

- 运行 MCP 检查器,并连接到正在运行的服务器:
npx @modelcontextprotocol/inspector

- 在这里,您可以测试工具调用。
连接到 Cursor
- 打开
Cursor 设置中的MCP选项卡。 - 这将打开
~/.cursor/mcp.json文件。

- 将以下内容粘贴到文件中(我们使用
langgraph-docs-mcp名称,并指向 LangGraph 的llms.txt):
{
"mcpServers": {
"langgraph-docs-mcp": {
"command": "uvx",
"args": [
"--from",
"mcpdoc",
"mcpdoc",
"--urls",
"LangGraph:https://langchain-ai.github.io/langgraph/llms.txt LangChain:https://python.langchain.com/llms.txt",
"--transport",
"stdio"
]
}
}
}
- 确认服务器已在
Cursor 设置/MCP选项卡中运行。 - 最佳实践是随后更新 Cursor 的全局(用户)规则。
- 打开 Cursor 的
设置/规则,并将用户规则更新为如下内容(或类似内容):
对于任何关于 LangGraph 的问题,使用 langgraph-docs-mcp 服务器来辅助解答——
+ 调用 list_doc_sources 工具以获取可用的 llms.txt 文件
+ 调用 fetch_docs 工具来阅读该文件
+ 反思 llms.txt 中的 URLs
+ 反思输入的问题
+ 对与问题相关的任何 URLs 调用 fetch_docs
+ 利用这些信息来回答问题
- 使用
CMD+L(在 Mac 上)打开聊天界面。 - 确保已选择
agent模式。

然后,尝试一个示例提示,例如:
LangGraph 中有哪些类型的记忆?

连接到 Windsurf
- 使用
CMD+L(在 Mac 上)打开 Cascade。 - 点击
配置 MCP以打开配置文件~/.codeium/windsurf/mcp_config.json。 - 按照上述说明更新为
langgraph-docs-mcp。

- 更新
Windsurf 规则/全球规则如下(或类似内容):
对于任何关于 LangGraph 的问题,使用 langgraph-docs-mcp 服务器来辅助解答——
+ 调用 list_doc_sources 工具以获取可用的 llms.txt 文件
+ 调用 fetch_docs 工具来阅读该文件
+ 反思 llms.txt 中的 URLs
+ 反思输入的问题
+ 对与问题相关的任何 URLs 调用 fetch_docs

然后,尝试使用示例提示:
- 系统将执行您的工具调用。

连接到 Claude Desktop
- 打开
Settings/Developer来更新~/Library/Application\ Support/Claude/claude_desktop_config.json。 - 按照上述说明,使用
langgraph-docs-mcp进行更新。 - 重启 Claude Desktop 应用程序。
[!注意] 如果在尝试将 MCPDoc 工具添加到 Claude Desktop 时遇到 Python 版本不兼容的问题,可以在
uvx命令中显式指定python可执行文件的路径。示例配置
{ "mcpServers": { "langgraph-docs-mcp": { "command": "uvx", "args": [ "--python", "/path/to/python", "--from", "mcpdoc", "mcpdoc", "--urls", "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt", "--transport", "stdio" ] } } }
[!注意] 目前(2025年3月21日)似乎 Claude Desktop 不支持全局规则的
rules,因此请在您的提示词末尾添加以下内容。
<rules>
对于任何关于 LangGraph 的问题,请使用 langgraph-docs-mcp 服务器来帮助解答——
+ 调用 list_doc_sources 工具获取可用的 llms.txt 文件
+ 调用 fetch_docs 工具读取该文件
+ 思考 llms.txt 中的 URL
+ 思考输入的问题
+ 对与问题相关的任何 URL 调用 fetch_docs
</rules>

- 您会看到工具出现在聊天输入框的右下角。

然后,尝试以下示例提示:
- 在处理您的请求时,它会要求您批准工具调用。

连接到 Claude Code
- 在安装了 Claude Code 后,在终端中运行以下命令,将 MCP 服务器添加到您的项目中:
claude mcp add-json langgraph-docs '{"type":"stdio","command":"uvx" ,"args":["--from", "mcpdoc", "mcpdoc", "--urls", "langgraph:https://langchain-ai.github.io/langgraph/llms.txt", "LangChain:https://python.langchain.com/llms.txt"]}' -s local
- 您会看到
~/.claude.json被更新。 - 通过启动 Claude Code 并运行以下命令来测试以查看您的工具:
$ Claude
$ /mcp

[!注意] 目前(2025年3月21日)似乎 Claude Code 不支持全局规则的
rules,因此请在您的提示词末尾添加以下内容。
<rules>
对于任何关于 LangGraph 的问题,请使用 langgraph-docs-mcp 服务器来帮助解答——
+ 调用 list_doc_sources 工具获取可用的 llms.txt 文件
+ 调用 fetch_docs 工具读取该文件
+ 思考 llms.txt 中的 URL
+ 思考输入的问题
+ 对与问题相关的任何 URL 调用 fetch_docs
</rules>
然后,尝试以下示例提示:
- 它会要求您批准工具调用。

命令行界面
mcpdoc 命令提供了一个简单的 CLI,用于启动文档服务器。
您可以采用三种方式指定文档源,并且这些方式可以组合使用:
- 使用 YAML 配置文件:
- 这将从本仓库中的
sample_config.yaml文件加载 LangGraph 的 Python 文档。
mcpdoc --yaml sample_config.yaml
- 使用 JSON 配置文件:
- 这将从本仓库中的
sample_config.json文件加载 LangGraph 的 Python 文档。
mcpdoc --json sample_config.json
- 直接指定 llms.txt 的 URL,可选地附带名称:
- URL 可以直接指定为纯 URL,也可以使用
名称:URL的格式指定带有名称的 URL。 - 您可以通过多次使用
--urls参数来指定多个 URL。 - 这就是我们在上面为 MCP 服务器加载
llms.txt的方式。
mcpdoc --urls LangGraph:https://langchain-ai.github.io/langgraph/llms.txt --urls LangChain:https://python.langchain.com/llms.txt
您还可以结合这些方法来合并文档来源:
mcpdoc --yaml sample_config.yaml --json sample_config.json --urls LangGraph:https://langchain-ai.github.io/langgraph/llms.txt --urls LangChain:https://python.langchain.com/llms.txt
其他选项
--follow-redirects: 跟随 HTTP 重定向(默认为 False)--timeout SECONDS: HTTP 请求超时时间,单位为秒(默认为 10.0)
带有附加选项的示例:
mcpdoc --yaml sample_config.yaml --follow-redirects --timeout 15
这将以 15 秒的超时时间加载 LangGraph 的 Python 文档,并在必要时跟随任何 HTTP 重定向。
配置格式
YAML 和 JSON 配置文件都应包含一个文档来源列表。
每个来源必须包含一个 llms_txt URL,也可以选择性地包含一个 name:
YAML 配置示例(sample_config.yaml)
# mcp-mcpdoc 服务器的示例配置
# 每个条目必须包含一个 llms_txt URL,可选地附带名称
- name: LangGraph Python
llms_txt: https://langchain-ai.github.io/langgraph/llms.txt
JSON 配置示例(sample_config.json)
[
{
"name": "LangGraph Python",
"llms_txt": "https://langchain-ai.github.io/langgraph/llms.txt"
}
]
程序化使用
from mcpdoc.main import create_server
# 创建一个包含文档来源的服务器
server = create_server(
[
{
"name": "LangGraph Python",
"llms_txt": "https://langchain-ai.github.io/langgraph/llms.txt",
},
# 您可以添加多个文档来源
# {
# "name": "另一个文档",
# "llms_txt": "https://example.com/llms.txt",
# },
],
follow_redirects=True,
timeout=15.0,
)
# 运行服务器
server.run(transport="stdio")
版本历史
mcpdoc==0.0.102025/07/22mcpdoc==0.0.92025/07/07mcpdoc==0.0.82025/03/31mcpdoc==0.0.72025/03/27mcpdoc==0.0.62025/03/24mcpdoc==0.0.52025/03/21mcpdoc==0.0.42025/03/18mcpdoc==0.0.32025/03/18mcpdoc==0.0.22025/03/18mcpdoc==0.0.12025/03/18常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
n8n
n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。
AutoGPT
AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台,核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点,让用户只需设定目标,AI 即可自主规划步骤、调用工具并持续运行直至完成任务。 无论是开发者、研究人员,还是希望提升工作效率的普通用户,都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体;研究人员能基于开源架构探索多智能体协作机制;而非技术背景用户也可直接选用预置的智能体模板,立即投入实际工作场景。 AutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑,每个块负责单一动作,灵活且易于调试。同时,平台支持本地自托管与云端部署两种模式,兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本,即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛,让人人都能成为 AI 的创造者与受益者。
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信