npm-search MCP Server 使用说明

项目简介

npm-search-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供 npm 包搜索功能。通过此服务器,LLM 客户端可以调用预设的工具,查询 npm 仓库中的软件包信息,从而增强 LLM 在软件开发领域的知识和应用能力。

主要功能点

  • npm 包搜索: 提供 'search_npm_packages' 工具,允许 LLM 根据关键词搜索 npm 仓库,并返回匹配的软件包列表及其基本信息(如名称、描述、版本、作者、许可证等)。

安装步骤

推荐使用 NPM 安装:

  1. 确保已安装 Node.js 和 npm。
  2. 打开终端,运行以下命令全局安装 '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>
{
  "mcpServers": {
    "npm-search": {
      "command": "npx",
      "args": ["-y", "npm-search-mcp-server"]
    }
  }
}
</details> <details> <summary>使用 uvx (点击展开)</summary>
{
  "mcpServers": {
    "npm-search": {
      "command": "uvx",
      "args": ["npm-search-mcp-server"]
    }
  }
}
</details>

Zed 配置:

在 Zed 的 'settings.json' 文件中,找到或创建 'context_servers' 部分,并添加以下配置。

<details> <summary>使用 npm 安装 (点击展开)</summary>
{
  "context_servers": {
    "npm-search-mcp-server": {
      "command": "npx",
      "args": ["-y", "npm-search-mcp-server"]
    }
  }
},
</details> <details> <summary>使用 uvx (点击展开)</summary>
{
  "context_servers": [
    "npm-search-mcp-server": {
      "command": "uvx",
      "args": ["npm-search-mcp-server"]
    }
  ]
}
</details>

配置参数说明:

  • '"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 仓库的搜索结果而变化。

信息

分类

开发者工具