Package Registry MCP Server

Package Registry MCP Server

MCP server for searching and retrieving package registry information.

28
Stars
6
Forks
28
Watchers
1
Issues
Package Registry MCP Server provides a Model Context Protocol interface that enables AI assistants and agents such as Claude, Cursor, and Copilot to search and retrieve up-to-date information from major package registries. It supports searching and querying detailed data for NPM, crates.io, NuGet, PyPI, and Go modules directly from the source registries. Integrations are provided for various AI tools, facilitating easy and standardized package data access.

Key Features

Search NPM packages
Retrieve detailed NPM package information
List NPM package versions
Search Rust crates on crates.io
Get detailed Rust crate information
Search NuGet packages
Retrieve detailed NuGet package data
Access PyPI and Go module package information
Direct integration with AI assistants and agents
Real-time data retrieval from multiple registries

Use Cases

AI assistant package lookup and discovery
Retrieving detailed information on software dependencies
Providing up-to-date package data to coding agents
Automating dependency management in development environments
Integrating registry searches into custom AI workflows
Powering extension tools for AI-enhanced editors
Enabling model-based package comparison
Streamlining package selection and updates for projects
Supporting security checks with latest version data
Facilitating research and audit of open source packages

README

Package Registry MCP Server

A Model Context Protocol (MCP) server that enables AI assistants and agents (Claude, Cursor, Copilot, etc.) to search package registries and retrieve up-to-date package information.

Getting Started

Cursor

Install MCP Server

Alternatively, in Cursor, you can configure MCP servers in your settings:

  1. Open Cursor Settings (Cmd/Ctrl + ,)
  2. Search for "MCP" or go to Extensions > MCP
  3. Add a new server with:
    • Name: package-registry
    • Command: npx
    • Args: ["-y", "package-registry-mcp"]

Claude Code

For Claude Code, run the following command in your terminal:

shell
claude mcp add -s user package-registry 'npx -y package-registry-mcp'

After configuration, you'll have access to package search and information tools.

Claude Desktop

Add this server to your Claude Desktop by adding the following to your claude_desktop_config.json:

json
{
  "mcpServers": {
    "package-registry": {
      "command": "npx",
      "args": ["-y", "package-registry-mcp"]
    }
  }
}

The config file is typically located at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

After adding the configuration, restart Claude Desktop.

Features

  • Search NPM packages
  • Get detailed NPM package information
  • Search crates.io (Rust package registry)
  • Get detailed crate information
  • Search NuGet packages (.NET package registry)
  • Get detailed NuGet package information
  • Get detailed PyPI package information (Python package registry)
  • Get detailed Go module information (Go package registry)
  • Real-time data directly from package registries

Available Tools

NPM Tools

search-npm-packages

Search the NPM registry for packages matching a query.

Parameters:

  • query (string): Search term for packages
  • limit (number, optional): Maximum number of results (1-100, default: 10)

Example:

bash
bun tool search-npm-packages '{"query": "react", "limit": 5}'

get-npm-package-details

Get detailed information about a specific NPM package.

Parameters:

  • name (string): Exact crate name

Example:

bash
bun tool get-npm-package-details '{"name": "react"}'

Returns detailed information including:

  • Package metadata (name, description, version, license)
  • Dependencies (runtime, dev, peer)
  • Maintainer information
  • Repository and homepage links
  • Last 50 versions (newest first)

list-npm-package-versions

List all versions of a specific NPM package.

Parameters:

  • name (string): Exact crate name
  • limit (number, optional): Maximum number of versions to return (1-1000, default: 100)

Example:

bash
bun tool list-npm-package-versions '{"name": "react", "limit": 50}'

Returns:

  • Package name and total version count
  • All versions sorted by release date (newest first)
  • Latest version information

crates.io Tools

search-cargo-packages

Search crates.io for Rust crates matching a query.

Parameters:

  • query (string): Search term for crates
  • limit (number, optional): Maximum number of results (1-100, default: 10)

Example:

bash
bun tool search-cargo-packages '{"query": "serde", "limit": 5}'

get-cargo-package-details

Get detailed information about a specific crate from crates.io.

Parameters:

  • name (string): Exact crate name

Example:

bash
bun tool get-cargo-package-details '{"name": "serde"}'

Returns detailed information including:

  • Crate metadata (name, description, version, license)
  • Keywords and categories
  • Download statistics (total and recent)
  • Features and crate size
  • Repository, homepage, and documentation links
  • Last 50 versions (newest first)

list-cargo-package-versions

