mcp-server-npm
# MCP Server npm — Search, Compare & Inspect Packages from AI
[](https://www.npmjs.com/package/mcp-server-npm)
[](https://www.npmjs.com/package/mcp-server-npm)
[](https://github.com/ofershap/mcp-server-npm/actions/workflows/ci.yml)
[](https://opensource.org/licenses/MIT)
An MCP server that lets your AI assistant search npm, compare packages, check download stats, and inspect dependencies. No API keys needed.
```
You: "Compare react vs preact — size, downloads, and dependencies"
AI: react: 45.5kb min, 25M weekly downloads, 3 deps
preact: 4.2kb min, 3.8M weekly downloads, 0 deps
```
> Works with Claude Desktop, Cursor, and VS Code Copilot.

## Tools
| Tool | What it does |
| --------------- | --------------------------------------------------------------- |
| `npm_search` | Search npm packages by keyword |
| `npm_info` | Get detailed package info (version, license, deps, maintainers) |
| `npm_downloads` | Get download statistics (daily, weekly, monthly, yearly) |
| `npm_versions` | List recent versions of a package |
| `npm_compare` | Compare two packages side by side |
| `npm_deps` | List all dependencies of a package |
## Quick Start
### With Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"npm": {
"command": "npx",
"args": ["-y", "mcp-server-npm"]
}
}
}
```
### With Cursor
Add to your `.cursor/mcp.json`:
```json
{
"mcpServers": {
"npm": {
"command": "npx",
"args": ["-y", "mcp-server-npm"]
}
}
}
```
## Examples
Ask your AI assistant:
- "Search npm for state management libraries"
- "Show me info about the express package"
- "Compare react vs preact"
- "How many downloads does zod get per month?"
- "What are the dependencies of next?"
- "List recent versions of typescript"
## Development
```bash
npm install
npm test
npm run build
```
## Author
[](https://gitshow.dev/ofershap)
[](https://linkedin.com/in/ofershap)
[](https://github.com/ofershap)
---
<sub>README built with [README Builder](https://ofershap.github.io/readme-builder/)</sub>
## License
[MIT](LICENSE) © [Ofer Shapira](https://github.com/ofershap)
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: compare packages, list dependencies, get downloads, get info, search packages, and list versions. There is no overlap or ambiguity between these functions, making tool selection straightforward for an agent.
All tool names follow a consistent 'npm_' prefix with a descriptive suffix (e.g., compare, deps, downloads). This uniform pattern enhances readability and predictability across the toolset.
With 6 tools, the server is well-scoped for npm package management. Each tool serves a unique and essential function, covering common operations without being overly sparse or bloated.
The toolset covers key npm operations like search, info, dependencies, versions, downloads, and comparisons. A minor gap is the lack of tools for publishing or managing packages (e.g., publish, update, or install), but core query and analysis functions are well-represented.