About Mcpm
Mcpm is an MCP server published by spre-sre in the Developer Tools category: mCP Server Package Installer.
The repository has 2 stars and 0 forks, with the last commit 5 days ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/spre-sre/mcpmThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Mcpm
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 6 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
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.
README fetched from the repository 6 days ago. The original is authoritative.