多语言包文档提取器
获取并提取来自多种编程语言生态系统(JavaScript、Python、Java 等)的综合包文档,供类似 Claude 的大型语言模型使用,且无需 API 密钥。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"docsFetcher": {
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@cdugo/mcp-get-docs",
"--config",
"'{}'"
],
"command": "npx"
}
}
}
该服务需要配置环境变量:PORT
可用工具 (4 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
fetch-url-docs 1 个参数 需填 1 项
必填参数:url
fetch-package-docs 2 个参数 需填 1 项
必填参数:packageName
fetch-library-docs 2 个参数 需填 1 项
必填参数:library
fetch-multilingual-docs 2 个参数 需填 2 项
必填参数:packageName、languages
服务介绍
📚 DocsFetcher MCP Server
一个不需要 API 密钥即可为像 Claude 这样的大语言模型从多种编程语言生态系统中获取包文档的 MCP 服务器。
✨ 特性
- 🌐 支持多种编程语言(JavaScript、Python、Java、.NET、Ruby、PHP、Rust、Go、Swift)
- 📦 通过名称或 URL 获取包文档
- 🔍 爬取文档站点以提取全面信息
- 📄 提取 README、API 文档、代码示例和仓库信息
- 🧠 为大语言模型摘要提供结构化数据
- 💬 包含专门用于文档分析的提示
- 🔑 无需 API 密钥 - 可与 Claude 桌面版和 Cursor IDE 本地配合使用
🚀 安装
Claude 桌面版
- 打开 Claude 桌面版 → 设置 → 开发者
- 点击“编辑配置”并添加:
{
"mcpServers": {
"docsFetcher": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@cdugo/mcp-get-docs",
"--config",
"'{}'"
]
}
}
}
Cursor IDE 配置
- 打开 Cursor IDE → 设置 → MCP -> 添加新的 MCP 服务器
- 添加:
Name: docsFetcher
Command: npx -y @smithery/cli@latest run @cdugo/mcp-get-docs --config "{}"
先决条件
- 📋 Node.js 18 或更高版本
🏃♂️ 本地运行
git clone https://github.com/cdugo/package-documentation-mcp
cd package-documentation-mcp
npm install
npm run build
安装完成后,您可以使用以下命令在本地运行服务器:
# From the project root directory
npm start
对于文件更改时自动重启的开发环境:
npm run dev
服务器将在默认端口(通常是 3000)上启动。您应该会看到类似以下输出:
🚀 DocsFetcher MCP Server running!
📋 Ready to fetch documentation
要指定自定义端口:
PORT=8080 npm start
🛠️ 可用工具
- fetch-url-docs: 🔗 从特定 URL 获取文档
- fetch-package-docs: 📦 为某个包获取文档,可选语言指定
- fetch-library-docs: 🧠 智能工具,支持包名或 URL
- fetch-multilingual-docs: 🌍 跨多个语言生态系统为某个包获取文档
📝 可用提示
- summarize-library-docs: 📚 创建综合库摘要
- explain-dependency-error: 🐛 生成依赖错误解释
💡 示例查询
基本库信息
- "Express.js 是什么以及如何使用它?"
- "告诉我关于 React 库的信息"
- "如何在 Python 中使用 requests?"
多语言支持
- "显示 JavaScript 的 lodash 文档"
- "比较 Python 的 pandas 和 R 的 data.table"
使用工具
- "@fetch-package-docs with packageName='express' and language='javascript'"
- "@fetch-package-docs with packageName='requests' and language='python'"
- "@fetch-multilingual-docs with packageName='http' and languages=['javascript', 'python', 'rust']"
使用提示
- "@summarize-library-docs with libraryName='express'"
- "@explain-dependency-error with packageName='dotenv'"
❓ 故障排除
本地安装
- 服务器未显示: ✅ 验证配置中的绝对路径
- 连接错误: 🔄 重启 Claude Desktop 或 Cursor IDE
- 获取失败: ⚠️ 某些软件包可能有非标准文档
- 语言支持: 🌐 如果某种语言无法工作,尝试使用该软件包的直接 URL
📄 许可证
MIT