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

@modootoday/pmcp

v0.17.1

Published

Use the skills your packages already ship, and keep your AI tools' project configuration in one place.

Readme

pmcp

Use the skills your packages already ship, and keep your AI tools' project configuration in one place.

pmcp discovers SKILL.md documents in installed packages, workspace packages and plugin marketplaces. Your AI tool can search the catalog and open a skill when it needs one, without loading the entire catalog into each conversation.

Claude Code, Codex, Gemini CLI, Grok Build and Antigravity keep their native model calls, account login and permission controls. pmcp supplies skills, projects shared configuration into their native formats, and optionally provides a local mailbox for exchanging messages.

| What you want to do | Use | | ------------------------------------------------------------- | ------------------------------ | | Find and read package skills from your AI tool | The MCP skill catalog | | Install selected free library instructions as native plugins | The PMCP public marketplace | | Keep several tools' MCP servers and project assets consistent | pmcp.toml and pmcp project | | Check what an installed tool loads | pmcp doctor | | Search across languages using local embeddings | pmcp models and pmcp index | | Exchange messages between authorized local actors | The optional mailbox | | Supervise native main and worker terminals locally | pmcp harness | | View a native main, worker dock and coordination panel | pmcp tui | | Serve a catalog to your own application | The HTTP library |

Get started

Requires Node.js 22 or later, or Bun 1.3 or later.

Install pmcp in your project:

npm install --save-dev @modootoday/pmcp

For Claude Code, register the MCP server from the project directory:

claude mcp add pmcp -- npx @modootoday/pmcp serve

Other MCP hosts can use a stdio entry:

{
  "mcpServers": {
    "pmcp": {
      "command": "npx",
      "args": ["@modootoday/pmcp", "serve"]
    }
  }
}

Restart or reconnect your tool's MCP connection after changing its configuration. Ask your tool to find a skill relevant to your task and open the result. Local skill discovery and reading require no pmcp login.

Native plugins and free library skills

The public GitHub repository is also a marketplace. Choose individual library major lines; adding the marketplace does not activate its entire catalog. For example, install the TypeScript 5 instructions with your native manager:

claude plugin marketplace add modootoday/pmcp
claude plugin install typescript-5@pmcp
claude plugin install pmcp@pmcp
codex plugin marketplace add modootoday/pmcp
codex plugin add typescript-5@pmcp
codex plugin add pmcp@pmcp

Grok supports the same marketplace with grok plugin marketplace add modootoday/pmcp and grok plugin install typescript-5@pmcp. The separate pmcp plugin adds the PMCP MCP bridge. Gemini can install that bridge with gemini extensions install https://github.com/modootoday/pmcp. Native confirmation and runtime provider login remain with each tool.

Since 0.14.0, the CLI bundles the free catalog and can export one plugin for Claude, Codex, Gemini, Grok or Antigravity:

pmcp marketplace list
pmcp marketplace export typescript-5 --runtime agy --output ./typescript-plugin
agy plugin install ./typescript-plugin

The marketplace export command, bundled catalog and anonymous install provider are included in npm 0.14.0. GitHub native marketplace installation and the website's free archives are available independently. See the skills guide for layouts, runtime-specific formats and version selection.

To include your workspace's own skills, create pmcp.toml at the project root:

[catalog]
workspaces = ["."]

Run npx @modootoday/pmcp list to see the local catalog. Paths in the configuration resolve relative to pmcp.toml; pmcp searches for this file above the working directory.

Share configuration across your tools

Declare your tools and MCP servers in the same pmcp.toml:

[targets]
tools = ["claude", "codex", "gemini", "grok", "antigravity", "opencode"]

[mcp.docs]
url = "https://example.com/mcp"

Replace the example URL with your server, then run:

npx @modootoday/pmcp project
npx @modootoday/pmcp project --check
npx @modootoday/pmcp doctor

project generates native files for the selected tools and records its ownership in pmcp.lock. It preserves unrelated settings and refuses conflicting unmanaged entries. --check reports drift without writing files. Each runtime retains its own OAuth session.

OpenCode receives project MCP configuration in opencode.json and reads .agents/skills directly. User-only skills stay available through native slash commands while being hidden from automatic skill selection. Its provider and model choices stay in native user configuration. OpenCode mailbox, terminal control and hook enforcement are outside this projection's supported scope.

The configuration guide covers importing existing servers, environment references, shared skills and rules, shell guards and memory metadata.

Manage native terminals

PMCP 0.13.0 or later can show a native main runtime, its worker terminals and a coordination panel in one terminal workspace. The optional harness and TUI need Linux, tmux, util-linux flock, Node.js 22 or later and a working user systemd manager. Provider login, folder trust and tool approvals remain native.

