
ACP MCP Bridge
STDIOSTREAMABLE HTTPHTTP-SSEBridge server connecting ACP agents with MCP clients for seamless tool integration.
Bridge server connecting ACP agents with MCP clients for seamless tool integration.
A bridge server that connects Agent Communication Protocol (ACP) agents with Model Context Protocol (MCP) clients, enabling seamless integration between ACP-based AI agents and MCP-compatible tools like Claude Desktop.
# Install from PyPI pip install acp-mcp-server # Or use uvx for isolated execution uvx acp-mcp-server
# Run with STDIO (default, for Claude Desktop) acp-mcp-server # Run with SSE transport acp-mcp-server --transport sse --port 8000 # Run with HTTP transport acp-mcp-server --transport streamable-http --host 0.0.0.0 --port 9000 # Connect to different ACP server acp-mcp-server --acp-url http://localhost:8001
Add to your Claude Desktop configuration:
{ "mcpServers": { "acp-bridge": { "command": "uvx", "args": ["acp-mcp-server"] } } }
ACP_BASE_URL
: ACP server URL (default: http://localhost:8000
)usage: acp-mcp-server [-h] [--transport {stdio,sse,streamable-http}] [--host HOST] [--port PORT] [--path PATH] [--acp-url ACP_URL] [--version]
options:
-h, --help show this help message and exit
--transport {stdio,sse,streamable-http}
Transport protocol (default: stdio)
--host HOST Host address for HTTP transports (default: 127.0.0.1)
--port PORT Port number for HTTP transports (default: 8000)
--path PATH URL path for HTTP transports (default: /mcp)
--acp-url ACP_URL ACP server URL (default: http://localhost:8000)
--version show program's version number and exit
The bridge server provides several MCP tools:
discover_acp_agents
: Discover available ACP agentsget_agent_info
: Get detailed information about specific agentsrun_acp_agent
: Execute agents in sync/async modesget_async_run_result
: Retrieve results from async executionslist_active_runs
: List all active agent runssmart_route_request
: Intelligently route requests to best agentstest_routing
: Test routing logic without executionadd_routing_rule
: Add custom routing ruleslist_routing_strategies
: View all routing strategiesstart_interactive_agent
: Start interactive agent sessionsprovide_user_input
: Provide input to waiting agentslist_pending_interactions
: View pending interactionsconvert_acp_message
: Convert between ACP and MCP formatsanalyze_message_content
: Analyze message structure and content┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Client │ │ ACP-MCP Bridge │ │ ACP Agents │
│ (Claude Desktop)│◄──►│ Server │◄──►│ (echo, chat, │
│ │ │ │ │ translate...) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
MCP Protocol Protocol Bridge ACP Protocol
(STDIO/SSE/HTTP) (FastMCP + aiohttp) (HTTP/WebSocket)
Perfect for Claude Desktop integration:
acp-mcp-server
For web applications and streaming:
acp-mcp-server --transport sse --port 8000
For REST API integration:
acp-mcp-server --transport streamable-http --port 9000
# Build the image docker build -t acp-mcp-server . # Run with Streamable HTTP transport docker run -p 9000:9000 acp-mcp-server # Run with SSE transport docker run -p 8000:8000 acp-mcp-server \ --transport sse --host 0.0.0.0 --port 8000 # Connect to custom ACP server docker run -p 9000:9000 -e ACP_BASE_URL=http://my-acp-server:8001 acp-mcp-server
# Run HTTP transport service docker-compose up acp-mcp-http # Run SSE transport service docker-compose up acp-mcp-sse # Run both services docker-compose up # Run development mode with live code reload docker-compose --profile dev up acp-mcp-dev
For production deployments, use the multi-stage Dockerfile:
# Build production image docker build -f Dockerfile.prod -t acp-mcp-server:prod . # Run production container docker run -d \ --name acp-mcp-server \ --restart unless-stopped \ -p 9000:9000 \ -e ACP_BASE_URL=http://your-acp-server:8000 \ acp-mcp-server:prod
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.