Skip to main content
Glama
BUZDOLAPCI

Package Intel MCP Server

by BUZDOLAPCI

Package Intel MCP Server

A Model Context Protocol (MCP) server for querying package registries (npm, PyPI, crates.io) to retrieve metadata about packages including versions, release cadence, and maintenance signals.

Features

  • Multi-Registry Support: Query npm, PyPI, and crates.io from a single interface

  • Package Summaries: Get comprehensive package metadata including version, license, and repository info

  • Release Timelines: Retrieve version history with release dates

  • Maintenance Signals: Analyze package health with automated scoring

Related MCP server: NPM Sentinel MCP

Installation

npm install
npm run build

Usage

As MCP Server (stdio)

npm start

As HTTP Server

npm run start:http
# Or with custom port
PORT=8080 npm run start:http

Claude Desktop Configuration

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "package-intel": {
      "command": "node",
      "args": ["/path/to/package-intel/dist/cli.js"]
    }
  }
}

Tools

package_summary

Get summary information about a package.

Parameters:

  • ecosystem (required): "npm" | "pypi" | "crates"

  • name (required): Package name

Example:

{
  "ecosystem": "npm",
  "name": "lodash"
}

Response:

{
  "ok": true,
  "data": {
    "name": "lodash",
    "version": "4.17.21",
    "description": "Lodash modular utilities.",
    "homepage": "https://lodash.com/",
    "repository": "https://github.com/lodash/lodash",
    "license": "MIT",
    "keywords": ["modules", "stdlib", "util"]
  },
  "meta": {
    "source": "https://registry.npmjs.org/lodash",
    "retrieved_at": "2024-01-15T10:30:00.000Z",
    "pagination": { "next_cursor": null },
    "warnings": []
  }
}

release_timeline

Get the release history of a package.

Parameters:

  • ecosystem (required): "npm" | "pypi" | "crates"

  • name (required): Package name

  • limit (optional): Maximum releases to return (default: 20, max: 100)

Example:

{
  "ecosystem": "pypi",
  "name": "requests",
  "limit": 5
}

Response:

{
  "ok": true,
  "data": {
    "package_name": "requests",
    "ecosystem": "pypi",
    "releases": [
      {
        "version": "2.31.0",
        "date": "2023-05-22T10:00:00.000Z",
        "is_prerelease": false
      },
      {
        "version": "2.30.0",
        "date": "2023-05-01T10:00:00.000Z",
        "is_prerelease": false
      }
    ],
    "total_versions": 87
  },
  "meta": {
    "source": "https://pypi.org/pypi/requests/json",
    "retrieved_at": "2024-01-15T10:30:00.000Z",
    "pagination": { "next_cursor": "5" },
    "warnings": []
  }
}

maintenance_signals

Analyze maintenance health signals for a package.

Parameters:

  • ecosystem (required): "npm" | "pypi" | "crates"

  • name (required): Package name

Example:

{
  "ecosystem": "crates",
  "name": "serde"
}

Response:

{
  "ok": true,
  "data": {
    "package_name": "serde",
    "ecosystem": "crates",
    "days_since_last_release": 45,
    "last_release_date": "2023-12-01T10:00:00.000Z",
    "releases_per_year": 12.5,
    "total_versions": 156,
    "is_deprecated": false,
    "maintenance_score": "good",
    "score_factors": {
      "recency": "good",
      "frequency": "good",
      "maturity": "good"
    }
  },
  "meta": {
    "source": "https://crates.io/api/v1/crates/serde",
    "retrieved_at": "2024-01-15T10:30:00.000Z",
    "pagination": { "next_cursor": null },
    "warnings": []
  }
}

Maintenance Score Calculation

The maintenance score is calculated based on three factors:

Recency (50% weight)

  • Good: Last release < 90 days ago

  • Fair: Last release < 365 days ago

  • Poor: Last release >= 365 days ago

Frequency (30% weight)

  • Good: >= 4 releases per year

  • Fair: >= 1 release per year

  • Poor: < 1 release per year

Maturity (20% weight)

  • Good: >= 10 total versions

  • Fair: >= 3 total versions

  • Poor: < 3 total versions

If a package is deprecated, the score is automatically set to "poor".

Error Handling

All tools return errors in a consistent envelope format:

{
  "ok": false,
  "error": {
    "code": "INVALID_INPUT",
    "message": "Package 'nonexistent' not found on npm",
    "details": {
      "package": "nonexistent",
      "ecosystem": "npm"
    }
  },
  "meta": {
    "retrieved_at": "2024-01-15T10:30:00.000Z"
  }
}

Error Codes

  • INVALID_INPUT: Invalid parameters or package not found

  • UPSTREAM_ERROR: Registry API returned an unexpected error

  • RATE_LIMITED: Registry rate limit exceeded

  • TIMEOUT: Request timed out

  • PARSE_ERROR: Failed to parse registry response

  • INTERNAL_ERROR: Unexpected server error

Configuration

Environment variables (see .env.example):

Variable

Default

Description

PORT

3000

HTTP server port

REQUEST_TIMEOUT

30000

Request timeout in ms

USER_AGENT

package-intel/0.1.0

User agent for registry requests

CACHE_TTL

300

Cache TTL in seconds

LOG_LEVEL

info

Log level: debug, info, warn, error

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Type check
npm run typecheck

# Development mode (watch)
npm run dev

License

MIT

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A Model Context Protocol server that enables AI-powered analysis of NPM packages through multiple tools for security vulnerability scanning, dependency analysis, package comparison, and quality assessment.
    Last updated
    12
    19
    3,724
    18
    TypeScript
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that queries 19 package registries (npm, PyPI, crates.io, etc.) to retrieve the latest version of packages and their metadata.
    Last updated
    21
    1
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A Model Context Protocol server for checking package versions and metadata across multiple package managers including npm, PyPI, Maven, NuGet, RubyGems, Crates.io, and Go modules.
    Last updated
    35
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • npm, PyPI & crates.io intel for AI agents: versions, popularity, deps, health. No API keys.

  • A Model Context Protocol server for Wix AI tools

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

View all MCP Connectors

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/BUZDOLAPCI/package-intel'

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