AMCP - A Management Clients Platform for Model Context Protocol (MCP) servers across multiple AI clients
npm install amcpA CLI tool to manage MCP (Model Context Protocol) servers across multiple clients.
AMCP (A Management Clients Platform) is a unified platform for managing MCP servers across multiple AI clients. The name reflects its purpose: providing A comprehensive Management solution for Clients on a single Platform. It simplifies the installation and configuration of MCP servers for Claude Desktop, VSCode, Cursor, and more, eliminating the need to manually edit each client's configuration files.
- 🚀 One-command installation of MCP servers to multiple clients
- 🔍 Auto-detection of installed MCP clients
- 📝 YAML-based configuration for easy server and client management
- 💾 Backup and restore functionality for client configurations
- 🎯 Targeted installation to specific clients
- 📦 Built-in support for popular MCP clients (Claude Desktop, VSCode, Cursor, Windsurf, Zed)
``bashInstall globally using npm
npm install -g amcp
$3
`bash
Clone the repository
git clone https://github.com/amcp/amcp.git
cd amcpInstall dependencies
pnpm installBuild the project
pnpm run buildLink globally
npm link
`Quick Start
1. List available servers
`bash
amcp list servers
`
Configuration files are automatically created in ~/.amcp/ on first use.2. List detected MCP clients
`bash
amcp list clients
`3. Install a server to all clients
`bash
amcp install filesystem
`Configuration
$3
Define your MCP servers in
~/.amcp/servers.yml:`yaml
servers:
filesystem:
name: "Filesystem Server"
description: "Access local files and directories"
command: "npx"
args:
- "-y"
- "@modelcontextprotocol/server-filesystem"
defaultPaths:
- "~/Desktop"
- "~/Documents"
github:
name: "GitHub Server"
description: "Access GitHub repositories"
command: "npx"
args:
- "-y"
- "@modelcontextprotocol/server-github"
env:
GITHUB_TOKEN: "${GITHUB_TOKEN}"
`$3
Client configurations are predefined in
~/.amcp/clients.yml. You can customize paths if needed:`yaml
clients:
claude-desktop:
name: "Claude Desktop"
platform: ["darwin", "win32", "linux"]
configPaths:
darwin: "~/Library/Application Support/Claude/claude_desktop_config.json"
win32: "%APPDATA%/Claude/claude_desktop_config.json"
linux: "~/.config/Claude/claude_desktop_config.json"
`Commands
$3
List all configured MCP servers. Configuration files are automatically created on first use.$3
List all detected MCP clients.
- --detailed: Show additional information including installed servers$3
Install an MCP server to clients.
- -c, --client : Install to specific client only
- -b, --backup: Backup client config before installation
- -y, --yes: Skip confirmation promptsExample:
`bash
Install to all clients
amcp install filesystemInstall to specific client
amcp install github -c vscodeInstall with backup
amcp install postgres -b
`$3
Remove an MCP server from clients.
- -c, --client : Remove from specific client only
- -b, --backup: Backup client config before removal
- -y, --yes: Skip confirmation prompts$3
Backup MCP client configurations.
- -c, --client : Backup specific client only$3
Restore MCP client configurations from backup.
- -c, --client : Restore specific client only
- --latest: Restore the latest backup without prompting$3
Show installation status and track which servers are installed where.
- -s, --server : Show status for specific server
- -c, --client : Show status for specific client
- -m, --matrix: Show installation matrix
- --sync: Sync state with actual installationsExamples:
`bash
Show overall installation status
amcp statusShow which clients have the filesystem server installed
amcp status -s filesystemShow which servers are installed in VSCode
amcp status -c vscodeShow a matrix view of all installations
amcp status -mSync state if installations were made outside of amcp
amcp status --sync
`Server ID Rules
Server IDs must follow these rules:
- Start with a lowercase letter
- Contain only lowercase letters, numbers, hyphens (-), and underscores (_)
- Be 3-50 characters long
Valid examples:
filesystem, my-server, custom_api_v2Environment Variables
AMCP supports environment variable expansion in server configurations:
`yaml
servers:
my-api:
name: "My API Server"
command: "node"
args: ["server.js"]
env:
API_KEY: "${MY_API_KEY}"
DATABASE_URL: "${DATABASE_URL}"
`Supported Clients
- Claude Desktop - Anthropic's desktop application
- VSCode - Visual Studio Code with MCP extension
- Cursor - AI-powered code editor
- Windsurf - Codeium's AI code editor
- Zed - High-performance code editor
Development
`bash
Run in development mode
pnpm run devBuild the project
pnpm run buildClean build artifacts
pnpm run clean
`Troubleshooting
$3
- Ensure the MCP client is installed
- Check if the configuration file exists at the expected location
- For VSCode workspaces, open the workspace folder before running detection$3
- Verify the server ID is correctly defined in servers.yml
- Check write permissions for the client configuration file
- Ensure the client configuration directory exists$3
- Set environment variables before running amcp
- Use export VAR_NAME=value on Unix-like systems
- Use set VAR_NAME=value` on WindowsMIT
Contributions are welcome! Please feel free to submit a Pull Request.