Package Documentation MCP Server
一个MCP服务器,为多种编程语言提供高效的包文档访问。
简介
MCP 包文档服务器为多种编程语言(Go、Python、JavaScript/TypeScript、Rust)提供高效的包文档访问,并支持语言服务器协议(LSP)功能。
安装
npx -y mcp-package-docs
通过 Smithery 安装 (Claude Desktop):
npx -y @smithery/cli install mcp-package-docs --client claude
配置
添加到你的 MCP 设置配置中:
{
"mcpServers": {
"package-docs": {
"command": "npx",
"args": ["-y", "mcp-package-docs"],
"env": {
"ENABLE_LSP": "true" // 可选:启用语言服务器协议支持
}
}
}
}
核心功能
文档查询工具
-
Go 包文档
{ "name": "describe_go_package", "arguments": { "package": "encoding/json", "symbol": "Marshal" } }
-
Python 包文档
{ "name": "describe_python_package", "arguments": { "package": "requests", "symbol": "get" } }
-
NPM 包文档 (支持私有注册表)
{ "name": "describe_npm_package", "arguments": { "package": "axios", "version": "1.6.0" } }
-
Rust 箱文档
{ "name": "describe_rust_package", "arguments": { "package": "serde", "version": "1.0.219" } }
-
文档搜索
{ "name": "search_package_docs", "arguments": { "package": "requests", "query": "authentication", "language": "python", "fuzzy": true } }
LSP 功能 (当 ENABLE_LSP=true)
- 悬停文档
- 代码补全
- 代码诊断
在 LLM 中使用示例
// 查找 Python 文档
const pythonDocResult = await use_mcp_tool({
server_name: "package-docs",
tool_name: "describe_python_package",
arguments: {
package: "requests",
symbol: "post"
}
});
// 在文档中搜索
const searchResult = await use_mcp_tool({
server_name: "package-docs",
tool_name: "search_package_docs",
arguments: {
package: "serde",
query: "serialize",
language: "rust"
}
});
特性概览
- 多语言支持: Go, Python, JavaScript/TypeScript, Rust
- 智能文档解析: 结构化输出,包含描述、用法和示例
- 高级搜索功能: 模糊匹配和上下文感知结果
- 语言服务器支持: TypeScript/JavaScript, HTML, CSS, JSON
- 性能优化: 内置缓存,高效解析