pathintegral-institute

mcpm.sh

Built by pathintegral-institute โ€ข 914 stars

What is mcpm.sh?

CLI MCP package manager & registry for all platforms and all clients. Search & configure MCP servers. Advanced Router & Profile features.

How to use mcpm.sh?

1. Install a compatible MCP client (like Claude Desktop). 2. Open your configuration settings. 3. Add mcpm.sh using the following command: npx @modelcontextprotocol/mcpm-sh 4. Restart the client and verify the new tools are active.
๐Ÿ›ก๏ธ Scoped (Restricted)
npx @modelcontextprotocol/mcpm-sh --scope restricted
๐Ÿ”“ Unrestricted Access
npx @modelcontextprotocol/mcpm-sh

Key Features

Native MCP Protocol Support
Real-time Tool Activation & Execution
Verified High-performance Implementation
Secure Resource & Context Handling

Optimized Use Cases

Extending AI models with custom local capabilities
Automating system workflows via natural language
Connecting external data sources to LLM context windows

mcpm.sh FAQ

Q

Is mcpm.sh safe?

Yes, mcpm.sh follows the standardized Model Context Protocol security patterns and only executes tools with explicit user-granted permissions.

Q

Is mcpm.sh up to date?

mcpm.sh is currently active in the registry with 914 stars on GitHub, indicating its reliability and community support.

Q

Are there any limits for mcpm.sh?

Usage limits depend on the specific implementation of the MCP server and your system resources. Refer to the official documentation below for technical details.

Official Documentation

View on GitHub

Homebrew Formula Version PyPI - Version GitHub Release GitHub License GitHub contributors PyPI - Downloads GitHub commit activity

English | ็ฎ€ไฝ“ไธญๆ–‡

mcpm.sh

Open Source. Forever Free.
Built with โค๏ธ by Path Integral Institute

๐ŸŒŸ MCPM - Model Context Protocol Manager

MCPM is an open source CLI tool for managing MCP servers. It provides a simplified global configuration approach where you install servers once and organize them with profiles, then integrate them into any MCP client. Features include server discovery through a central registry, direct execution, sharing capabilities, and client integration tools.

Demo is showing outdated v1 commands, new demo is baking ... Demo of MCPM in action

๐Ÿค Community Contributions

๐Ÿ’ก Grow the MCP ecosystem! We welcome contributions to our MCP Registry. Add your own servers, improve documentation, or suggest features. Open source thrives with community participation!

๐Ÿš€ Quick Installation

Recommended:

curl -sSL https://mcpm.sh/install | bash

Or choose other installation methods like brew, pipx, uv etc.

๐Ÿ”Ž Overview

MCPM v2.0 provides a simplified approach to managing MCP servers with a global configuration model. Key features include:

  • โœจ Global Server Management: Install servers once, use everywhere
  • ๐Ÿ“‹ Virtual Profiles: Organize servers with tags for different workflows
  • ๐Ÿ” Server Discovery: Browse and install from the MCP Registry
  • ๐Ÿš€ Direct Execution: Run servers over stdio or HTTP for testing
  • ๐ŸŒ Public Sharing: Share servers through secure tunnels
  • ๐Ÿ”„ Server Updates: Check for and apply updates to git-based, NPX, and binary servers
  • ๐ŸŽ›๏ธ Client Integration: Manage configurations for Claude Desktop, Cursor, Windsurf, and more
  • ๐Ÿค– AI Agent Friendly: Non-interactive CLI with comprehensive automation support and llm.txt guide
  • ๐Ÿ’ป Beautiful CLI: Rich formatting and interactive interfaces
  • ๐Ÿ“Š Usage Analytics: Monitor server usage and performance

MCPM v2.0 eliminates the complexity of v1's target-based system in favor of a clean global workspace model.

๐Ÿ–ฅ๏ธ Supported MCP Clients

MCPM will support managing MCP servers for the following clients:

  • ๐Ÿค– Claude Desktop (Anthropic)
  • โŒจ๏ธ Cursor
  • ๐Ÿ„ Windsurf
  • ๐Ÿงฉ Vscode
  • ๐Ÿ“ Cline
  • โžก๏ธ Continue
  • ๐Ÿฆข Goose
  • ๐Ÿ”ฅ 5ire
  • ๐Ÿฆ˜ Roo Code
  • โœจ More clients coming soon...

๐Ÿ”ฅ Command Line Interface (CLI)

MCPM provides a comprehensive CLI with a clean, organized interface. The v2.0 architecture uses a global configuration model where servers are installed once and can be organized with profiles, then integrated into specific MCP clients as needed.

โ„น๏ธ General

mcpm --help          # Display help information and available commands
mcpm --version       # Display the current version of MCPM

๐ŸŒ Server Management

Global server installation and management commands:

# ๐Ÿ” Search and Install
mcpm search [QUERY]           # Search the MCP Registry for available servers
mcpm info SERVER_NAME         # Display detailed information about a server
mcpm install SERVER_NAME      # Install a server from registry to global configuration
mcpm uninstall SERVER_NAME    # Remove a server from global configuration

