Skip to main content
Glama
kongyo2

@kongyo2/npm-info-mcp-server

by kongyo2

@kongyo2/npm-info-mcp-server

npm version CI Ask DeepWiki

MCP server that provides npm package information for AI agents during TypeScript development.

npm パッケージ情報を提供する MCP サーバー。AI エージェントが TypeScript 開発中に npm レジストリを参照できます。

Tools

Tool

Description

npm_search

Search packages

npm_package_info

Get package details

npm_package_versions

List versions

npm_package_dependencies

Get dependencies

npm_package_readme

Fetch README

npm_package_types

Check TypeScript type definitions

npm_package_score

Get quality / popularity / maintenance score

Related MCP server: agent-workspace-mcp

Setup

{
  "mcpServers": {
    "npm-info": {
      "command": "npx",
      "args": ["-y", "@kongyo2/npm-info-mcp-server"]
    }
  }
}

MCP Client Configuration

Claude Code

Install via CLI (MCP only):

claude mcp add --scope user npm-info -- npx -y @kongyo2/npm-info-mcp-server

Codex

codex mcp add npm-info -- npx -y @kongyo2/npm-info-mcp-server

Development

npm install
npm run dev      # Start dev server
npm test         # Run unit tests
npm run check    # Type check, lint & format
npm run build    # Build

License

MIT

Available Tools

7 tools
npm_package_dependenciesGet npm Package DependenciesA
Read-onlyIdempotent

Get dependency information for a specific version of an npm package.

By default returns direct dependencies of all kinds (dependencies, devDependencies, peerDependencies, optionalDependencies) along with totals. When depth is greater than 1, resolves the transitive production dependency tree (using the abbreviated packument format and a bounded fetch limiter) and renders it as an ASCII tree with deduplicated nodes.

Args:

  • package_name (string): The npm package name

  • version (string, optional): Specific version to check (defaults to latest)

  • depth (number, optional, 1-5): Transitive production-dep depth (default 1)

  • include_dev (boolean, optional): Include devDependencies (default true; ignored when depth > 1)

  • include_peer (boolean, optional): Include peerDependencies (default true; ignored when depth > 1)

  • include_optional (boolean, optional): Include optionalDependencies (default true; ignored when depth > 1)

Returns:

  • Counts summary (runtime/dev/peer/optional)

  • Direct dependency lists by category

  • When depth > 1: a transitive production-dep tree, deduplicated on resolved version

Examples:

  • "express" -> Express direct dependencies at latest

  • "react", version="18.2.0" -> React 18.2.0 dependencies

  • "express", depth=2 -> Express + its production deps' dependencies

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoResolve transitive production dependencies up to this depth (1-5, default: 1). Higher depths fetch more packages and take longer.
versionNoSpecific version to check (default: latest). Use npm_package_versions to find available versions.
include_devNoInclude devDependencies (default: true). Ignored when depth > 1.
include_peerNoInclude peerDependencies (default: true). Ignored when depth > 1.
package_nameYesnpm package name
include_optionalNoInclude optionalDependencies (default: true). Ignored when depth > 1.

TDQS

A4.8/5.0
Behavior5/5

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

Discloses behavioral details beyond annotations: uses abbreviated packument format, bounded fetch limiter, renders ASCII tree with deduplication. Explains side effects of depth on include flags. No contradiction with annotations (readOnly, idempotent, etc.).

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?

Well-structured with Args, Returns, Examples sections. Every sentence adds value. Front-loaded with main purpose. No fluff.

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?

No output schema, but description explains return format thoroughly (counts summary, direct lists, tree). Covers all aspects given complexity. Provides examples. Complete for agent understanding.

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

Parameters5/5

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

Schema coverage is 100%, but description adds significant meaning: explains each parameter's purpose, default values, and interactions. For example, include_dev is ignored when depth>1. Examples show usage. Goes well beyond schema.

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 'Get dependency information for a specific version of an npm package' with specific verb and resource. It distinguishes from siblings like npm_package_info and npm_package_versions by focusing on dependencies and transitive trees.

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?

Provides clear context on when to use depth and explains that include flags are ignored when depth>1. Includes examples like 'express', depth=2. Could explicitly mention alternatives for version listing but is sufficient.

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

npm_package_infoGet npm Package InfoA
Read-onlyIdempotent

Get comprehensive information about an npm package including latest version, description, license, homepage, repository, keywords, engines, and maintainers.

Args:

  • package_name (string): The npm package name

Returns: Package metadata including:

  • name, latest version, description

  • license, homepage, repository URL

  • keywords, engines (node/npm version requirements)

  • dist-tags (latest, next, beta, etc.)

  • maintainers list

  • author information

Examples:

  • "react" -> React package info with latest version, license, etc.

  • "@anthropic-ai/sdk" -> Anthropic SDK details

