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

mcpick

v0.0.25

Published

Vendor-neutral MCP configuration manager with first-class Claude Code support

Readme

MCPick

built with vite+ tested with vitest

Vendor-neutral MCP configuration manager with first-class Claude Code support.

MCPick helps humans and LLM agents inspect, toggle, and back up MCP server configuration across multiple AI clients. Claude Code-specific plugins, hooks, marketplaces, and cache commands remain available, but they are no longer the core product model.

Install

npm install -g mcpick
# or run without installing
npx mcpick --help

Requirements:

  • Node.js 22+
  • Claude Code is required only for Claude Code-specific commands
  • The external skills CLI is used through npx -y skills@latest for portable skills commands

Agent-first CLI

In non-TTY environments, MCPick shows help instead of launching the interactive TUI. This makes it safer for prompts like:

“Use mcpick to work out how to enable this MCP server.”

Start with:

npx mcpick --help
npx mcpick clients
npx mcpick list --json

MCPick redacts known secret patterns before printing output. MCP configs often contain env vars and authorization headers, so env and headers values are shown as *** in JSON output.

MCP clients

Supported client adapters:

| Client | Scopes | Command examples | | --------------------- | -------------------- | ------------------------------------------------- | | Claude Code | local, project, user | mcpick list, mcpick enable <server> | | Gemini CLI | project, user | mcpick list --client gemini-cli --scope project | | VS Code / Copilot | project | mcpick list --client vscode --scope project | | Cursor | project, user | mcpick list --client cursor --scope user | | Windsurf | user | mcpick list --client windsurf --scope user | | OpenCode | project, user | mcpick list --client opencode --scope project | | Pi via pi-mcp-adapter | project, user | mcpick list --client pi --scope user |

Show known config locations:

npx mcpick clients
npx mcpick clients --json

MCP server commands

# List Claude Code registry/status
npx mcpick list
npx mcpick list --json

# List another client
npx mcpick list --client pi --scope user --json
npx mcpick list --client opencode --scope project

# Claude Code enable/disable
npx mcpick enable <server> --scope local
npx mcpick disable <server> --scope local

# Add/remove Claude Code server definitions
npx mcpick add --name <server> --command npx --args "-y,package-name"
npx mcpick add-json <name> '{"command":"npx","args":["-y","package-name"]}'
npx mcpick remove <server>

For secret-backed servers, prefer environment variable references and secret-safe loading tools. MCPick redacts printed values, but MCP client config files may still store secrets in plain text because that is how many clients currently load MCP credentials.

Portable skills

MCPick delegates portable SKILL.md management to the external skills CLI.

# List installed skills for a client
npx mcpick skills list --agent pi --json

# See available skills from a source without installing
npx mcpick skills add spences10/skills --list

# Install one skill
npx mcpick skills add spences10/skills --agent pi --skill svelte-runes --yes

# Install all skills for a client globally
npx mcpick skills add spences10/skills --agent opencode --skill '*' --global --yes

# Update/remove
npx mcpick skills update --global --yes
npx mcpick skills remove svelte-runes --agent pi --yes

Claude Code-specific tools

These commands wrap Claude Code concepts and are intentionally client-specific:

# Plugins
npx mcpick plugins list
npx mcpick plugins install <name>@<marketplace>
npx mcpick plugins enable <name>@<marketplace>
npx mcpick plugins disable <name>@<marketplace>

# Marketplaces
npx mcpick marketplace list
npx mcpick marketplace add <source>
npx mcpick marketplace update
npx mcpick marketplace remove <name>

# Hooks and plugin cache
npx mcpick hooks list
npx mcpick cache status
npx mcpick cache refresh

Profiles and backups

Profiles are portable MCP server snapshots. Claude Code plugin state is preserved as optional Claude-specific profile metadata.

# Legacy Claude Code shortcuts still work
npx mcpick --profile database
npx mcpick --save-profile mysetup
npx mcpick --list-profiles

# Save/load profiles for a specific MCP client
npx mcpick profile save work --client vscode --scope project
npx mcpick profile load work --client opencode --scope project
npx mcpick profile load work --client pi --scope user

npx mcpick backup
npx mcpick restore [file]

# Safe-write rollback backups created before config mutations
npx mcpick rollback --list
npx mcpick rollback [file]

Interactive TUI

Running npx mcpick in a terminal launches the human-facing menu:

MCPick - MCP Configuration Manager

What would you like to do?
  Enable / Disable MCP servers
  Skills
  Client-specific tools
  Load profile
  Save profile
  Backup config
  Restore from backup
  Exit

The primary TUI flow is client-first: choose a client, then toggle its MCP servers. Claude Code plugins, hooks, marketplaces, and cache live under “Client-specific tools”.

Config locations

MCPick reads the standard locations used by each client adapter. Common paths include:

| Path | Purpose | | ------------------------ | ----------------------------------------------- | | ~/.claude.json | Claude Code local/user MCP config | | .mcp.json | Shared project MCP config | | .gemini/settings.json | Gemini CLI project config | | .vscode/mcp.json | VS Code / Copilot project config | | .cursor/mcp.json | Cursor project config | | opencode.json | OpenCode project config | | ~/.config/mcp/mcp.json | Shared global MCP config used by pi-mcp-adapter | | .pi/mcp.json | Pi project override |

MCPick-owned state lives under ~/.claude/mcpick/ for historical compatibility.

Development

pnpm install
pnpm test
pnpm run check
pnpm build

See docs/VENDOR_NEUTRAL_ARCHITECTURE.md for architecture notes.