# ๐Ÿ“‹ List and Inspect
mcpm ls                       # List all installed servers and their profile assignments
mcpm edit SERVER_NAME         # Edit a server configuration
mcpm inspect SERVER_NAME      # Launch MCP Inspector to test/debug a server

๐Ÿš€ Server Execution

Execute servers directly for testing or integration:

mcpm run SERVER_NAME          # Execute a server directly over stdio
mcpm run SERVER_NAME --http   # Execute a server over HTTP for testing
mcpm share SERVER_NAME        # Share a server through secure tunnel for remote access
mcpm usage                    # Display comprehensive analytics and usage data

๐Ÿ“‚ Profile Management

Profiles are virtual tags that organize servers into logical groups for different workflows:

# ๐Ÿ”„ Profile Operations
mcpm profile ls               # List all profiles and their tagged servers
mcpm profile create PROFILE   # Create a new profile
mcpm profile rm PROFILE       # Remove a profile (servers remain installed)
mcpm profile edit PROFILE     # Interactive server selection for profile

# ๐Ÿš€ Profile Execution
mcpm profile run PROFILE      # Execute all servers in a profile over stdio or HTTP
mcpm profile share PROFILE    # Share all servers in a profile through secure tunnel
mcpm profile inspect PROFILE  # Launch MCP Inspector for all servers in profile

๐Ÿ–ฅ๏ธ Client Integration

Manage MCP client configurations (Claude Desktop, Cursor, Windsurf, etc.):

mcpm client ls                 # List all supported MCP clients and their status
mcpm client edit CLIENT_NAME   # Interactive server enable/disable for a client
mcpm client edit CLIENT_NAME -e # Open client config in external editor
mcpm client import CLIENT_NAME  # Import server configurations from a client

๐Ÿ”„ Server Updates

Check for and apply updates to installed MCP servers:

mcpm update                   # Update all servers
mcpm update SERVER_NAME       # Update a specific server
mcpm update --check           # Dry run โ€” check for updates without applying
mcpm update --rebase          # Use git rebase instead of fast-forward
mcpm update --init            # Scan servers and populate source metadata
mcpm update --init --force    # Re-detect all source metadata

MCPM tracks where each server came from (git repo, npm package, HTTP remote) and can pull the latest changes automatically. Git-based servers are updated via git pull --ff-only by default, with --rebase as an opt-in alternative. NPX/UVX servers auto-update at runtime and are shown for informational purposes.

๐Ÿ› ๏ธ System & Configuration

mcpm doctor                   # Check system health and server status
mcpm config                   # Manage MCPM configuration and settings
mcpm migrate                  # Migrate from v1 to v2 configuration

๐Ÿ“š Registry

The MCP Registry is a central repository of available MCP servers that can be installed using MCPM. The registry is available at mcpm.sh/registry.

๐Ÿค– AI Agent Integration

MCPM is designed to be AI agent friendly with comprehensive automation support. Every interactive command has a non-interactive alternative using CLI parameters and environment variables.

๐Ÿ”ง Non-Interactive Mode

Set environment variables to enable full automation:

export MCPM_NON_INTERACTIVE=true  # Disable all interactive prompts
export MCPM_FORCE=true            # Skip confirmations
export MCPM_JSON_OUTPUT=true      # JSON output for parsing

๐Ÿ“‹ LLM.txt Guide

The llm.txt file provides comprehensive documentation specifically designed for AI agents, including:

  • Complete command reference with parameters and examples
  • Environment variable usage patterns
  • Best practices for automation
  • Error handling and troubleshooting
  • Batch operation patterns

The llm.txt file is automatically generated from the CLI structure and kept up-to-date with each release.

โšก Example Usage

Use case 1: expose a local stdio server over HTTP

  1. Add the server to MCPM
mcpm new [MY_SERVER_NAME] --type stdio --command "[COMMAND]" --args "[ARG_1] [ARG_2] ..."

(Add --force arg to bypass the confirmation interaction) Verify it appears in your installed servers:

mcpm ls

You should see [MY_SERVER_NAME] in the list.

  1. Serve it over HTTP
mcpm run [MY_SERVER_NAME] --http

MCPM prints the server URL, for example:

URL: http://127.0.0.1:6276/mcp/
  1. Expose it on your network (optional)
mcpm run [MY_SERVER_NAME] --http --host 0.0.0.0

Tip: add --port <PORT> to choose a different port.

Use case 2: combine multiple servers and serve them as one profile

  1. Add the servers to MCPM
# Stdio server
mcpm new [SERVER_A] --type stdio --command "[COMMAND]" --args "[ARG_1] [ARG_2] ..." --force

# Remote HTTP/SSE server
mcpm new [SERVER_B] --type remote --url "http://SERVER_ADDR/mcp/" --force
  1. Create a profile and add the servers Interactive:
mcpm profile create [PROFILE_NAME]
mcpm profile edit [PROFILE_NAME]

MCPM would list out all installed servers, you can use arrows to navigate, space to select/deselect, type to search, and Enter to confirm.

Verify:

mcpm profile ls

You should see your profile with the selected servers.

  1. Run the profile
# Stdio
mcpm profile run [PROFILE_NAME]

# HTTP
mcpm profile run [PROFILE_NAME] --http

# Optional: host and port
mcpm profile run [PROFILE_NAME] --http --host 0.0.0.0 --port 8080

Other common usage

# Server management
mcpm new myserver --type stdio --command "python -m server" --force
mcpm edit myserver --env "API_KEY=secret" --force

# Profile management  
mcpm profile edit web-dev --add-server myserver --force
mcpm profile run web-dev --port 8080

# Client integration
mcpm client edit cursor --add-profile web-dev --force

๐Ÿ—บ๏ธ Roadmap

โœ… v2.0 Complete

  • Global server configuration model
  • Profile-based server tagging and organization
  • Interactive command interfaces
  • Client integration management (mcpm client edit)
  • Modern CLI with consistent UX
  • Registry integration and server discovery
  • Direct server execution and sharing
  • Import from existing client configurations
  • Additional client support (gemini-cli, codex, etc.)

๐Ÿ”ฎ Future Enhancements

  • Server update management (mcpm update)
  • GitHub release binary updates (download + replace)
  • Advanced Server access monitoring and analytics
  • Execution in docker
  • Expose MCPM functionality as an MCP server (search, install, profile management etc.)
  • TUI interface for MCP inspect
  • TUI interface for MCP & profile management

๐Ÿ“ฆ Other Installation Methods

๐Ÿบ Homebrew

brew install mcpm

๐Ÿ“ฆ pipx (Recommended for Python tools)

pipx install mcpm

๐Ÿช„ uv tool

uv tool install mcpm

More Installation Methods

๐Ÿ pip

pip install mcpm

๐Ÿงฐ X-CMD

If you are a user of x-cmd, you can run:

x install mcpm.sh

๐Ÿ‘จโ€๐Ÿ’ป Development

This repository contains the CLI and service components for MCP Manager, built with Python and Click following modern package development practices.

๐Ÿ“‹ Development Requirements

  • ๐Ÿ Python 3.10+
  • ๐Ÿš€ uv (for virtual environment and dependency management)
  • ๐Ÿ–ฑ๏ธ Click framework for CLI
  • โœจ Rich for enhanced console output
  • ๐ŸŒ Requests for API interactions

๐Ÿ“ Project Structure

The project follows the modern src-based layout:

mcpm.sh/
โ”œโ”€โ”€ src/             # Source package directory
โ”‚   โ””โ”€โ”€ mcpm/        # Main package code
โ”œโ”€โ”€ tests/           # Test directory
โ”œโ”€โ”€ test_cli.py      # Development CLI runner
โ”œโ”€โ”€ pyproject.toml   # Project configuration
โ”œโ”€โ”€ pages/           # Website content
โ”‚   โ””โ”€โ”€ registry/    # Registry website
โ”œโ”€โ”€ mcp-registry/    # MCP Registry data
โ””โ”€โ”€ README.md        # Documentation

๐Ÿš€ Development Setup

  1. Clone the repository

    git clone https://github.com/pathintegral-institute/mcpm.sh.git
    cd mcpm.sh
    
  2. Set up a virtual environment with uv

    uv venv --seed
    source .venv/bin/activate  # On Unix/Mac
    
  3. Install dependencies in development mode

    uv pip install -e .
    
  4. Run the CLI directly during development

    # Either use the installed package
    mcpm --help
    
    # Or use the development script
    ./test_cli.py --help
    
  5. Run tests

    pytest tests/
    

โœ… Best Practices

  • ๐Ÿ“ Use the src-based directory structure to prevent import confusion
  • ๐Ÿ”ง Develop with an editable install using uv pip install -e .
  • ๐Ÿงฉ Keep commands modular in the src/mcpm/commands/ directory
  • ๐Ÿงช Add tests for new functionality in the tests/ directory
  • ๐Ÿ’ป Use the test_cli.py script for quick development testing

๐Ÿ”ข Version Management

MCP uses a single source of truth pattern for version management to ensure consistency across all components.

๐Ÿท๏ธ Version Structure

  • ๐Ÿ“ The canonical version is defined in version.py at the project root
  • ๐Ÿ“ฅ src/mcpm/__init__.py imports this version
  • ๐Ÿ“„ pyproject.toml uses dynamic versioning to read from version.py
  • ๐Ÿท๏ธ Git tags are created with the same version number prefixed with 'v' (e.g., v1.0.0)

๐Ÿ”„ Updating the Version

When releasing a new version:

  1. Use the provided version bump script

    ./bump_version.sh NEW_VERSION
    # Example: ./bump_version.sh 1.1.0
    
  2. Push the changes and tags

    git push && git push --tags
    
  3. Create a GitHub release matching the new version

This process ensures that the version is consistent in all places: code, package metadata, and git tags. PyPI release is handled by the CI/CD pipeline and will be triggered automatically.

๐Ÿ“œ License

MIT

Star History

Star History Chart

Global Ranking

-
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "mcpm-sh": { "command": "npx", "args": ["mcpm-sh"] } } }