List all versions of a specific crate from crates.io.

Parameters:

  • name (string): Exact crate name
  • limit (number, optional): Maximum number of versions to return (1-1000, default: 100)

Example:

bash
bun tool list-cargo-package-versions '{"name": "serde", "limit": 50}'

Returns:

  • Crate name and total version count
  • All versions sorted by release date (newest first)
  • Latest and max stable version information

NuGet Tools

search-nuget-packages

Search the NuGet registry for .NET packages matching a query.

Parameters:

  • query (string): Search term for packages
  • limit (number, optional): Maximum number of results (1-100, default: 10)

Example:

bash
bun tool search-nuget-packages '{"query": "newtonsoft", "limit": 5}'

get-nuget-package-details

Get detailed information about a specific NuGet package.

Parameters:

  • name (string): Exact package name

Example:

bash
bun tool get-nuget-package-details '{"name": "Newtonsoft.Json"}'

Returns detailed information including:

  • Package metadata (name, description, version, license)
  • Authors and project information
  • Target frameworks and dependencies
  • Download statistics and verification status
  • Project, license, and icon URLs
  • Last 50 versions (newest first)

list-nuget-package-versions

List all versions of a specific NuGet package.

Parameters:

  • name (string): Exact package name
  • limit (number, optional): Maximum number of versions to return (1-1000, default: 100)

Example:

bash
bun tool list-nuget-package-versions '{"name": "Newtonsoft.Json", "limit": 50}'

Returns:

  • Package name and total version count
  • All versions sorted by release date (newest first)
  • Latest version information

PyPI Tools

Note: PyPI does not provide a JSON search API, so only package details and version listing are supported. For searching, please use the PyPI website directly at https://pypi.org/search/.

get-pypi-package-details

Get detailed information about a specific PyPI package.

Parameters:

  • name (string): Exact package name

Example:

bash
bun tool get-pypi-package-details '{"name": "requests"}'

Returns detailed information including:

  • Package metadata (name, description, version, license)
  • Author and maintainer information
  • Dependencies and Python version requirements
  • Classifiers and keywords
  • Project URLs and documentation links
  • Download statistics
  • Vulnerability information
  • Last 50 versions (newest first)

list-pypi-package-versions

List all versions of a specific PyPI package.

Parameters:

  • name (string): Exact package name
  • limit (number, optional): Maximum number of versions to return (1-1000, default: 100)

Example:

bash
bun tool list-pypi-package-versions '{"name": "django", "limit": 50}'

Returns:

  • Package name and total version count
  • All versions sorted by release date (newest first)
  • Latest version information

Go Tools

Note: pkg.go.dev does not provide a JSON search API, so only package details and version listing are supported. For searching, please use the pkg.go.dev website directly at https://pkg.go.dev/search/.

get-golang-package-details

Get detailed information about a specific Go module/package.

Parameters:

  • module (string): Exact module path (e.g., "github.com/gin-gonic/gin")

Example:

bash
bun tool get-golang-package-details '{"module": "github.com/gin-gonic/gin"}'

Returns detailed information including:

  • Module path and latest version
  • Publication date and repository information
  • VCS (version control system) details
  • pkg.go.dev and go get command links
  • Last 50 versions (newest first)

list-golang-package-versions

List all versions of a specific Go module/package.

Parameters:

  • module (string): Exact module path
  • limit (number, optional): Maximum number of versions to return (1-1000, default: 100)

Example:

bash
bun tool list-golang-package-versions '{"module": "github.com/gorilla/mux", "limit": 50}'

Returns:

  • Module path and total version count
  • All versions sorted by release date (newest first)
  • Latest version information

Installation

Install the package globally:

bash
npm install -g package-registry-mcp

Or use directly with npx (no installation required):

bash
npx package-registry-mcp

Development

bash
npm install
# or
bun install
# or
yarn install

Development

bash
# Install dependencies
bun install

# Build the server
bun run build

# Format code
bun run format

# Test individual MCP tools
bun tool <tool-name> <json-arguments>
# NPM Examples:
# bun tool search-npm-packages '{"query": "react"}'
# bun tool get-npm-package-details '{"name": "react"}'
# bun tool list-npm-package-versions '{"name": "react", "limit": 50}'
# crates.io Examples:
# bun tool search-cargo-packages '{"query": "serde"}'
# bun tool get-cargo-package-details '{"name": "serde"}'
# bun tool list-cargo-package-versions '{"name": "serde", "limit": 50}'
# NuGet Examples:
# bun tool search-nuget-packages '{"query": "newtonsoft"}'
# bun tool get-nuget-package-details '{"name": "Newtonsoft.Json"}'
# bun tool list-nuget-package-versions '{"name": "Newtonsoft.Json", "limit": 50}'
# PyPI Examples:
# bun tool get-pypi-package-details '{"name": "requests"}'
# bun tool list-pypi-package-versions '{"name": "django", "limit": 50}'
# Go Examples:
# bun tool get-golang-package-details '{"module": "github.com/gin-gonic/gin"}'
# bun tool list-golang-package-versions '{"module": "github.com/gorilla/mux", "limit": 50}'

