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
MCP CLI is a command-line tool for managing Model Context Protocol (MCP) server configurations. It simplifies the pain points of working with MCP by providing a YAML-based configuration approach inspired by Docker Compose.
4
+
5
+
## Core Problems Solved
6
+
7
+
- Eliminates manual JSON file editing for MCP configurations
8
+
- Manages similar config files across different AI tools (Amazon Q CLI, Claude Desktop, Cursor)
9
+
- Handles secret environment variables securely
10
+
- Enables experimentation with new MCP servers
11
+
- Supports switching between different configurations based on context (programming, writing, research)
12
+
13
+
## Key Features
14
+
15
+
-**Profile-based organization**: Group MCP servers by use case using labels
16
+
-**Multi-tool support**: Deploy configurations to various AI tools via shortcuts
17
+
-**Environment variable expansion**: Secure handling of secrets and dynamic values
18
+
-**Container support**: Works with both command-based and Docker image-based MCP servers
19
+
-**Default configurations**: Sensible defaults with override capabilities
20
+
21
+
## Target Users
22
+
23
+
Developers and AI tool users who work with multiple MCP servers and need efficient configuration management across different AI tools and contexts.
Copy file name to clipboardExpand all lines: README.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,15 @@ MCP CLI is a tool for managing MCP server configuration files.
4
4
5
5
## Why?
6
6
7
-
Model Context Protocol (MCP) is a new technology and still evolving. As I've been using it, I have encountered several pain points:
7
+
Model Context Protocol (MCP) is a new technology and still evolving. As I've been using it, I have encountered several pain points:
8
8
9
9
- Manually editing JSON files
10
10
- Managing similar config files for different AI tools
11
11
- Dealing with secret envvars
12
12
- Experimenting with new MCP servers
13
13
- Switching between different configurations based on what I'm doing (e.g., programming, writing, researching)
14
14
15
-
I decided to write up some specs for a tool (written in Go) that could help with these pain points and try to "vibe code" it. This is the result. Please don't judge the code quality. I didn't write or edit a single line :)
15
+
I decided to write up some specs for a tool (written in Go) that could help with these pain points and try to "vibe code" it. This is the result. Please don't judge the code quality. I didn't write or edit a single line :)
16
16
17
17
## Usage
18
18
@@ -88,6 +88,9 @@ mcp set programming -t cursor
88
88
# Set a specific server for Claude Desktop
89
89
mcp set -t claude-desktop -s github
90
90
91
+
# Set programming profile servers for Kiro IDE
92
+
mcp set programming -t kiro
93
+
91
94
# Use a custom output location
92
95
mcp set -c /path/to/output/mcp.json
93
96
```
@@ -111,6 +114,7 @@ MCP CLI supports these predefined tool shortcuts for popular AI tools:
-`claude-desktop` - Claude Desktop (`$HOME/Library/Application Support/Claude/claude_desktop_config.json`)
113
116
-`cursor` - Cursor IDE (`$HOME/.cursor/mcp.json`)
117
+
-`kiro` - Kiro IDE (`$HOME/.kiro/settings/mcp.json`)
114
118
115
119
### Setting Default AI Tool
116
120
@@ -142,7 +146,6 @@ Organize your MCP servers with profiles using the `labels` field in your `mcp-co
142
146
143
147
```yaml
144
148
services:
145
-
146
149
brave:
147
150
image: mcp/brave-search
148
151
environment:
@@ -164,7 +167,6 @@ mcp set programming -t claude-desktop
164
167
165
168
Services without the label are considered defaults.
166
169
167
-
168
170
## How?
169
171
170
172
It turns out that the Docker Compose (`docker-compose.yml`) specification already has good support for MCP stdio configuration where services map to MCP servers with `command`s, `image`s, `environment`s/`env_files`s, and `label`s for profiles. Another added benefit of this is you can run `docker compose pull -f mcp-compose.yml` and it will pre-fetch all the container images.
0 commit comments