Skip to main content

Homebrew for MCP Servers — A CLI package manager for MCP servers

Project description

version python license mcp prs subcommands registries

简体中文 | English

⛭ mcp-pm — Homebrew for MCP Servers

A CLI package manager for the Model Context Protocol ecosystem. Install, search, serve, and manage MCP servers with a single command.

Quick StartFeaturesCommandsArchitectureComparisonRegistries


https://github.com/user-attachments/assets/placeholder


✨ Quick Start

# Install
pip install mcp-pm

# Search for MCP servers across 5 registries (Smithery, npm, PyPI, built-in...)
mcp search filesystem

# Install a server
mcp install mcp-server-filesystem

# List installed servers
mcp list

# Explore the Web UI dashboard
mcp explore

# Run a server in an isolated sandbox
mcp sandbox my-server --level docker

# Start an OpenAI-compatible HTTP proxy
mcp serve

No servers installed yet? Run mcp search database to discover servers from the community registry, or mcp explore to browse them visually.


🚀 Features

Feature Description
🔍 Multi-Registry Search Search across 5 registries simultaneously — Smithery (5,000+ servers), npm, PyPI, built-in curated list
📦 One-Command Install mcp install <server> — installs from npm, pip, git, or Docker
🔒 Sandbox Isolation Run untrusted servers in isolated environments (subprocess, Docker)
🌐 Web UI Dashboard Beautiful dark-themed HTMX dashboard for visual management
⚡ OpenAI Proxy Expose all installed MCP tools as an OpenAI-compatible API
🛡️ mcp doctor Diagnostic tool that checks your entire MCP setup
🔧 12 Commands Full lifecycle management — install, uninstall, update, list, search, info, explore, serve, sandbox, config, doctor, run
🌍 Multi-language UI Web UI supports English and 中文 (Chinese), extensible to any language
📝 YAML Config Human-readable configuration at ~/.mcp-pm/config.yaml
🎨 Beautiful CLI Rich terminal output with tables, colors, and progress spinners

🎮 Commands

Command Description Example
mcp install Install an MCP server mcp install mcp-server-filesystem
mcp uninstall Remove an installed server mcp uninstall my-server
mcp update Update all installed servers mcp update
mcp list List installed servers and tools mcp list
mcp search Search across all registries mcp search database
mcp info Show detailed server info mcp info github
mcp explore Launch the Web UI dashboard mcp explore
mcp serve Start HTTP proxy server mcp serve
mcp sandbox Run server in sandbox mcp sandbox my-server --level docker
mcp config Manage configuration mcp config get servers
mcp doctor Diagnose installation health mcp doctor
mcp run Run an MCP tool directly mcp run my-server tool-name

🏗️ Architecture

┌─────────────────────────────────────────────────────────────┐
│                    User Interfaces                          │
│  ┌──────────┐  ┌────────────┐  ┌──────────┐  ┌──────────┐  │
│  │  CLI     │  │ Web UI     │  │ VS Code  │  │ CI/CD    │  │
│  │ Terminal │  │ Dashboard  │  │ Ext.     │  │ Actions  │  │
│  └────┬─────┘  └─────┬──────┘  └────┬─────┘  └────┬─────┘  │
└───────┼──────────────┼──────────────┼──────────────┼────────┘
        │              │              │              │
        ▼              ▼              ▼              ▼
┌─────────────────────────────────────────────────────────────┐
│                    CLI Core (click + rich)                   │
│  ┌─────────────────────────────────────────────────────────┐│
│  │    12 Subcommands: install · uninstall · list · search  ││
│  │    info · explore · serve · sandbox · config · update   ││
│  │    doctor · run                                          ││
│  └─────────────────────────────────────────────────────────┘│
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌─────────────┐ │
│  │ Installer│  │ Config   │  │ Sandbox  │  │ HTTP Proxy  │ │
│  │ (multi-  │  │ (YAML)   │  │ (Docker  │  │ (OpenAI     │ │
│  │  source) │  │          │  │  isol.)  │  │  Compat.)   │ │
│  └──────────┘  └──────────┘  └──────────┘  └─────────────┘ │
└───────────────────┬─────────────────────────────────────────┘
                    │
                    ▼
┌─────────────────────────────────────────────────────────────┐
│                  Registry Integrations                       │
│  ┌────────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐  │
│  │ Smithery   │  │ npm      │  │ PyPI     │  │ Built-in │  │
│  │ 5,000+ srvs│  │ Registry │  │ Registry │  │ 27 srvs  │  │
│  └────────────┘  └──────────┘  └──────────┘  └──────────┘  │
└───────────────────┬─────────────────────────────────────────┘
                    │
                    ▼
┌─────────────────────────────────────────────────────────────┐
│                  Execution Environment                       │
│  ┌──────────────┐  ┌──────────────┐  ┌───────────────────┐  │
│  │ Subprocess   │  │ Docker       │  │ OpenAI API Proxy  │  │
│  │ Direct Spawn │  │ Sandbox      │  │ MCP → OpenAI     │  │
│  └──────────────┘  └──────────────┘  └───────────────────┘  │
└─────────────────────────────────────────────────────────────┘

📦 Registry Backends

mcp-pm aggregates servers from 5 registries simultaneously:

Registry Status Servers Type
Built-in ✅ Always available 27 curated Offline
Smithery (smithery.ai) ✅ Online 5,000+ API
npm (npmjs.com) ✅ Online All mcp-server packages API
PyPI (pypi.org) ✅ Online All MCP Python packages API
MCP.so ⚠️ Deprecated (API retired) Graceful fallback
GitHub Registry ⚠️ Temporarily unavailable Graceful fallback

All backends are queried in parallel with a 3-second timeout — you always get results fast.


🔄 Comparison

Feature mcp-pm MCP.so Smithery GitHub Registry
CLI-first
Offline mode (built-in index)
Sandbox isolation
Interactive TUI
Multi-registry search
Web UI dashboard
Auto-config generation
Open-source + self-hostable
OpenAI-compatible proxy
12 subcommands

🛠️ Development

# Clone and set up
git clone https://github.com/weinotes/mcp-pm.git
cd mcp-pm
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,web]"

# Run tests
python -m pytest tests/ -v --tb=short

# Start Web UI
mcp explore

# Lint
ruff check .
ruff format --check .

🤝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.


📄 License

MIT License — Copyright (c) 2025-2026 Davey Wong wgwcko@gmail.com


Made with ❤️ by Davey Wong

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_pm-0.1.0.tar.gz (50.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_pm-0.1.0-py3-none-any.whl (48.9 kB view details)

Uploaded Python 3

File details

Details for the file mcp_pm-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_pm-0.1.0.tar.gz
  • Upload date:
  • Size: 50.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for mcp_pm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c25d4091396db5bd7f605c27b13d4e4c49ad6fe37879623b9e1e7c71527abea6
MD5 1259287168bff484921d697775be208c
BLAKE2b-256 76b308890305c9e56c1d042d7fbd2804b50ba0cb139575e782f536f1735a2fe6

See more details on using hashes here.

File details

Details for the file mcp_pm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_pm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for mcp_pm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65c8addcd8a9845341f90d7880e8a4b3372de256677d5666b78596faf1e2bb3e
MD5 24efc2d407dabb2257f2868ba854cd25
BLAKE2b-256 c6f9e4671dbb67a18f2fb00c5404989b82c143d93d57418c7f07d5445a4dc7ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page