Requirements

  • Node.js 18+ or Bun runtime
  • Internet connection for package registry access

License

See LICENSE file for details.

Star History

Star History Chart

Repository Owner

Artmann
Artmann

User

Repository Details

Language TypeScript
Default Branch main
Size 112 KB
Contributors 1
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

TypeScript
99.32%
JavaScript
0.68%

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • Package Version MCP Server

    Package Version MCP Server

    Check latest stable package versions across multiple registries with an MCP server.

    Package Version MCP Server acts as an MCP-compliant server that assists large language models in fetching the latest stable versions of packages from a variety of registries such as npm, PyPI, Maven Central, Go Proxy, Swift Packages, AWS Bedrock, Docker Hub, GitHub Container Registry, and GitHub Actions. It can be integrated via command-line, URL, or containers and is tailored for development environments and tools that require accurate package versioning for code generation or recommendations. The solution is adaptable and is transitioning towards incorporation in the broader mcp-devtools suite.

    • 118
    • MCP
    • sammcj/mcp-package-version
  • mcp-get

    mcp-get

    A command-line tool for discovering, installing, and managing Model Context Protocol servers.

    mcp-get is a CLI tool designed to help users discover, install, and manage Model Context Protocol (MCP) servers. It enables seamless integration of Large Language Models (LLMs) with various external data sources and tools by utilizing a standardized protocol. The tool provides access to a curated registry of MCP servers and supports installation and management across multiple programming languages and environments. Although now archived, mcp-get simplifies environment variable management, package versioning, and server updates to enhance the LLM ecosystem.

    • 497
    • MCP
    • michaellatman/mcp-get
  • JSR MCP

    JSR MCP

    A Model Context Protocol server enabling full JSR registry access and LLM integration.

    JSR MCP provides a Model Context Protocol (MCP) server designed for robust interaction with the JSR (JavaScript Registry) via Deno. It enables large language models (LLMs) to search, retrieve, and manage JavaScript packages, scopes, users, and registry metadata. The server exposes 40 comprehensive tools for operations such as searching packages, managing versions, handling scopes and permissions, and accessing authentication-secured functionality. Ideal for integrating JSR operations into automated systems or AI model workflows.

    • 0
    • MCP
    • wyattjoh/jsr-mcp
  • MCP Language Server

    MCP Language Server

    Bridge codebase navigation tools to AI models using MCP-enabled language servers.

    MCP Language Server implements the Model Context Protocol, allowing MCP-enabled clients, such as LLMs, to interact with language servers for codebase navigation. It exposes standard language server features—like go to definition, references, rename, and diagnostics—over MCP for seamless integration with AI tooling. The server supports multiple languages by serving as a proxy to underlying language servers, including gopls, rust-analyzer, and pyright.

    • 1,256
    • MCP
    • isaacphi/mcp-language-server
  • godoc-mcp-server

    godoc-mcp-server

    Provides Go package documentation from pkg.go.dev to LLMs as an MCP server.

    godoc-mcp-server enables searching Golang packages and obtains their documentation from pkg.go.dev, serving the information to language models via the Model Context Protocol. Communication occurs over standard input/output, supporting efficient retrieval of package information, including support for subpackages and usage instructions. The tool includes local caching and features tailored to LLM integration scenarios.

    • 32
    • MCP
    • yikakia/godoc-mcp-server
  • MCP-NixOS

    MCP-NixOS

    Stop AI hallucinations about NixOS packages—get accurate, real-time information.

    MCP-NixOS is a Model Context Protocol server designed to provide AI assistants with accurate, up-to-date information about NixOS packages, configuration options, Home Manager settings, and nix-darwin configurations. By interfacing with NixOS and NixHub.io, it enables detailed package search, version history, and configuration queries, drastically reducing AI-generated inaccuracies. It works cross-platform and can be deployed via different methods including uvx, Nix, and Docker.

    • 328
    • MCP
    • utensils/mcp-nixos
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results