π¦
Mcpm
MCP Server Package Installer
0 installs
2 stars
Trust: 53 β Fair
Devtools
Installation
npx mcpmAsk AI about Mcpm
Powered by Claude Β· Grounded in docs
I know everything about Mcpm. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
mcpm - MCP Package Manager
A CLI tool to install and manage Model Context Protocol (MCP) servers for Claude Code and Gemini CLI.
Features
- Easy Installation - Install MCP servers with a single command
- Multi-Platform Support - Works with GitHub and GitLab
- Auto-Detection - Automatically detects project type (Node.js, Python, Go)
- Build Automation - Handles dependencies and build steps automatically
- Multi-Client - Register servers with Claude Code and/or Gemini CLI
Installation
From Source
git clone https://github.com/spre-sre/mcpm.git
cd mcpm
go build -o mcpm .
Move to PATH (optional)
sudo mv mcpm /usr/local/bin/
Usage
Install an MCP Server from Repository
# From GitHub
mcpm install @modelcontextprotocol/server-filesystem
# From GitLab
mcpm install gl:@gitlab-org/my-mcp-server
# From direct URL
mcpm install https://github.com/user/repo.git
# Install globally (available in all projects)
mcpm install @modelcontextprotocol/server-filesystem --global
Add an Existing MCP Server
For HTTP endpoints or already installed servers:
# Add HTTP server
mcpm add sentry https://mcp.sentry.dev/mcp --transport http
# Add SSE server
mcpm add slack https://mcp.slack.com/sse --transport sse
# Add local stdio server
mcpm add myserver /usr/local/bin/my-mcp-server
# Add with environment variables
mcpm add myserver node /path/to/server.js -e API_KEY=xxx
# Add only to Claude Code
mcpm add myserver /path/to/server --claude
# Add only to Gemini CLI
mcpm add myserver /path/to/server --gemini
# Add globally (available in all projects)
mcpm add myserver /path/to/server --global
Remove an MCP Server
# Remove from both clients (current directory)
mcpm remove myserver
# Remove only from Claude Code
mcpm remove myserver --claude
# Remove only from Gemini CLI
mcpm remove myserver --gemini
# Remove from global configuration
mcpm remove myserver --global
Update an Installed Server
Pull latest changes from remote and rebuild:
# Update a specific server
mcpm update server-filesystem
# Update all installed servers
mcpm update --all
# Update and re-register globally
mcpm update server-filesystem --global
List Installed Servers
mcpm list
URL Schemes
| Scheme | Description | Example |
|---|---|---|
@org/repo | GitHub (default) | @anthropics/mcp-server |
gl:@org/repo | GitLab | gl:@gitlab-org/server |
https://... | Direct URL | Any git URL |
How It Works
- Clone - Fetches the repository to
.mcp/servers/<name>/ - Detect - Identifies project type based on config files:
package.jsonβ Node.jsrequirements.txtorpyproject.tomlβ Pythongo.modβ Gomcp.jsonβ Custom manifest
- Build - Installs dependencies and builds the project
- Register - Adds the server to your chosen clients (Claude Code / Gemini CLI)
Supported Project Types
Node.js
- Detects package manager (npm, yarn, pnpm)
- Falls back to npm if preferred manager unavailable
- Runs
installandbuildscripts - Supports monorepo structures
Python
- Creates virtual environment (
.venv) - Installs from
requirements.txtorpyproject.toml - Auto-detects entry point (
main.py,server.py, etc.)
Go
- Runs
go build - Outputs binary as
mcp-server
Custom (mcp.json)
Create an mcp.json in your repo root:
{
"type": "node",
"buildCmd": "npm run build",
"runCmd": "node",
"args": ["dist/index.js"],
"requiredEnv": ["API_KEY", "SECRET"]
}
Configuration
Claude Code
Servers are registered using claude mcp add command, which stores configuration in ~/.claude.json under the project path.
Gemini CLI
Servers are registered in .gemini/settings.json in the current directory:
{
"mcpServers": {
"server-name": {
"type": "stdio",
"command": "node",
"args": ["/path/to/server/index.js"]
}
}
}
Requirements
- Go 1.23+ (for building from source)
- Git
- Node.js/npm (for Node.js servers)
- Python 3 (for Python servers)
- Claude Code CLI (for Claude Code integration)
Project Structure
mcpm/
βββ cmd/
β βββ root.go # Root command setup
β βββ install.go # Install command
β βββ add.go # Add command
β βββ remove.go # Remove command
β βββ update.go # Update command
β βββ list.go # List command
βββ internal/
β βββ fetcher/
β β βββ git.go # Git clone functionality
β βββ builder/
β β βββ builder.go # Main build logic
β β βββ node.go # Node.js builder
β β βββ python.go # Python builder
β β βββ golang.go # Go builder
β β βββ shell.go # Shell command helper
β β βββ types.go # Type definitions
β βββ injector/
β β βββ injector.go # Unified injector
β β βββ claude_code.go
β β βββ gemini_cli.go
β βββ tui/
β βββ installer.go # Install TUI model
β βββ updater.go # Update TUI model
β βββ commands.go # Tea commands
β βββ helpers.go # Input handlers
β βββ styles.go # Lipgloss styles
βββ main.go
βββ go.mod
βββ go.sum
License
MIT License - see LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
