npm-search MCP Server 使用说明
项目简介
npm-search-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供 npm 包搜索功能。通过此服务器,LLM 客户端可以调用预设的工具,查询 npm 仓库中的软件包信息,从而增强 LLM 在软件开发领域的知识和应用能力。
主要功能点
- npm 包搜索: 提供 'search_npm_packages' 工具,允许 LLM 根据关键词搜索 npm 仓库,并返回匹配的软件包列表及其基本信息(如名称、描述、版本、作者、许可证等)。
安装步骤
推荐使用 NPM 安装:
- 确保已安装 Node.js 和 npm。
- 打开终端,运行以下命令全局安装 'npm-search-mcp-server':
npm install -g npm-search-mcp-server
使用 uv (可选):
如果使用 'uv' 包管理器,则无需安装,可以直接运行。
服务器配置
要将 npm-search-mcp-server 集成到支持 MCP 的 LLM 客户端(如 Claude、Zed),您需要配置客户端以连接到此 MCP 服务器。以下是针对不同客户端的配置示例。
Claude.app 配置:
在 Claude 的设置中,找到 MCP 服务器配置部分,并添加以下配置。
<details> <summary>使用 npm 安装 (点击展开)</summary></details> <details> <summary>使用 uvx (点击展开)</summary>{ "mcpServers": { "npm-search": { "command": "npx", "args": ["-y", "npm-search-mcp-server"] } } }
</details>{ "mcpServers": { "npm-search": { "command": "uvx", "args": ["npm-search-mcp-server"] } } }
Zed 配置:
在 Zed 的 'settings.json' 文件中,找到或创建 'context_servers' 部分,并添加以下配置。
<details> <summary>使用 npm 安装 (点击展开)</summary></details> <details> <summary>使用 uvx (点击展开)</summary>{ "context_servers": { "npm-search-mcp-server": { "command": "npx", "args": ["-y", "npm-search-mcp-server"] } } },
</details>{ "context_servers": [ "npm-search-mcp-server": { "command": "uvx", "args": ["npm-search-mcp-server"] } ] }
配置参数说明:
- '"npm-search"' / '"npm-search-mcp-server"': 服务器名称,在客户端配置中用于标识和引用此 MCP 服务器。
- '"command"': 启动 MCP 服务器的命令。
- '"npx"': 使用 npm 包执行器 'npx' 运行全局安装的 'npm-search-mcp-server'。
- '"uvx"': 使用 'uvx' 直接运行 'npm-search-mcp-server' (假设已安装 uv)。
- '"args"': 传递给启动命令的参数。
- '["-y", "npm-search-mcp-server"]': 'npx' 的参数,'-y' 表示自动确认安装,'npm-search-mcp-server' 是要执行的包名。
- '["npm-search-mcp-server"]': 'uvx' 的参数,直接指定要运行的包名。
基本使用方法
配置完成后,在 LLM 客户端中,您可以通过自然语言指令来触发 npm 包搜索。例如,在 Claude 中,您可以提问:
- "Search for express package on npm"
- "Find packages related to react"
- "Show me npm packages for web development"
LLM 客户端会将这些指令转换为对 'search_npm_packages' 工具的调用,并将搜索结果返回给您。
工具调用示例 (JSON 格式):
LLM 客户端可能会发送如下 JSON-RPC 请求来调用 'search_npm_packages' 工具:
{ "name": "search_npm_packages", "arguments": { "query": "express" } }
服务器会返回包含搜索结果的 JSON 响应。
{ "results": [ { "name": "express", "description": "Fast, unopinionated, minimalist web framework", "version": "4.17.1", "author": "TJ Holowaychuk", "license": "MIT" }, ... ] }
请注意,实际返回的结果会根据 npm 仓库的搜索结果而变化。
信息
分类
开发者工具