ParametersJSON Schema
NameRequiredDescriptionDefault
package_nameYesnpm package name (e.g., 'react', '@types/node', 'lodash')

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already confirm safe, idempotent, read-only behavior. The description adds value by detailing the comprehensive return structure (license, repository, keywords, etc.), providing transparency about the output beyond annotations.

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 concise (about 10 lines) with clear sections for Args, Returns, and Examples. It is front-loaded with the purpose, and every sentence adds value without redundancy.

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?

Given a single parameter and no output schema, the description fully explains the return fields (version, license, maintainers, etc.) and provides examples. No gaps remain for correct invocation.

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

Parameters4/5

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

Input schema has 100% coverage with a clear description for package_name. The tool description reinforces this with examples (e.g., 'react', '@anthropic-ai/sdk') and shows how to invoke, adding semantic clarity beyond the schema.

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 'Get comprehensive information about an npm package' clearly states the action and resource. It lists specific data fields (latest version, description, license, etc.) and distinguishes from siblings like npm_package_dependencies and npm_package_readme.

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 usage by listing the information returned, but does not explicitly state when to use this tool versus alternatives like npm_package_dependencies or npm_search. No when-not or alternative guidance is provided.

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

npm_package_readmeGet npm Package READMEA
Read-onlyIdempotent

Get the README content of an npm package.

Returns the package's README markdown content, which typically includes installation instructions, usage examples, API documentation, and configuration options.

Args:

  • package_name (string): The npm package name

Returns: README content in markdown format. Large READMEs are truncated to 25000 characters with a notice.

Examples:

  • "zod" -> Zod README with schema validation examples

  • "express" -> Express README with routing examples

ParametersJSON Schema
NameRequiredDescriptionDefault
package_nameYesnpm package name

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral details beyond annotations, notably that large READMEs are truncated to 25000 characters with a notice. There is no contradiction with annotations.

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

Conciseness4/5

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

The description is efficiently structured with a clear first sentence stating the purpose, followed by details on content, parameters, return value, and examples. It is concise and front-loaded, though slightly verbose with the formal 'Args:' and 'Returns:' sections.

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?

Despite having no output schema, the description fully explains the return value format (markdown, truncation notice) and provides examples. The tool is simple with one parameter, and the description covers all necessary information for an agent to use it correctly.

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% description coverage, so the baseline is 3. The description restates the parameter's purpose and provides examples like 'zod' and 'express,' which add slight contextual value but do not significantly enhance the meaning beyond the schema's 'npm package name' description.

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's purpose: 'Get the README content of an npm package.' It uses a specific verb and resource, and the tool is well-distinguished from siblings like npm_package_dependencies, npm_package_info, etc., which serve different purposes.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus its siblings. It only explains what the tool does, leaving the agent to infer usage context. No explicit when-to-use or when-not-to-use advice is given.

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

npm_package_scoreGet npm Package ScoreA
Read-onlyIdempotent

Get quality, popularity, and maintenance scores for an npm package from npms.io.

Provides detailed metrics including download counts, GitHub stars, test coverage indicators, and release frequency.

Args:

  • package_name (string): The npm package name

Returns: Comprehensive scoring breakdown:

  • Overall score (0-100%)

  • Quality score: carefulness, tests, health, branding

  • Popularity: community interest, downloads, dependents

  • Maintenance: release frequency, commit frequency, open issues

  • GitHub stats: stars, forks, issues

  • Download statistics

Examples:

  • "react" -> High scores across all categories

  • "lodash" -> Well-maintained with high popularity

ParametersJSON Schema
NameRequiredDescriptionDefault
package_nameYesnpm package name

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the tool's safety profile is clear. The description adds detail about the returned metrics but does not reveal additional behavioral traits such as rate limits, authorization needs, or data freshness.

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 concise and well-structured. It starts with a clear summary sentence, then details the metrics, arguments, return structure, and examples. Every section provides necessary information without unnecessary fluff.

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?

Given no output schema, the description thoroughly explains the return value with a breakdown of scores and metrics. It also includes examples. For a simple one-parameter tool, this provides complete context for an agent to understand inputs and outputs.

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?

With 100% schema description coverage, the schema already documents the single parameter. The description reinforces its purpose (the npm package name) and ties it to the tool's functionality, but does not add new constraints or format details beyond what the schema 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 gets quality, popularity, and maintenance scores for an npm package from npms.io. It lists specific metric categories and provides examples, distinguishing it from siblings like npm_package_info which would focus on general details.

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 explains what the tool provides (scores, metrics) but does not explicitly state when to use it over alternatives like npm_package_info or npm_search. The examples imply it's for comprehensive scoring, but no direct comparison or exclusion criteria are given.

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

npm_package_typesCheck npm Package TypeScript SupportA
Read-onlyIdempotent

Check whether an npm package ships TypeScript type definitions.

Detects bundled types from three sources (in priority order):

  1. types field

  2. typings field

  3. exports map with a types condition (modern conditional exports)

