NPM Helper MCP

MIT License
367
1
  • Linux
  • Apple

Integrations

  • Supports Bun as a package manager option for dependency updating and package management operations

  • Supports Deno as a package manager option for dependency updating and package management operations

  • Offers example functionality for managing and updating Lodash dependencies in JavaScript projects

📦 NPM Helper - 帮助您的 AI 助手进行 npm 包管理的工具。🤖

用于 NPM 依赖项管理的模型上下文协议 (MCP) 服务器。该服务器提供 NPM 包搜索工具和 npm 包更新工具,确保您项目的依赖项保持最新状态并更新到其最新兼容版本,避免任何冲突或问题。

作为基准,为了安全升级任何项目的 package.json,您的助手可以调用 UpgradePackagets 工具,并将“peer”参数设置为 true。这可能不会将所有依赖项更新到最新版本,但可以安全地将它们升级到最新的兼容版本,并且不会出现任何错误。

如果您需要全面升级所有依赖项,您的助手有许多工具和参数可供您放心探索。参数选项和示例在下方“可用工具”部分提供。您还可以在“docs”目录中找到更多信息。

如果您正在探索向项目中添加新包的选项,或者正在寻找有关特定包的信息,那么还有可用于从 npmjs 搜索和检索信息的工具。

✨ 特点

npm-check-updates 工具

  • 🔍 checkUpdates :扫描 package.json 中是否存在过时的依赖项
  • 🚀upgradePackages:将依赖项升级到最新版本
  • 🔎 filterUpdates :检查特定软件包的更新
  • 🔄 resolveConflicts :处理依赖冲突
  • ⚙️ setVersionConstraints :配置版本升级规则
  • 🩺 runDoctor :迭代运行升级和测试以检测重大变化

NPM 搜索工具

  • 🔍 searchPackages :在 npmjs.org 注册表中搜索软件包
  • 📝 fetchPackageContent :从 npm 包页面抓取并提取内容
  • 📋 getPackageVersions :检索软件包的版本历史记录
  • 📝 getPackageDetails :获取详细的包元数据

🚀 npm-helper-mcp 安装指南

本指南将帮助您设置和运行 npm-helper-mcp 服务器。

📋 先决条件

开始之前,请确保已安装以下软件:

  • Node.js(版本 18.x 或更高版本)
  • npm(8.x 版或更高版本)

🔧 配置

npm-helper-mcp 服务器实现了模型上下文协议,这使得它能够与支持该协议的 LLM 应用程序进行通信。

配置因应用程序而异。通常,大多数 mcp 客户端应用程序都会有一个 .json 配置文件,或者一个用于输入运行服务器命令的位置。在大多数情况下,这两个选项之一应该有效。

选项 1:使用 npx 运行

