A powerful CLI tool for curating and managing MCP (Model Context Protocol) server configurations across global and project scopes. Seamlessly save, load, and manage multiple MCP configurations with intelligent template adaptation.
- 📦 Save and load multiple MCP configurations (global and project-level)
- 🔄 Switch between different setups quickly
- 🎯 Preset configurations (minimal, standard, full, development)
- 💾 Backup and restore configurations
- 🛠️ Interactive server management
- 🏗️ Project-level configuration templates
- 🌍 Cross-platform support (macOS, Windows, Linux)
# Install globally from npm
npm install -g @moikas/mcp-curator
# Or clone and install locally
git clone https://github.com/moikas-code/mcp-curator.git
cd mcp-curator
npm install
npm link
# Initialize
mcp-curator init# Save your current Claude configuration
mcp-curator save my-config
# Apply a preset
mcp-curator preset development
# List saved configurations
mcp-curator list
# Load a saved configuration
mcp-curator load my-config
# Show current configuration
mcp-curator showInitialize the tool and detect Claude configuration location.
Save the current Claude MCP configuration.
- Options:
-d, --description <desc>: Add a description
Load and apply a saved configuration.
- Options:
-b, --backup: Backup current config before loading
List all saved configurations.
- Options:
-a, --all: Show all templates including built-in presets
Display current Claude MCP configuration.
- Options:
-j, --json: Output as JSON-m, --merged: Show merged configuration (global + project)
Apply a preset configuration to global Claude Desktop:
minimal: Basic filesystem accessstandard: Filesystem, memory, and sequential thinkingfull: All official MCP serversdevelopment: Development setup with code-audit and knowledge base
Apply a project template to global configuration.
- Options:
-b, --backup: Backup current global config before applying
Backup current configuration.
- Options:
-n, --name <name>: Specify backup name
Delete a saved configuration.
- Options:
-f, --force: Skip confirmation
Interactive server configuration (coming soon).
Initialize project MCP configuration in .mcp.json.
- Options:
-e, --example: Create with example server-f, --force: Overwrite existing configuration
Display current project MCP configuration.
- Options:
-j, --json: Output as JSON
Add a server to project configuration.
- Options:
-c, --command <cmd>: Server command-a, --args <args>: Command arguments (comma-separated)-e, --env <vars>: Environment variables (KEY=value, comma-separated)-u, --url <url>: SSE server URL-h, --headers <headers>: HTTP headers (key:value, comma-separated)-l, --local: Add to local config (.mcp.local.json) instead of shared-f, --force: Overwrite existing server
Remove a server from project configuration.
- Options:
-l, --local: Remove from local config only-s, --shared: Remove from shared config only
- Note: If server exists in both configs and no option is specified, it will be removed from both
Save current project configuration as a template.
- Options:
-d, --description <desc>: Add a description for this template-f, --force: Overwrite existing template
Load a saved project template.
- Options:
-b, --backup: Backup current project config before loading
List saved project templates.
Delete a saved project template.
- Options:
-f, --force: Skip confirmation
Apply a global preset to project configuration.
- Options:
-b, --backup: Backup current project config before applying
Claude Code supports project-level MCP configurations via .mcp.json files. These configurations are scoped to your project and can be committed to version control for team collaboration. Project configurations merge with global configurations, with project servers taking precedence.
In addition to shared project configuration, you can create a .mcp.local.json file for personal MCP servers that shouldn't be committed to version control. This is useful for:
- Personal development servers
- Local database connections
- API keys and sensitive configurations
- Experimental servers
The .mcp.local.json file:
- Is automatically added to
.gitignore - Takes precedence over
.mcp.jsonfor conflicting server names - Is merged with shared configuration when Claude Code loads
- Uses the same format as
.mcp.json
Save and load project configurations as reusable templates:
mcp-curator project save <name>- Save current project config as templatemcp-curator project load <name>- Load a saved templatemcp-curator project list- List all saved templatesmcp-curator project delete <name>- Delete a template
# 1. Initialize the tool
mcp-curator init
# 2. Save your current setup
mcp-curator save work-setup -d "My work environment"
# 3. Try a development preset
mcp-curator preset development
# 4. Save the development setup
mcp-curator save dev-setup -d "Development with all tools"
# 5. Switch between configurations
mcp-curator load work-setup
# Restart Claude Code
mcp-curator load dev-setup
# Restart Claude Code
# 6. List all your configurations
mcp-curator list# 1. Apply a global preset to project (NEW!)
mcp-curator project preset standard -b
# 2. Add project-specific servers
mcp-curator project add db-server -c "npx" -a "my-db-mcp" -e "DB_URL=localhost"
# 3. Add personal/local servers (git-ignored)
mcp-curator project add my-local-api --local -c "node" -a "./api-server.js" -e "API_KEY=${MY_API_KEY}"
# 4. Save as template for similar projects
mcp-curator project save backend-template -d "Backend project with DB access"
# 5. In a new project, load the template
mcp-curator project load backend-template
# 6. View merged configuration (global + project + local)
mcp-curator show -m
# 7. List available project templates
mcp-curator project list# 1. See everything available
mcp-curator list --all
# 2. Apply project template to global configuration (NEW!)
mcp-curator apply-project-template backend-template -b
# 3. Use any preset at project level (NEW!)
mcp-curator project preset development
# 4. Cross-scope template sharing
mcp-curator project save shared-template -d "Works for both global and project"
mcp-curator apply-project-template shared-templateSaved configurations are stored in:
- macOS:
~/Library/Preferences/mcp-curator-nodejs/ - Windows:
%APPDATA%\mcp-curator-nodejs\ - Linux:
~/.config/mcp-curator-nodejs/
Project-level configurations are stored in .mcp.json files at the project root. These files:
- Are scoped to the specific project
- Can be committed to version control for team collaboration
- Are merged with global configurations (project takes precedence)
- Support environment variable expansion (e.g.,
${API_KEY}) - Are recognized automatically by Claude Code
Project templates are stored alongside global configurations and can be reused across multiple projects.
When Claude Code loads MCP servers, it follows this precedence:
- Local scope (project-specific user settings)
- Project scope (
.mcp.json- team shared) - User scope (global configuration)
Within project scope, .mcp.local.json takes precedence over .mcp.json for any conflicting server names.
Edit your Claude configuration manually and save it:
{
"mcpServers": {
"my-custom-server": {
"command": "/path/to/server",
"args": ["--arg1", "--arg2"],
"env": {
"MY_ENV": "value"
}
}
}
}Then save it as a configuration:
mcp-curator save custom-setupMCP Curator is fully compatible with Claude Code's built-in MCP system:
- Project-level configs (
.mcp.json) created by MCP Curator are automatically recognized by Claude Code - Use alongside
claude mcpcommands - MCP Curator complements the built-in CLI - Security prompts - Claude Code will prompt for approval when using project-scoped servers
- Template system - Quickly apply consistent configurations across projects
- Always restart Claude Code after loading a configuration
- Backup before experimenting with
claude-mcp load -b <name> - Use descriptive names for your configurations
- Document your setups with descriptions
Run claude-mcp init to detect your Claude installation.
Make sure to fully restart Claude Code after loading a configuration.
The tool needs write access to your Claude configuration directory.
MIT