Also checks for a DefinitelyTyped (@types/) companion package when no bundled types are found, and surfaces typesVersions (TS-version-specific type maps) when present.

Args:

  • package_name (string): The npm package name

  • version (string, optional): Specific version to check (defaults to latest)

Returns markdown with:

  • Whether bundled types are present and which field declared them

  • Type-definitions entry path

  • Number of subpaths typed via exports (when applicable)

  • Whether a typesVersions map is declared

  • Whether @types/ exists on DefinitelyTyped, plus its latest version

  • An install command when @types is needed

Examples:

  • "express" -> @types/express on DefinitelyTyped

  • "zod" -> Bundled types (TypeScript-first library)

  • "react" -> Bundled types via exports/types condition

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoSpecific version to check (default: latest)
package_nameYesnpm package name

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already mark it as readOnly, idempotent, and non-destructive. The description adds significant behavioral detail: priority order of type sources, DefinitelyTyped fallback, typesVersions handling, and return format specifics. No contradiction with annotations.

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

Conciseness4/5

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

The description is well-structured with bullet points and example cases. It is somewhat lengthy but each sentence adds value. Front-loads the main action effectively.

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?

Given no output schema, the description fully explains the return markdown fields. Covers all aspects: bundled types, DefinitelyTyped check, typesVersions, and install command. Sufficient for the tool's complexity.

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% with both parameters described. The description repeats the parameter names and defaults but adds no new semantic detail. 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 title and description clearly state the tool checks for TypeScript type definitions in npm packages. It specifies three bundled-type sources, DefinitelyTyped check, and typesVersions. This distinguishes it from siblings like npm_package_info or npm_package_dependencies.

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 provides clear context for when to use (to check TypeScript support). It includes examples showing expected results for different packages. However, it does not explicitly state when not to use or mention sibling tool alternatives.

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

npm_package_versionsList npm Package VersionsA
Read-onlyIdempotent

List published versions of an npm package with release dates, sorted by most recent first.

Args:

  • package_name (string): The npm package name

  • limit (number): Maximum versions to return, 1-100 (default: 20)

Returns: Version list with publish dates, dist-tags, and deprecation notices. Includes:

  • version number and publish date for each version

  • dist-tags annotation (latest, next, beta, etc.)

  • deprecation warnings where applicable

  • total version count

Examples:

  • "react" -> Lists recent React versions with dates

  • "typescript", limit=5 -> Last 5 TypeScript releases

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of versions to return, sorted by most recent (default: 20)
package_nameYesnpm package name

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds value by detailing the return structure (version list with publish dates, dist-tags, deprecation notices) and providing examples. It does not contradict annotations and offers additional behavioral context.

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 concise and well-structured: a one-sentence summary, followed by parameter details, return information, and examples. Every sentence adds information; no wasted words.

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 tool has 2 parameters and no output schema, the description adequately covers the return structure and examples. It does not explicitly address edge cases like missing packages, but the main functionality is well-explained.

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

Parameters4/5

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

Schema description coverage is 100% for both parameters. The description adds examples and clarifies constraints (e.g., limit range 1-100, default 20) beyond the schema. The examples demonstrate parameter usage, adding practical semantics.

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 explicitly states the tool's action: 'List published versions of an npm package with release dates, sorted by most recent first.' This is a clear verb (List) + resource (npm package versions), and it distinguishes from sibling tools like npm_package_dependencies 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 provides clear context for use (listing versions) but does not explicitly state when not to use this tool or mention alternative tools. The intended use is implied by the purpose, but no exclusions or comparisons are given.

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: dependencies, metadata, readme, scores, types, versions, and registry search. No two tools overlap in purpose.

Naming Consistency4/5

Six tools follow the pattern 'npm_package_<action>', but one uses 'npm_search' instead of 'npm_package_search'. This minor inconsistency does not hinder understanding.

Tool Count5/5

Seven tools cover the essential operations for an npm info server without being excessive. The scope is well-defined and each tool serves a clear function.

Completeness5/5

The tool set provides comprehensive coverage of npm package information: metadata, versions, readme, dependencies, type definitions, quality scores, and registry search. No obvious gaps for the stated purpose.

Maintenance

ActivityStale
ResponsivenessSyncing

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables LLMs to understand and work with TypeScript APIs they haven't been trained on by providing structured access to TypeScript type definitions and documentation.
    30
    46
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A TypeScript-aware MCP server that provides coding agents with repository discovery, code intelligence, and web project context for local codebases. It enables deep symbol navigation, diagnostic reporting, and structural analysis of monorepos without requiring full IDE integration.
    7
    12
    1
    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
    51
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A standalone MCP server that provides TypeScript type inference and hover information using tsgo, enabling AI agents to get type details, diagnostics, references, and more without needing an editor.
    27
    1
    MIT

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/kongyo2/npm-info'

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