使用说明
一个快速的MCP服务器,可以按需查找和获取任何包的文档。
概述
MCP文档服务器 是一个 模型上下文协议 服务器,使AI助手能够实时访问最新文档。它公开了两个工具:
| 工具 | 说明 |
|---|---|
resolve_docs |
搜索DuckDuckGo+npm/PyPI以找到包的最佳文档URL |
scrape_page |
获取URL并将其内容作为干净的标记返回 |
从任何问题中为它提供一个包名,并返回正确的文档——没有过时的快照,也没有产生幻觉的API。
运作原理
User question
│
▼
resolve_docs(package_name, keywords?, version?)
│ DuckDuckGo search + npm / PyPI registry lookup
▼
List of ranked documentation URLs
│
▼
scrape_page(url)
│ Crawl4AI headless browser → clean markdown
▼
Documentation content returned to the AI
安装
需要 Python 3.12+ 和 紫外线.
# Clone the repository
git clone https://github.com/your-username/mcp-docs-server.git
cd mcp-docs-server
# Install dependencies
uv sync
首次使用后,运行Crawl4AI安装后安装程序(下载浏览器二进制文件):
uv run crawl4ai-setup
用法
stdio(默认设置——适用于Claude Desktop等AI客户端)
uv run python -m mcp_docs_server.main
HTTP传输
MCP_TRANSPORT=http MCP_PORT=8000 uv run python -m mcp_docs_server.main
Claude桌面配置
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"docs-server": {
"command": "uv",
"args": [
"--directory", "/absolute/path/to/mcp-docs-server",
"run", "python", "-m", "mcp_docs_server.main"
]
}
}
}
工具参考
resolve_docs
查找包的文档URL。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
package_name |
str |
✅ | 在npm或PyPI上的确切包名(例如。 "react", "fastapi") |
keywords |
list[str] |
❌ | 用户问题中的2-5个具体技术术语 |
version |
str |
❌ | 特定版本字符串(例如。 "18", "4.0") |
最多返回6个结果——按排名顺序排列的DuckDuckGo的前5个结果,如果还没有官方注册链接,还可以加上。
scrape_page
废弃文档页面并将其内容作为标记返回。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
url |
str |
✅ | 要获取的完整URL(通常来自 resolve_docs) |
返回一个字典 url 和 content (标记文本,上限为300000个字符)。
配置
从环境变量(或 .env 文件):
| 变量 | 默认值 | 描述 |
|---|---|---|
RESOLVER_TIMEOUT |
5 |
URL解析的HTTP超时(秒) |
HEURISTIC_TIMEOUT |
3 |
注册表启发式检查超时 |
SCRAPER_TIMEOUT_MS |
20000 |
无头浏览器的页面加载超时(毫秒) |
SCRAPER_MAX_CONTENT_CHARS |
300000 |
从抓取的页面返回的最大字符数 |
MCP_TRANSPORT |
stdio |
运输方式: stdio 或 http |
MCP_PORT |
8000 |
使用端口时 MCP_TRANSPORT=http |
项目结构
mcp-docs-server/
├── src/
│ ├── media/
│ │ ├── logo.png # Repository logo
│ │ └── logo_with_text.png # Logo with tool name
│ └── mcp_docs_server/
│ ├── main.py # FastMCP server & tool definitions
│ ├── config.py # Pydantic settings
│ └── pipeline/
│ ├── resolver.py # Stage 1 — URL resolution
│ └── scraper.py # Stage 2 — page scraping
├── pyproject.toml
└── README.md
许可证
麻省理工学院——见 许可证 了解详情。