使用服务器最简单的方法是使用 npx 运行它,无需本地安装。根据您的 mcp 客户端,使用以下两种方法之一:

  1. 将 json 配置复制并粘贴到应用程序的 mcp 配置文件中。
{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. 在应用程序的 mcp 配置设置中输入运行服务器的命令。
npx -y @pinkpixel/npm-helper-mcp

选项 2:本地安装

如果您希望在本地安装服务器,则可以使用以下命令进行安装:

# Install the package globally npm install -g npm-helper-mcp

配置:

  1. 将 json 配置复制并粘贴到应用程序的 mcp 配置文件中。
{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. 在应用程序的 mcp 配置设置中输入运行服务器的命令。
npm-helper-mcp

选项 3:从源安装

# Clone the repository git clone https://github.com/pinkpixel-dev/npm-helper-mcp.git cd npm-helper-mcp # Install dependencies npm install # Build the project npm run build # Optionally run/test the server npm start

配置:

  1. 将 json 配置复制并粘贴到应用程序的 mcp 配置文件中。
{ "mcpServers": { "npm-helper": { "command": "node", "args": [ "/path/to/npm-helper-mcp/dist/index.js" ] } } }
  1. 在应用程序的 mcp 配置设置中输入运行服务器的命令。
node /path/to/npm-helper-mcp/dist/index.js

与法学硕士 (LLM) 合作

该服务器遵循模型上下文协议 (MCP),允许像 Claude 这样的 LLM 使用。LLM 可以使用服务器的工具执行各种 npm 操作。

可用工具

工具:check_updates

扫描 package.json 以查找过时的依赖项。

参数:

  • packagePath (可选):package.json 文件的路径(默认值:./package.json)
  • filter (可选):要检查的包名称列表
  • reject (可选):要排除的包名称列表
  • target (可选):要升级到的目标版本(最新、最新、最佳、次要、补丁、语义版本)
  • interactive (可选):启用交互模式来选择更新
  • peer (可选):检查已安装软件包的对等依赖关系
  • minimal (可选):不要升级已经满足版本范围的较新版本
  • packageManager (可选):要使用的包管理器(npm、yarn、pnpm、deno、bun、staticRegistry)

例子:

{ "name": "check_updates", "arguments": { "packagePath": "./package.json", "filter": ["react", "lodash"], "peer": true, "minimal": true, "packageManager": "npm" } }
工具:upgrade_packages

将依赖项升级到最新版本。

参数:

  • packagePath (可选):package.json 文件的路径(默认值:./package.json)
  • upgradeType (可选):要升级到的目标版本(最新、最新、最佳、次要、补丁、semver)
  • interactive (可选):启用交互模式来选择更新
  • peer (可选):检查已安装软件包的对等依赖关系
  • minimal (可选):不要升级已经满足版本范围的较新版本
  • packageManager (可选):要使用的包管理器(npm、yarn、pnpm、deno、bun、staticRegistry)

例子:

{ "name": "upgrade_packages", "arguments": { "upgradeType": "minor", "peer": true, "minimal": true, "packageManager": "yarn" } }
工具:filter_updates

检查特定包的更新。

参数:

  • packagePath (可选):package.json 文件的路径(默认值:./package.json)
  • filter (必需):要检查的包名称列表
  • upgrade (可选):是否升级 package.json 文件或仅检查
  • minimal (可选):不要升级已经满足版本范围的较新版本
  • packageManager (可选):要使用的包管理器(npm、yarn、pnpm、deno、bun、staticRegistry)

例子:

{ "name": "filter_updates", "arguments": { "filter": ["react", "react-dom"], "upgrade": false, "minimal": true } }
工具:resolve_conflicts

使用对等依赖关系处理依赖关系冲突。

参数:

  • packagePath (可选):package.json 文件的路径(默认值:./package.json)
  • upgrade (可选):是否升级 package.json 文件或仅检查
  • minimal (可选):不要升级已经满足版本范围的较新版本
  • packageManager (可选):要使用的包管理器(npm、yarn、pnpm、deno、bun、staticRegistry)

例子:

{ "name": "resolve_conflicts", "arguments": { "upgrade": true, "packageManager": "npm" } }
工具:set_version_constraints

配置版本升级规则。

参数:

  • packagePath (可选):package.json 文件的路径(默认值:./package.json)
  • target (必需):目标版本约束策略(latest、newest、greater、minor、patch、semver)
  • removeRange (可选):从最终软件包版本中删除版本范围
  • upgrade (可选):是否升级 package.json 文件或仅检查
  • minimal (可选):不要升级已经满足版本范围的较新版本
  • packageManager (可选):要使用的包管理器(npm、yarn、pnpm、deno、bun、staticRegistry)

例子:

{ "name": "set_version_constraints", "arguments": { "target": "minor", "removeRange": false, "upgrade": true, "packageManager": "pnpm" } }
工具:run_doctor

迭代安装升级并运行测试以识别中断升级。它会自动撤销中断升级并保留正常运行的升级。

参数:

  • packagePath (可选):package.json 文件的路径(默认值:./package.json)
  • doctorInstall (可选):要使用的自定义安装脚本(默认值:“npm install”或“yarn”)
  • doctorTest (可选):要使用的自定义测试脚本(默认值:'npm test')
  • packageManager (可选):要使用的包管理器(npm、yarn、pnpm、deno、bun、staticRegistry)

例子:

{ "name": "run_doctor", "arguments": { "packagePath": "./package.json", "doctorInstall": "npm ci", "doctorTest": "npm run test:ci", "packageManager": "npm" } }
工具:search_npm

搜索 npm 包。

参数:

  • query (必需):npm 包的搜索查询
  • maxResults (可选):返回的最大结果数(默认值:10)

例子:

{ "name": "search_npm", "arguments": { "query": "react state management", "maxResults": 5 } }
工具:fetch_package_content

从 npm 包页面获取并解析详细内容。

参数:

  • url (必填):npm 包页面的 URL

例子:

{ "name": "fetch_package_content", "arguments": { "url": "https://www.npmjs.com/package/react" } }
工具:get_package_versions

获取 npm 包的可用版本。

参数:

  • packageName (必需):npm 包的名称

例子:

{ "name": "get_package_versions", "arguments": { "packageName": "react" } }
工具:get_package_details

获取有关 npm 包的详细信息。

参数:

  • packageName (必需):npm 包的名称

例子:

{ "name": "get_package_details", "arguments": { "packageName": "react" } }

📝 响应格式

所有工具都以标准格式返回响应:

{ "status": "success" | "error", "data": {}, // Tool-specific data "message": "Human-readable message" }

🆘 故障排除

连接问题**

  • 确保您的 LLM 应用程序正确配置为使用模型上下文协议。
  • 检查您的 .json 文件是否有任何错误,或验证您的启动命令是否正确。
  • 如果在本地运行,请验证 index.js 文件的路径。如有必要,请使用绝对路径。

获取帮助

如果您遇到此处未涵盖的任何问题:

  • 检查GitHub 问题以了解类似问题和解决方案。
  • 创建一个新问题并详细描述您的问题。

📄 许可证

麻省理工学院

🙏 致谢

由 Pink Pixel 用❤️制作

-
security - not tested
A
license - permissive license
-
quality - not tested

模型上下文协议服务器,提供 NPM 包管理工具,包括依赖项搜索、更新、冲突解决和版本管理,以帮助 AI 助手安全地升级项目依赖项。

  1. ✨ 特点
    1. npm-check-updates 工具
    2. NPM 搜索工具
  2. 🚀 npm-helper-mcp 安装指南
    1. 📋 先决条件
    2. 🔧 配置
    3. 与法学硕士 (LLM) 合作
    4. 📝 响应格式
    5. 🆘 故障排除
    6. 📄 许可证
    7. 🙏 致谢

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A comprehensive Model Context Protocol server that provides advanced Node.js development tooling for automating project creation, component generation, package management, and documentation with AI-powered assistance.
    Last updated -
    7
    2
    JavaScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that integrates with Linear, enabling AI assistants to create, update, search, and comment on issues for project management and issue tracking.
    Last updated -
    5
    6
    Python
    Apache 2.0
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that enables AI agents to retrieve and understand entire codebases at once, providing tools to analyze local workspaces or remote GitHub repositories.
    Last updated -
    9
    TypeScript
    MIT License
    • Linux
    • Apple
  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol server that allows AI models to fetch detailed information about npm packages and discover popular packages in the npm ecosystem.
    Last updated -
    1
    TypeScript

View all related MCP servers

ID: 4qbql03398