You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MCPM is a Homebrew-like service and command-line interface for managing Model Context Protocol (MCP) servers across various MCP clients.
6
+
```
7
+
███╗ ███╗ ██████╗██████╗ ███╗ ███╗
8
+
████╗ ████║██╔════╝██╔══██╗████╗ ████║
9
+
██╔████╔██║██║ ██████╔╝██╔████╔██║
10
+
██║╚██╔╝██║██║ ██╔═══╝ ██║╚██╔╝██║
11
+
██║ ╚═╝ ██║╚██████╗██║ ██║ ╚═╝ ██║
12
+
╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝
13
+
14
+
Model Context Protocol Manager
15
+
Open Source. Forever Free.
16
+
Built with ❤️ by Path Integral Institute
17
+
```
18
+
19
+
</div>
20
+
21
+
# 🌟 MCPM - Model Context Protocol Manager
22
+
23
+
MCPM is a Homebrew-like service and command-line interface for managing Model Context Protocol (MCP) servers. It simplifies managing server configurations across various supported clients, allows grouping servers into profiles, and helps discover new servers via a registry.
24
+
25
+
## 🤝 Community Contributions
26
+
27
+
> 💡 **Grow the MCP ecosystem!** We welcome contributions to our [MCP Registry](mcp-registry/README.md). Add your own servers, improve documentation, or suggest features. Open source thrives with community participation!
28
+
29
+
## 🚀 Quick Installation
30
+
31
+
Choose your preferred installation method:
32
+
33
+
### 🍺 Homebrew
34
+
35
+
```bash
36
+
brew install mcpm
37
+
```
38
+
39
+
### 📦 pipx (Recommended for Python tools)
40
+
41
+
```bash
42
+
pipx install mcpm
43
+
```
44
+
45
+
### 🐍 pip
46
+
47
+
```bash
48
+
pip install mcpm
49
+
```
50
+
51
+
### 🔄 Shell Script (One-liner)
52
+
53
+
```bash
54
+
curl -sSL https://mcpm.sh/install | bash
55
+
```
7
56
8
-
## Overview
57
+
## 🔎 Overview
9
58
10
-
MCPM aims to simplify the installation, configuration, and management of Model Context Protocol servers with a focus on:
59
+
MCPM simplifies the installation, configuration, and management of Model Context Protocol servers and their configurations across different applications (clients). Key features include:
11
60
12
-
- Easy installation of MCP servers via a simple CLI
13
-
- Centralized management of server configurations across multiple clients
14
-
- Seamless updates for installed servers
15
-
- Server-side management capabilities
16
-
- Registry of available MCP servers
61
+
- ✨ Easy addition and removal of MCP server configurations for supported clients.
62
+
- 📋 Centralized management using profiles: group server configurations together and activate/deactivate them easily.
63
+
- 🔍 Discovery of available MCP servers through a central registry.
64
+
- 🖥️ Detection of installed MCP clients on your system.
65
+
- 💻 A command-line interface (CLI) for all management tasks.
66
+
- 🔧 Utilities like a configuration inspector.
17
67
18
-
## Supported MCP Clients
68
+
## 🖥️ Supported MCP Clients
19
69
20
70
MCPM will support managing MCP servers for the following clients:
21
71
22
-
- Claude Desktop (Anthropic)
23
-
- Cursor
24
-
- Windsurf
25
-
- Cline
26
-
- Continue
27
-
- Goose
28
-
- 5ire
29
-
- Roo Code
30
-
- More clients coming soon...
72
+
-🤖 Claude Desktop (Anthropic)
73
+
-⌨️ Cursor
74
+
-🏄 Windsurf
75
+
-📝 Cline
76
+
-➡️ Continue
77
+
-🦢 Goose
78
+
-🔥 5ire
79
+
-🦘 Roo Code
80
+
-✨ More clients coming soon...
31
81
32
-
## Command Line Interface (CLI)
82
+
## 🔥 Command Line Interface (CLI)
33
83
34
-
MCPM provides a comprehensive CLI built with Python's Click framework. Below are the available commands:
84
+
MCPM provides a comprehensive CLI built with Python's Click framework. Commands generally operate on the currently **active client**. You can view/set the active client using `mcpm client`. Many commands also support scope modifiers like `@CLIENT_NAME/SERVER_NAME` or `#PROFILE_NAME/SERVER_NAME` to target specific clients or profiles directly.
35
85
36
-
### Basic Commands
86
+
Below are the available commands, grouped by functionality:
37
87
88
+
### ℹ️ General
89
+
90
+
```bash
91
+
mcpm --help # Display help information and available commands
92
+
mcpm --version # Display the current version of MCPM
38
93
```
39
-
mcpm --help # Display help information and available commands
40
-
mcpm --version # Display the current version of MCPM
94
+
95
+
### 🖥️ Client Management (`client`)
96
+
97
+
```bash
98
+
mcpm client ls # List all supported MCP clients, detect installed ones, and show active client
99
+
mcpm client set CLIENT # Set the active client for subsequent commands
100
+
mcpm client edit # Open the active client's MCP configuration file in an external editor
41
101
```
42
102
43
-
### Available Commands
103
+
### 🌐 Server Management (`server`)
104
+
105
+
These commands operate on the active client unless a specific scope (`@CLIENT` or `#PROFILE`) is provided.
106
+
107
+
```bash
108
+
# 🔍 Search and Add
109
+
mcpm search [QUERY] # Search the MCP Registry for available servers
110
+
mcpm add SERVER_URL # Add an MCP server configuration (from URL or registry name)
111
+
mcpm add SERVER_URL --alias ALIAS # Add with a custom alias
112
+
113
+
# 📋 List and Remove
114
+
mcpm ls # List server configurations for the active client/profile
115
+
mcpm list # Alias for 'ls'
116
+
mcpm rm SERVER_NAME # Remove a server configuration
117
+
mcpm remove SERVER_NAME # Alias for 'rm'
44
118
119
+
# 🔄 Modify and Organize
120
+
mcpm cp SOURCE TARGET # Copy a server config (e.g., @client1/serverA #profileB)
121
+
mcpm copy SOURCE TARGET # Alias for 'cp'
122
+
mcpm mv SOURCE TARGET # Move a server config (e.g., #profileA/serverX @client2)
123
+
mcpm move SOURCE TARGET # Alias for 'mv'
124
+
125
+
# 📦 Stashing (Temporarily disable/enable)
126
+
mcpm stash SERVER_NAME # Temporarily disable/store a server configuration aside
127
+
mcpm pop [SERVER_NAME] # Restore the last stashed server, or a specific one by name
45
128
```
46
-
# client
47
-
mcpm client ls # List all supported MCP clients and their status
48
-
mcpm client set CLIENT #
49
-
mcpm client edit # open client mcp setting in external editor
50
-
51
-
52
-
# editing ops, applying to the active scope
53
-
# add @client or #profile to set explicit scope
54
-
# for example:
55
-
# mcpm rm #PROFILE/SERVER_NAME to remove server for a profile (even when it's not activated)
56
-
# mcpm cp @CLIENT/SERVER_NAME #PROFILE
57
-
58
-
mcpm add SERVER_NAME # Add an MCP server to the active client
59
-
mcpm add SERVER_NAME --alias ALIAS_NAME # Add an MCP server to the active client with a custom alias
60
-
mcpm cp SOURCE TARGET # Copy an MCP server from one client/profile to another
61
-
mcpm mv SOURCE TARGET # Move an MCP server from one client/profile to another
62
-
mcpm rm
63
-
mcpm remove SERVER_NAME # Remove an installed MCP server
64
-
mcpm ls
65
-
mcpm list # List all installed MCP servers
66
-
mcpm stash SERVER_NAME # Temporarily disable an MCP server for a client
67
-
mcpm pop SERVER_NAME # Re-enable an MCP server for a client
68
-
69
-
70
-
# profile
71
-
mcpm profile add PROFILE # Add a new MCPM profile
72
-
mcpm profile list # List all MCPM profiles
73
-
mcpm profile rm PROFILE # Remove an MCPM profile
74
-
mcpm profile remove PROFILE # Remove an MCPM profile
75
-
mcpm profile rename PROFILE # Rename an MCPM profile
76
-
77
-
mcpm activate PROFILE # activate a profile for a client
78
-
mcpm deactivate # deactivate a profile for a client
79
-
80
-
# router
81
-
mcpm router on -p port -h host # start router daemon
82
-
mcpm router off
83
-
84
-
85
-
# util
86
-
mcpm config clear-cache
87
-
mcpm inspect SERVER_NAME # Launch the MCPM Inspector UI to examine servers
129
+
130
+
### 📂 Profile Management (`profile`)
131
+
132
+
Profiles are named collections of server configurations. They allow you to easily switch between different sets of MCP servers. For example, you might have a `work` profile and a `personal` profile, each containing different servers. Or you might have a `production` profile and a `development` profile, each containing different configurations for the same servers.
133
+
134
+
The currently *active* profile's servers are typically used by features like the MCPM Router. Use `mcpm activate` to set the active profile.
135
+
136
+
```bash
137
+
# 🔄 Profile Lifecycle
138
+
mcpm profile list # List all available MCPM profiles
139
+
mcpm profile add PROFILE_NAME # Add a new, empty profile
140
+
mcpm profile rm PROFILE_NAME # Remove a profile (does not delete servers within it)
141
+
mcpm profile remove PROFILE_NAME # Alias for 'rm'
142
+
mcpm profile rename OLD_NAME NEW_NAME # Rename a profile
143
+
144
+
# ✅ Activating Profiles
145
+
mcpm activate PROFILE_NAME # Activate a profile, applying its servers to the active client
146
+
mcpm deactivate # Deactivate the current profile for the active client
88
147
```
89
148
90
-
### Registry
149
+
### 🔌 Router Management (`router`)
91
150
92
-
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](https://mcpm.sh/registry).
151
+
The MCPM Router runs as a background daemon process, acting as a stable endpoint (e.g., `http://localhost:6276`) that intelligently routes incoming MCP requests to the appropriate server based on the currently **active profile**.
152
+
153
+
This allows you to change the underlying servers (by switching profiles with `mcpm activate`) without reconfiguring your client applications. They can always point to the MCPM Router's address.
154
+
155
+
For more technical details on the router's implementation and namespacing, see [`src/mcpm/router/README.md`](src/mcpm/router/README.md).
156
+
157
+
```bash
158
+
mcpm router status # Check if the router daemon is running
159
+
mcpm router on # Start the MCP router daemon
160
+
mcpm router off # Stop the MCP router daemon
161
+
mcpm set --host HOST --port PORT # Set the MCP router daemon's host and port
162
+
```
163
+
164
+
### 🛠️ Utilities (`util`)
93
165
94
-
## Roadmap
166
+
```bash
167
+
mcpm config clear-cache # Clear MCPM's registry cache. Cache defaults to refresh every 1 hour.
168
+
mcpm inspector # Launch the MCPM Inspector UI to examine server configs
169
+
```
95
170
96
-
-[x] Landing page setup
97
-
-[x] CLI foundation
98
-
-[x] Search
99
-
-[x] Install
100
-
-[x] Registry integration
101
-
-[ ] Server management functionality
102
-
-[ ] Support SSE Server
103
-
-[ ] Additional client support
104
-
-[ ] MCP profiles - collections of tools that can be added to any clients with a single command
171
+
### 📚 Registry
172
+
173
+
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](https://mcpm.sh/registry).
105
174
106
-
## Development
175
+
## 🗺️ Roadmap
176
+
177
+
-[x] Landing page setup (`mcpm.sh`)
178
+
-[x] Core CLI foundation (Click)
179
+
-[x] Client detection and management (`mcpm client`)
180
+
-[x] Basic server management (`mcpm add`, `mcpm ls`, `mcpm rm`)
181
+
-[x] Registry integration (`mcpm search`, adding by name)
0 commit comments