π¦ NPM Helper - A tool to help your ai assistant with npm package management.π€
About
A Model Context Protocol (MCP) server providing tools for NPM package management and dependency updates. Helps LLMs like Claude interact with npm packages, search npm registry, and keep dependencies up-to-date.
Details
- License
- MIT license
Explore
- Scan package.json for outdated dependencies
- Upgrade dependencies to latest versions with conflict resolution
- Run iterative upgrades and tests to detect breaking changes
- Search npmjs.org registry for packages and details
- Fetch full package page content and version history
- Set version upgrade constraints and filter specific packages
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
π¦ NPM Helper - A tool to help your ai assistant with npm package management.π€Command (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
This guide will help you set up and run the npm-helper-mcp server.
Before you begin, ensure you have the following installed:
- Node.js (version 18.x or later)
- npm (version 8.x or later)
The npm-helper-mcp server implements the Model Context Protocol, which enables it to communicate with LLM applications that support the protocol.
Configuration varies depending on the application. Generally, most mcp client applications will have a .json configuration file, or a place to enter the command to run the server. One of these 2 options should work in most cases.
If you prefer to install the server locally, you can do so with the following command:
npm install -g npm-helper-mcp
Configuration:
1. Copy and paste the json configuration into your application's mcp configuration file.
{
"mcpServers": {
"npm-helper": {
"command": "npx",
"args": [
"-y",
"@pinkpixel/npm-helper-mcp"
]
}
}
}
2. Enter the command to run the server in your application's mcp configuration settings.
npm-helper-mcp
```bash
npm install
If you encounter any issues not covered here:
- Check the GitHub issues for similar problems and solutions.
- Create a new issue with a detailed description of your problem.
packagePath
(optional): Path to package.json file (default: ./package.json)
filter
(optional): List of package names to check
reject
(optional): List of package names to exclude
target
(optional): Target version to upgrade to (latest, newest, greatest, minor, patch, semver)
interactive
(optional): Enable interactive mode for choosing updates
peer
(optional): Check peer dependencies of installed packages
minimal
(optional): Do not upgrade newer versions that are already satisfied by the version range
packageManager
(optional): Package manager to use (npm, yarn, pnpm, deno, bun, staticRegistry)
upgradeType
(optional): Target version to upgrade to (latest, newest, greatest, minor, patch, semver)
upgrade
(optional): Whether to upgrade the package.json file or just check
removeRange
(optional): Remove version ranges from the final package version
doctorInstall
(optional): Custom install script to use (default: 'npm install' or 'yarn')
doctorTest
(optional): Custom test script to use (default: 'npm test')
query
(required): Search query for npm packages
maxResults
(optional): Maximum number of results to return (default: 10)
url
(required): URL of the npm package page
packageName
(required): Name of the npm package
A Model Context Protocol server for NPM dependency management. This server provides tools for NPM package search and tools for updating npm packages, ensuring your project's dependencies are up to date and updated to their latest compatible versions, without any conflicts or headaches.
As a baseline, for a safe upgrade of any project's package.json, your assistant can call the upgradePackagets tool with the 'peer' parameter set to true. This will likely not update all of your dependencies to the latest versions, but it will safely upgrade them to the latest compatible versions, without any errors.
If you are looking for a full upgrade of all dependencies, your assistant has many tools and parameters to safely explore. Parameter options and examples are provider below, in the "Available Tools" section. You can also find more information in the 'docs' directory.
There are also tools available to search and retrieve information from npmjs, if you are exploring options for new packages to add to your project, or if you are looking for information on a specific package.
- π checkUpdates: Scan package.json for outdated dependencies
- π upgradePackages: Upgrade dependencies to latest versions
- π filterUpdates: Check updates for specific packages
- π resolveConflicts: Handle dependency conflicts
- βοΈ setVersionConstraints: Configure version upgrade rules
- π©Ί runDoctor: Iteratively run upgrades and tests to detect breaking changes
- π searchPackages: Search npmjs.org registry for packages
- π fetchPackageContent: Scrape and extract content from npm package pages
- π getPackageVersions: Retrieve version history of packages
- π getPackageDetails: Fetch detailed package metadata
Scans package.json for outdated dependencies.
Parameters:
- packagePath (optional): Path to package.json file (default: ./package.json)
- filter (optional): List of package names to check
- reject (optional): List of package names to exclude
- target (optional): Target version to upgrade to (latest, newest, greatest, minor, patch, semver)
- interactive (optional): Enable interactive mode for choosing updates
- peer (optional): Check peer dependencies of installed packages
- minimal (optional): Do not upgrade newer versions that are already satisfied by the version range
- packageManager (optional): Package manager to use (npm, yarn, pnpm, deno, bun, staticRegistry)
Example:
{
"name": "check_updates",
"arguments": {
"packagePath": "./package.json",
"filter": ["react", "lodash"],
"peer": true,
"minimal": true,
"packageManager": "npm"
}
}
Upgrades dependencies to their latest versions.
Parameters:
- packagePath (optional): Path to package.json file (default: ./package.json)
- upgradeType (optional): Target version to upgrade to (latest, newest, greatest, minor, patch, semver)
- interactive (optional): Enable interactive mode for choosing updates
- peer (optional): Check peer dependencies of installed packages
- minimal (optional): Do not upgrade newer versions that are already satisfied by the version range
- packageManager (optional): Package manager to use (npm, yarn, pnpm, deno, bun, staticRegistry)
Example:
{
"name": "upgrade_packages",
"arguments": {
"upgradeType": "minor",
"peer": true,
"minimal": true,
"packageManager": "yarn"
}
}
Checks updates for specific packages.
Parameters:
- packagePath (optional): Path to package.json file (default: ./package.json)
- filter (required): List of package names to check
- upgrade (optional): Whether to upgrade the package.json file or just check
- minimal (optional): Do not upgrade newer versions that are already satisfied by the version range
- packageManager (optional): Package manager to use (npm, yarn, pnpm, deno, bun, staticRegistry)
Example:
{
"name": "filter_updates",
"arguments": {
"filter": ["react", "react-dom"],
"upgrade": false,
"minimal": true
}
}
Handles dependency conflicts using peer dependencies.
Parameters:
- packagePath (optional): Path to package.json file (default: ./package.json)
- upgrade (optional): Whether to upgrade the package.json file or just check
- minimal (optional): Do not upgrade newer versions that are already satisfied by the version range
- packageManager (optional): Package manager to use (npm, yarn, pnpm, deno, bun, staticRegistry)
Example:
{
"name": "resolve_conflicts",
"arguments": {
"upgrade": true,
"packageManager": "npm"
}
}
Configures version upgrade rules.
Parameters:
- packagePath (optional): Path to package.json file (default: ./package.json)
- target (required): Target version constraint strategy (latest, newest, greatest, minor, patch, semver)
- removeRange (optional): Remove version ranges from the final package version
- upgrade (optional): Whether to upgrade the package.json file or just check
- minimal (optional): Do not upgrade newer versions that are already satisfied by the version range
- packageManager (optional): Package manager to use (npm, yarn, pnpm, deno, bun, staticRegistry)
Example:
{
"name": "set_version_constraints",
"arguments": {
"target": "minor",
"removeRange": false,
"upgrade": true,
"packageManager": "pnpm"
}
}
Iteratively installs upgrades and runs tests to identify breaking upgrades. It automatically reverts breaking upgrades and keeps working ones.
Parameters:
- packagePath (optional): Path to package.json file (default: ./package.json)
- doctorInstall (optional): Custom install script to use (default: 'npm install' or 'yarn')
- doctorTest (optional): Custom test script to use (default: 'npm test')
- packageManager (optional): Package manager to use (npm, yarn, pnpm, deno, bun, staticRegistry)
Example:
{
"name": "run_doctor",
"arguments": {
"packagePath": "./package.json",
"doctorInstall": "npm ci",
"doctorTest": "npm run test:ci",
"packageManager": "npm"
}
}
Searches for npm packages.
Parameters:
- query (required): Search query for npm packages
- maxResults (optional): Maximum number of results to return (default: 10)
Example:
{
"name": "search_npm",
"arguments": {
"query": "react state management",
"maxResults": 5
}
}
Fetch and parse detailed content from an npm package page.
Parameters:
- url (required): URL of the npm package page
Example:
{
"name": "fetch_package_content",
"arguments": {
"url": "https://www.npmjs.com/package/react"
}
}
Gets available versions for an npm package.
Parameters:
- packageName (required): Name of the npm package
Example:
{
"name": "get_package_versions",
"arguments": {
"packageName": "react"
}
}
Gets detailed information about an npm package.
Parameters:
- packageName (required): Name of the npm package
Example:
{
"name": "get_package_details",
"arguments": {
"packageName": "react"
}
}
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"\ud83d\udce6 npm helper - a tool to help your ai assistant with npm package management.\ud83e\udd16": {
"npm-helper": {
"command": "npx",
"args": [
"-y",
"@pinkpixel/npm-helper-mcp"
]
}
}
}
}
McpServers
{
"npm-helper": {
"command": "npx",
"args": [
"-y",
"@pinkpixel/npm-helper-mcp"
]
}
}
A Model Context Protocol server for NPM dependency management. This server provides tools for NPM package search and tools for updating npm packages, ensuring your project's dependencies are up to date and updated to their latest compatible versions, without any conflicts or headaches.
As a baseline, for a safe upgrade of any project's package.json, your assistant can call the upgradePackagets tool with the 'peer' parameter set to true. This will likely not update all of your dependencies to the latest versions, but it will safely upgrade them to the latest compatible versions, without any errors.
If you are looking for a full upgrade of all dependencies, your assistant has many tools and parameters to safely explore. Parameter options and examples are provider below, in the "Available Tools" section. You can also find more information in the 'docs' directory.
There are also tools available to search and retrieve information from npmjs, if you are exploring options for new packages to add to your project, or if you are looking for information on a specific package.
β¨ Features
npm-check-updates Tools
- π checkUpdates: Scan package.json for outdated dependencies
- π upgradePackages: Upgrade dependencies to latest versions
- π filterUpdates: Check updates for specific packages
- π resolveConflicts: Handle dependency conflicts
- βοΈ setVersionConstraints: Configure version upgrade rules
- π©Ί runDoctor: Iteratively run upgrades and tests to detect breaking changes
NPM Search Tools
- π searchPackages: Search npmjs.org registry for packages
- π fetchPackageContent: Scrape and extract content from npm package pages
- π getPackageVersions: Retrieve version history of packages
- π getPackageDetails: Fetch detailed package metadata
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



