Skip to main content
Glama

npm-mcp

npm-mcp 是一个小型的、只读的 Model Context Protocol 服务器,用于公共 npm 注册表。它让兼容 MCP 的 AI 客户端能够发现 npm 包并检查重点包元数据,而不会暴露安装、发布、登录、shell、文件系统或任意抓取(fetch)能力。

通过 Docker 启动

请参阅 Docker 快速入门,从全新的检出(checkout)启动服务器和 MCP Inspector。基本命令如下:

docker compose --profile inspector up --build -d

若要在不本地运行模型的情况下测试模型驱动的 MCP 工具使用,请使用 LibreChat 与 OpenRouter 的免费模型路由器:

docker compose -f compose.yaml -f compose.openrouter.yaml --profile openrouter up --build -d

然后打开 http://127.0.0.1:3080。即使是免费模型也需要 OpenRouter API 密钥。有关设置和使用,请参阅 OPENROUTER_QUICKSTART.md本地 Ollama 配置文件 仍可作为可选的完全本地替代方案。

Related MCP server: npm-mcp

工具

Tool

适用场景

输入

npm_search_packages

当确切包名未知或需要备选方案时

query、可选 limit(默认 10,最大 50)

npm_get_package

当确切包名已知且需要元数据或依赖项时

packageName

npm_get_latest_version

当只需要当前的 latest dist-tag 时

packageName

npm_get_versions

当需要已发布版本和所有 dist-tag 时

packageName

所有工具均以 JSON 文本形式返回,以实现广泛的客户端兼容性,并将相同值作为 MCP 结构化内容公开。包响应经过刻意过滤,而不是返回注册表的完整元数据文档。

要求与安装

  • Node.js 20 或更高版本(用于原生 fetchAbortSignal.timeout

  • npm

git clone <repository-url>
cd npm-mcp
npm install

本地运行

npm start

该进程在 stdin 上等待 MCP 消息,并将协议响应写入 stdout。请勿在其中进行交互式输入;应由 MCP 客户端启动它。开发监听模式可通过 npm run dev 使用。

部署

对于本地客户端,请使用 stdio 入口点。对于 Docker 和云部署,请使用位于 /mcp 的无状态 Streamable HTTP 入口点;它默认需要 bearer token,并公开 /healthz 用于健康检查。有关 Docker Compose 以及 Google Cloud Run、Azure Container Apps、AWS App Runner/ECS Fargate 和 Kubernetes 的部署说明,请参阅 Docker 和云部署指南

Compose 文件还包含官方 MCP Inspector 作为可选客户端。运行 docker compose --profile inspector up --build -d,然后打开 http://127.0.0.1:6274。有关 token 设置和 CLI 用法,请参阅 在 Docker 中运行 MCP 客户端

测试

npm test

测试使用 Node 内置的测试运行器和模拟的 fetch 响应,因此不需要实时的 npm 注册表。

要与 MCP Inspector 交互式地检查服务器:

npx @modelcontextprotocol/inspector node src/index.js

打开 Inspector 打印的 URL,连接,选择 Tools,选择工具,输入其参数,然后运行它。

MCP 客户端配置

使用绝对路径,以便客户端可以从任何工作目录启动服务器:

{
  "mcpServers": {
    "npm": {
      "command": "node",
      "args": ["/absolute/path/to/npm-mcp/src/index.js"]
    }
  }
}

确切的外部配置键可能因 MCP 客户端而异,但命令和参数是相同的。

示例调用

{"name":"npm_search_packages","arguments":{"query":"postgres orm","limit":10}}
{"name":"npm_get_package","arguments":{"packageName":"@nestjs/core"}}
{"name":"npm_get_latest_version","arguments":{"packageName":"react"}}
{"name":"npm_get_versions","arguments":{"packageName":"axios"}}

架构

  • src/index.js 仅负责 stdio 启动。

  • src/http.jssrc/http-server.js 提供容器使用的经过身份验证的 Streamable HTTP 入口点。

  • src/server.js 创建 MCP 服务器并注册这四个工具。

  • src/tools/ 包含模式、聚焦的响应整形和处理程序。

  • src/services/npm-registry.js 是唯一与 npm 通信的模块。它验证包名,将 URL 限制为官方注册表端点,应用超时,并规范化网络/HTTP/响应错误。

作用域名称被编码为单个注册表路径段。该服务器是无状态的,并且不执行任何写入操作。

未来改进

未来可能添加的内容包括下载统计、依赖分析、包安全信息、缓存以及基于 OAuth 的远程身份验证。

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    An MCP server for searching, inspecting, and evaluating NPM packages through health scoring and license risk assessments. It provides comprehensive package analysis including maintenance status, popularity trends, and security vulnerability reports to help users make informed dependency decisions.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server providing npm registry search, package details, dependency auditing, bundle size estimation, and package comparison tools for AI agents.
    5
    46
    MIT

View all related MCP servers

Related MCP Connectors

  • Provide AI-powered real-time analysis and intelligence on NPM packages, including security, depend…

  • npm, PyPI & crates.io intel for AI agents: versions, popularity, deps, health. No API keys.

  • MCP server for hex.pm and hexdocs.pm: search, inspect, compare, and audit Elixir packages

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rajeshn95/npm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server