amcp
v1.0.0
Published
AMCP - A Management Clients Platform for Model Context Protocol (MCP) servers across multiple AI clients
Maintainers
Readme
AMCP - A Management Clients Platform
A CLI tool to manage MCP (Model Context Protocol) servers across multiple clients.
Overview
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.
Features
- 🚀 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)
Installation
From npm (Recommended)
# Install globally using npm
npm install -g amcp
# Or using pnpm
pnpm add -g amcp
# Or using yarn
yarn global add amcpFrom Source
# Clone the repository
git clone https://github.com/amcp/amcp.git
cd amcp
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Link globally
npm linkQuick Start
List available servers
amcp list serversConfiguration files are automatically created in
~/.amcp/on first use.List detected MCP clients
amcp list clientsInstall a server to all clients
amcp install filesystem
Configuration
servers.yml
Define your MCP servers in ~/.amcp/servers.yml:
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}"clients.yml
Client configurations are predefined in ~/.amcp/clients.yml. You can customize paths if needed:
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
amcp list servers
List all configured MCP servers. Configuration files are automatically created on first use.
amcp list clients [--detailed]
List all detected MCP clients.
--detailed: Show additional information including installed servers
amcp install <server-id> [options]
Install an MCP server to clients.
-c, --client <client-id>: Install to specific client only-b, --backup: Backup client config before installation-y, --yes: Skip confirmation prompts
Example:
# Install to all clients
amcp install filesystem
# Install to specific client
amcp install github -c vscode
# Install with backup
amcp install postgres -bamcp remove <server-id> [options]
Remove an MCP server from clients.
-c, --client <client-id>: Remove from specific client only-b, --backup: Backup client config before removal-y, --yes: Skip confirmation prompts
amcp backup [options]
Backup MCP client configurations.
-c, --client <client-id>: Backup specific client only
amcp restore [options]
Restore MCP client configurations from backup.
-c, --client <client-id>: Restore specific client only--latest: Restore the latest backup without prompting
amcp status [options]
Show installation status and track which servers are installed where.
-s, --server <server-id>: Show status for specific server-c, --client <client-id>: Show status for specific client-m, --matrix: Show installation matrix--sync: Sync state with actual installations
Examples:
# Show overall installation status
amcp status
# Show which clients have the filesystem server installed
amcp status -s filesystem
# Show which servers are installed in VSCode
amcp status -c vscode
# Show a matrix view of all installations
amcp status -m
# Sync state if installations were made outside of amcp
amcp status --syncServer 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_v2
Environment Variables
AMCP supports environment variable expansion in server configurations:
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
# Run in development mode
pnpm run dev
# Build the project
pnpm run build
# Clean build artifacts
pnpm run cleanTroubleshooting
Client not detected
- 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
Server installation fails
- Verify the server ID is correctly defined in servers.yml
- Check write permissions for the client configuration file
- Ensure the client configuration directory exists
Environment variables not working
- Set environment variables before running amcp
- Use
export VAR_NAME=valueon Unix-like systems - Use
set VAR_NAME=valueon Windows
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
