Skip to content

benjaminjackson/mcp-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mcp-manager

A command-line tool for managing MCP (Model Context Protocol) servers in Claude projects using a simple YAML configuration file.

What is this?

MCP servers extend Claude's capabilities by connecting it to external tools and data sources. However, managing multiple MCP servers with their different installation commands, environment variables, and configurations can be complex.

mcp-manager solves this by letting you define all your MCP servers in a single .mcp.yml file, then install or remove them with simple commands.

Installation

Install the gem:

gem install mcp_manager

Copy the example configuration to your project:

cp .mcp.yml.example .mcp.yml

Configuration

Create a .mcp.yml file in your project root. Here's the format:

servers:
  server-name:
    description: "What this server does"
    command: "claude mcp add server-name -e REQUIRED_ENV_VAR=\"$REQUIRED_ENV_VAR\" -- installation-command"
    env_vars: ["REQUIRED_ENV_VAR"]

Real Examples

From the included .mcp.yml.example:

servers:
  github:
    description: "GitHub repository integration (requires Personal Access Token)"
    command: 'claude mcp add github -s local -e GITHUB_PERSONAL_ACCESS_TOKEN="$GITHUB_PERSONAL_ACCESS_TOKEN" -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server'
    env_vars:
      - GITHUB_PERSONAL_ACCESS_TOKEN

  asana-remote:
    description: "Asana task management (OAuth)"
    command: "claude mcp add asana-remote -- npx -y mcp-remote https://mcp.asana.com/sse"
    env_vars: []

  google-workspace:
    description: "Gmail/Calendar integration (requires OAuth credentials)"
    command: 'claude mcp add google-workspace -s local -e GOOGLE_OAUTH_CLIENT_ID="$GOOGLE_OAUTH_CLIENT_ID" -e GOOGLE_OAUTH_CLIENT_SECRET="$GOOGLE_OAUTH_CLIENT_SECRET" -e OAUTHLIB_INSECURE_TRANSPORT="1" -- uvx workspace-mcp@latest --tools gmail calendar'
    env_vars:
      - GOOGLE_OAUTH_CLIENT_ID
      - GOOGLE_OAUTH_CLIENT_SECRET

Usage

List available servers

mcp-manager list

Install a server

# Set required environment variables first
export GITHUB_PERSONAL_ACCESS_TOKEN="your-token-here"

# Install the server
mcp-manager install github

Remove a server

mcp-manager uninstall github

Commands

Command Aliases Description
install <server> add Install/add an MCP server
uninstall <server> remove, rm Uninstall/remove an MCP server
list List all available servers with descriptions
--help -h Show help message
--version -v Show version

Environment Variables

Many MCP servers require API keys or OAuth credentials. The tool will check for required environment variables before installation and guide you through setup:

# Example for GitHub integration
export GITHUB_PERSONAL_ACCESS_TOKEN="your-github-pat"

# Example for Google Workspace
export GOOGLE_OAUTH_CLIENT_ID="your-client-id"
export GOOGLE_OAUTH_CLIENT_SECRET="your-client-secret"

Add these to your shell profile (.zshrc, .bashrc, etc.) to persist them.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ben/mcp-manager.

License

The gem is available as open source under the terms of the MIT License.

About

Utility for adding and removing MCP servers to a Claude project with a simple YAML config.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages