   
*一个快速的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.mainHTTP传输
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______________________________________________________________________
许可证
麻省理工学院——见 许可证 了解详情。
