npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-to-agentregistry

v1.0.0

Published

Auto-package npm-published MCP servers for agentregistry. Bridge the gap between npm and Solo.io's agent registry.

Downloads

15

Readme

mcp-to-agentregistry (mcp2ar)

Auto-package npm-published MCP servers for agentregistry by Solo.io.

The problem: Thousands of MCP servers live on npm. agentregistry is a curated registry for AI artifacts with security scoring, governance, and discoverability. Getting servers from one to the other requires manual artifact creation.

The solution: mcp2ar reads MCP server metadata directly from the npm registry, generates schema-compliant ServerJSON artifacts, and publishes them to agentregistry — individually or as curated collections.

Quick Start

# Install
npm install -g mcp-to-agentregistry

# Generate an artifact (no registry needed)
mcp2ar generate ordinals-mcp

# Preview what would be published
mcp2ar publish ordinals-mcp --dry-run

# Publish to a running agentregistry
mcp2ar publish ordinals-mcp

# Publish an entire collection
mcp2ar batch examples/blockchain-collection.json

How It Works

┌─────────────┐     ┌──────────┐     ┌─────────────────┐
│  npm Registry│────▶│  mcp2ar  │────▶│  agentregistry  │
│  (metadata)  │     │ (bridge) │     │  (curated AI    │
└─────────────┘     └──────────┘     │   artifact hub) │
                         │            └─────────────────┘
                    Reads package.json
                    Generates ServerJSON
                    Publishes via API
  1. Fetches package.json from npm registry API (no install needed)
  2. Maps fields to agentregistry's ServerJSON schema (2025-12-11)
  3. Enriches with repository info, keywords, author, license
  4. Publishes via agentregistry REST API (POST /v0/servers)

Commands

mcp2ar generate <npm-package>

Generate artifact JSON from an npm MCP server without publishing.

mcp2ar generate ordinals-mcp                    # stdout
mcp2ar generate ordinals-mcp -o artifact.json   # write to file
mcp2ar generate ordinals-mcp --introspect       # discover tools at runtime

| Flag | Description | |------|-------------| | -v, --pkg-version <ver> | Specific npm version (default: latest) | | -n, --namespace <ns> | Registry namespace (default: io.github.ExpertVagabond) | | --name <name> | Override registry name | | --introspect | Run server via npx to discover tools | | --timeout <ms> | Introspection timeout (default: 15000) | | -o, --output <file> | Write to file instead of stdout | | --collection <name> | Tag with collection name |

mcp2ar publish <npm-package>

Generate and publish to agentregistry.

mcp2ar publish ordinals-mcp
mcp2ar publish ordinals-mcp --dry-run
mcp2ar publish ordinals-mcp --introspect --collection blockchain

All generate flags plus:

| Flag | Description | |------|-------------| | --dry-run | Show artifact without publishing | | --registry-url <url> | agentregistry API URL (default: http://localhost:12121) |

mcp2ar batch <config-file>

Batch publish from a collection config file.

mcp2ar batch examples/blockchain-collection.json
mcp2ar batch examples/blockchain-collection.json --dry-run

| Flag | Description | |------|-------------| | --dry-run | Show all artifacts without publishing | | --registry-url <url> | agentregistry API URL |

mcp2ar inspect <npm-package>

Introspect an MCP server to discover its tools.

mcp2ar inspect ordinals-mcp
mcp2ar inspect ordinals-mcp --json

| Flag | Description | |------|-------------| | --timeout <ms> | Connection timeout (default: 15000) | | --json | Output as JSON instead of table |

Collection Config

Collections let you publish related MCP servers as a group with shared metadata. Create a JSON config:

{
  "collection": "blockchain-mcp-collection",
  "namespace": "io.github.ExpertVagabond",
  "servers": [
    {
      "npmPackage": "ordinals-mcp",
      "envVars": [
        { "name": "HIRO_API_KEY", "description": "Hiro API key", "isRequired": false, "isSecret": true }
      ]
    },
    {
      "npmPackage": "solana-mcp-server"
    }
  ]
}

Each server entry supports:

| Field | Description | |-------|-------------| | npmPackage | npm package name (required) | | version | Specific version (default: latest) | | nameOverride | Override the registry name | | envVars | Environment variables for the server |

Demo: Blockchain MCP Collection

This repo ships with a pre-built collection of 4 blockchain MCP servers (102 tools total):

| Server | Tools | Description | |--------|-------|-------------| | ordinals-mcp | 24 | Bitcoin Ordinals — inscriptions, runes, BRC-20, marketplace | | solana-mcp-server | 28 | Solana — wallets, transactions, SPL tokens, Anchor | | solmail-mcp | 4 | Physical mail via Solana — AI agents send real letters | | universal-blockchain-mcp | 46 | Cross-chain — ZetaChain, Foundry, DeFi, NFTs |

# Preview the full collection
mcp2ar batch examples/blockchain-collection.json --dry-run

# Publish to local agentregistry
arctl &  # start registry
mcp2ar batch examples/blockchain-collection.json
arctl mcp list  # verify

Environment Variables

| Variable | Description | |----------|-------------| | ARCTL_API_BASE_URL | agentregistry API URL (default: http://localhost:12121) | | ARCTL_API_TOKEN | Bearer token for authenticated registries |

Requirements

  • Node.js >= 18
  • arctl (for publishing — not needed for generate)

Install arctl:

curl -fsSL https://raw.githubusercontent.com/agentregistry-dev/agentregistry/main/scripts/get-arctl | bash

Schema Compliance

Generated artifacts conform to the MCP Registry ServerJSON schema:

  • $schema: 2025-12-11
  • name: Reverse-DNS format (io.github.{org}/{name})
  • packages: npm registry type with stdio transport
  • repository: Auto-extracted from npm metadata
  • _meta: Publisher-provided enrichment (keywords, author, license, collection, tool count)

License

MIT