Skip to main content
Glama
rog0x

mcp-npm-tools

by rog0x

mcp-npm-tools

MCP server providing npm and Node.js package management tools for AI agents.

Tools

Search the npm registry for packages by keyword. Returns name, description, version, weekly downloads, and last publish date.

npm_package_info

Get detailed information about a specific npm package: all published versions, dependencies, maintainers, repository URL, license, unpacked size, npm quality/popularity/maintenance scores, and weekly download count.

npm_dependency_audit

Analyze a package.json file to find outdated dependencies (compares pinned/range version against latest), deprecated packages, and known security vulnerabilities via the npm bulk advisory API.

npm_bundle_size

Estimate the bundle size of an npm package using the Bundlephobia API. Returns minified size, gzipped size, dependency count, and tree-shaking support indicators.

npm_compare_packages

Compare two or more packages side by side across multiple dimensions: weekly downloads, bundle size, number of runtime dependencies, last publish date, GitHub stars, and license.

Related MCP server: mcp-server-npm

Setup

npm install
npm run build

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "npm-tools": {
      "command": "node",
      "args": ["D:/products/mcp-servers/mcp-npm-tools/dist/index.js"]
    }
  }
}

Development

npm run build   # compile TypeScript
npm start       # run the server

License

MIT

Available Tools

5 tools
npm_bundle_sizeA

Estimate the bundle size of an npm package using the Bundlephobia API. Returns minified size, gzipped size, and dependency count.

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoSpecific version to check (optional, defaults to latest)
package_nameYesnpm package name (e.g. 'lodash')

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the use of an external API and the return fields, but does not mention potential rate limits, error behavior, or network dependencies. This is useful but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action and resource, and includes output details. No unnecessary words, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter tool with no output schema, the description sufficiently covers purpose and return values. However, it omits error handling or API-specific caveats, so not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% parameter coverage with clear descriptions, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool estimates bundle size using the Bundlephobia API and lists the returned metrics (minified size, gzipped size, dependency count). This distinguishes it from siblings like npm_search and npm_package_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a use case (estimating bundle size) but does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or mention when to prefer npm_package_info or npm_compare_packages.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

npm_compare_packagesA

Compare 2 or more npm packages side by side: weekly downloads, bundle size, dependency count, last update, GitHub stars, and license.

ParametersJSON Schema
NameRequiredDescriptionDefault
packagesYesArray of package names to compare (min 2, max 10)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It adequately describes the core action and data points, but does not mention whether it is read-only, any potential network latency, or what the output format looks like. It is not misleading, but lacks the extra context that annotations would provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence that front-loads the primary verb and resource, and then adds specific metrics. Every phrase earns its place; there is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter schema and no output schema, the description sufficiently lists all comparison dimensions and implies the need for 2+ packages. It does not explicitly mention output format or alternatives to sibling tools, but for a tool this straightforward, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides a complete description for the 'packages' parameter, including type and min/max constraints. The tool description merely reinforces the comparison context without adding new parameter-level information. With high schema coverage, the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Compare') and identifies the exact resource (npm packages), then enumerates the comparison dimensions (weekly downloads, bundle size, dependency count, last update, GitHub stars, license). This clearly distinguishes it from sibling tools like npm_search or npm_package_info, which focus on individual package lookup or search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies a side-by-side comparison use case for multiple packages, which sets it apart from single-package tools. However, it does not explicitly state when not to use it (e.g., for a single package) or name alternatives like npm_package_info. Clear context with no exclusions earns a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

npm_dependency_auditA

Analyze a package.json to find outdated dependencies (compare installed vs latest), deprecated packages, and known security vulnerabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
package_jsonYesThe full contents of a package.json file as a string

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the core behavior (comparing installed vs latest, checking for deprecated and vulnerable packages) but does not mention output format, side effects, or network usage. It is transparent enough for a basic understanding but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded with the key action and outcomes. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and no output schema. The description covers the main functionality but does not mention what the tool returns or the report structure. Given the lack of output schema, this is a notable omission, though the core purpose is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% since the single parameter has a clear description. The tool description adds context about how the parameter is used but does not provide syntax or format details beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes a package.json to find outdated dependencies (with installed vs latest comparison), deprecated packages, and known security vulnerabilities. This specific verb+resource combination distinguishes it from sibling tools like npm_search or npm_package_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: for auditing dependency health. It provides clear context but does not explicitly mention alternatives or exclusions. The context is strong enough for an agent to infer the appropriate use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

npm_package_infoA

Get detailed information about an npm package: all versions, dependencies, maintainers, repository, license, size, npm score, and weekly downloads.

ParametersJSON Schema
NameRequiredDescriptionDefault
package_nameYesExact npm package name (e.g. 'express', '@types/node')

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must convey behavioral traits. It implies a read-only operation via 'Get' and enumerates what data is returned, but it does not disclose potential error conditions, rate limits, or authentication requirements. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that lists the tool's capabilities without unnecessary words. It front-loads the core purpose and efficiently communicates the scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool with no output schema, the description is remarkably complete: it enumerates all major return categories, leaving little ambiguity about what the tool provides. The absence of an output schema is compensated by this detailed enumeration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the only parameter (package_name) with an exact format and examples, giving 100% coverage. The description adds no further semantic value beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('npm package') and lists numerous concrete outputs (versions, dependencies, maintainers, repository, license, size, npm score, weekly downloads). This clearly distinguishes it from sibling tools like npm_search or npm_compare_packages, which focus on other tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies this tool is for retrieving comprehensive details about a specific npm package, providing clear context for when to use it. However, it does not explicitly mention alternatives or state when not to use it, which would earn a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct aspect of npm packages: searching, detailed info, dependency audit, bundle size, and comparison. No two tools overlap in purpose, and the descriptions make their boundaries clear.

Naming Consistency4/5

All tool names share the npm_ prefix and use lowercase with underscores, but the pattern mixes verb-first names (npm_search, npm_compare_packages) with noun-phrase names (npm_package_info, npm_dependency_audit). This is generally predictable but not perfectly uniform.

Tool Count5/5

With exactly 5 tools, the server is well-scoped for an npm utility toolkit. Each tool covers a meaningful function without bloat, and the count feels appropriate for the domain.

Completeness5/5

The set covers the core needs for npm package exploration: search, detailed inspection, dependency auditing, bundle size estimation, and side-by-side comparison. No obvious missing operations within the apparent purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/rog0x/mcp-npm-tools'

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