项目简介
document-finder 是一个 Model Context Protocol (MCP) 服务器,旨在为大型语言模型 (LLM) 提供访问 npm 和 PyPI 软件包文档的功能。通过此服务器,LLM 可以轻松获取软件包的描述、安装指南、主页、仓库链接、关键词以及完整的文档内容,从而更好地理解和使用各种软件包。
主要功能点
- npm 软件包文档查询: 支持查询 npm 仓库中软件包的详细文档和信息。
- PyPI 软件包文档查询: 支持查询 PyPI 仓库中 Python 软件包的详细文档和信息。
- 格式化输出: 返回结构化的软件包信息,包括软件包名称、版本、描述、安装说明、主页、仓库链接、关键词和完整文档/README 内容,方便 LLM 理解和使用。
安装步骤
-
克隆或创建服务器目录: 打开终端,进入您的 MCP 服务器目录,使用 'npx @modelcontextprotocol/create-server' 命令创建 'package-docs-server' 目录,或者手动克隆仓库到该目录。
cd /path/to/mcp/servers npx @modelcontextprotocol/create-server package-docs-server -
安装依赖: 进入 'package-docs-server' 目录,并使用 npm 安装项目依赖。
cd package-docs-server npm install -
构建服务器: 运行 npm 构建命令,编译 TypeScript 代码。
npm run build
服务器配置
要使 Claude Desktop 或其他 MCP 客户端能够连接到此服务器,您需要编辑客户端的配置文件。以 Claude Desktop 为例,您需要修改 'claude_desktop_config.json' 文件,该文件通常位于:
- macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
在 'mcpServers' 字段下添加 'package-docs' 服务器的配置信息。配置信息是一个 JSON 对象,包含以下字段:
{ "mcpServers": { "package-docs": { "command": "node", "args": [ "/path/to/package-docs-server/build/index.js" ] } } }
配置参数说明:
- 'server name': 'package-docs' (服务器名称,在客户端调用工具时使用)
- 'command': 'node' (启动服务器的命令,通常为 node)
- 'args': '["/path/to/package-docs-server/build/index.js"]' (启动命令的参数,指向服务器入口文件)
请注意: '/path/to/package-docs-server' 需要替换为您实际的服务器目录路径。
基本使用方法
配置完成后,您可以在支持 MCP 协议的 LLM 客户端中使用以下工具:
-
get_npm_docs: 查询 npm 软件包文档。
- 参数:
- 'package_name' (string, 必需): npm 软件包名称。
- 使用示例:
<use_mcp_tool> <server_name>package-docs</server_name> <tool_name>get_npm_docs</tool_name> <arguments> { "package_name": "react" } </arguments> </use_mcp_tool>
- 参数:
-
get_pypi_docs: 查询 PyPI 软件包文档。
- 参数:
- 'package_name' (string, 必需): PyPI 软件包名称。
- 使用示例:
<use_mcp_tool> <server_name>package-docs</server_name> <tool_name>get_pypi_docs</tool_name> <arguments> { "package_name": "requests" } </arguments> </use_mcp_tool>
- 参数:
在 LLM 客户端中,使用 '<use_mcp_tool>' 标签并指定 'server_name' 为 'package-docs','tool_name' 为 'get_npm_docs' 或 'get_pypi_docs',并在 '<arguments>' 中提供 'package_name' 参数即可调用相应的工具,获取软件包文档信息。
信息
分类
开发者工具