PMCP 0.16.0 adds the numbered runtime picker, worker menu, worker-start and read-only recovery flows below.

npx @modootoday/pmcp --version
npx @modootoday/pmcp harness doctor inspect
npx @modootoday/pmcp tui doctor

On a supported interactive host, open the workspace with:

pmcp

The first launch lists installed native runtimes. Choose a number or accept the default, then confirm the start; q cancels without creating a group. No group or view JSON is required. Later launches reconnect to the workspace created for this project. Native login and folder trust stay with the runtime. Use pmcp tui --runtime codex-cli to choose the main, or set an optional default:

[tui]
runtime = "codex-cli"

Once the workspace is open, press Ctrl-g then n to choose and confirm a worker. The menu releases input control and preserves the current draft. You can also use pmcp tui start-worker --runtime gemini-cli. The existing group keeps its runtime grants and resource bounds. Use pmcp tui recovery to inspect a saved workspace and obtain explicit next commands after an interrupted start. Inspection does not restart a runtime or replay input.

pmcp tui plan previews the settings without starting anything. The terminal workspace guide covers defaults, custom configuration and advanced controls. The native terminal guide explains explicit group and session operations. Views start read only; acquiring control and stopping a runtime are explicit actions. This optional CLI feature does not add execution tools to the MCP server.

Everyday commands

Run these with npx @modootoday/pmcp, or with pmcp when it is on your PATH:

pmcp list
pmcp available
pmcp install --all --dry-run
pmcp install <skill-package> --yes
pmcp sync --dry-run
pmcp validate

available checks catalog packages against your installed dependencies. install and sync use npm, Bun or pnpm and require confirmation before changing your manifest and lockfile. --dry-run previews the work. Use --catalog <file> to read a saved catalog response.

These commands use the bundled public catalog by default. Public installation downloads verified content-only archives without PMCP login. Use --provider hosted or an explicit --api for a separately hosted service. CLI discovery includes the free marketplace unless --no-builtin is passed or [catalog] builtin = false is configured. Library APIs keep explicit catalog selection.

pmcp login, whoami and logout manage optional hosted-service login. skills.modoo.today is a separate service built on PMCP. Your runtime's provider login remains with that runtime.

Run pmcp --help or pmcp <command> --help for options. With no command, a supported interactive terminal opens the workspace. Piped launches retain MCP stdio; pmcp serve selects MCP explicitly. Unsupported interactive hosts show help and prerequisite guidance.

Compatibility

| Surface | Current qualification | | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | CLI and MCP on Linux amd64 | Published 0.15.0 passed clean Docker installation with npm on Debian/Alpine and Bun/pnpm on Debian; 60 installation and failure contracts | | Optional terminal workspace | Linux PTY/tmux checks and bounded native Codex, Gemini, Grok and agy main/worker acceptance; Claude remains deferred | | Public skill installation | npm, Bun and pnpm 10.17.1; confirmation required, scripts disabled | | Native plugin export | Claude, Codex, Gemini, Grok and agy formats; export does not install or activate a vendor plugin | | pnpm workspace installation | Selects the member, preserves root dependencies and updates the shared lockfile | | Yarn skill installation | Refused without changing project files; Yarn PnP is not supported | | macOS, Windows and other architectures | Not qualified by the Linux Docker tests |

Provider authentication, native children and vendor behavior have separate qualification scopes. An installed executable or exported manifest is not proof that every native feature works. Public package CI checks actual packed-archive installation, CLI startup, MCP and SQLite before publication; isolated projects on a host are distinct from Docker and OS qualification.

Guides

| Guide | Contents | | ------------------------------------------------------ | ------------------------------------------------------------- | | Project configuration | Catalog sources, native files, MCP import, guards and doctor | | Skills and MCP reference | Skill documents, tools, resources, prompts and compatibility | | Embedding models | E5, EmbeddingGemma and custom local model selection | | Local mailbox | Actor credentials, messages, receipts and library integration | | HTTP hosting | Authentication, catalog access and request controls | | Native terminal control | Owned sessions, explicit input, Docker profiles and recovery | | Terminal workspace | Main and worker panels, observation, control and failures | | Security policy | Reporting vulnerabilities |

Semantic search is optional and requires @huggingface/transformers installed separately. Lexical search works without downloading a model. The mailbox is disabled until explicitly configured.

Licence

pmcp is source available under Elastic License 2.0. See NOTICE for dependency notices and the embedding guide for model licences. Website: pmcp.build.