ACP to MCP Adapter

ACP to MCP Adapter

Bridges Agent Communication Protocol (ACP) agents with Model Context Protocol (MCP) applications, allowing MCP clients such as Claude Desktop to discover and invoke ACP agents as tools and resources.

Category
Visit Server

README

<div align="left">

<h1>ACP to MCP Adapter</h1>

Connect ACP Agents to MCP Applications Seamlessly

Apache 2.0 Follow on Bluesky Join our Discord LF AI & Data

</div>

The ACP to MCP Adapter is a lightweight standalone server that acts as a bridge between two AI ecosystems: Agent Communication Protocol (ACP) for agent-to-agent communication and Model Context Protocol (MCP) for connecting AI models to external tools. It allows MCP applications (like Claude Desktop) to discover and interact with ACP agents as resources.

Capabilities & Tradeoffs

This adapter enables interoperability between ACP and MCP with specific benefits and tradeoffs:

Benefits

  • Makes ACP agents discoverable as MCP resources
  • Exposes ACP agent runs as MCP tools
  • Bridges two ecosystems with minimal configuration

Current Limitations

  • ACP agents become MCP tools instead of conversational peers
  • No streaming of incremental updates
  • No shared memory across servers
  • Basic content translation between formats without support for complex data structures

This adapter is best for situations where you need ACP agents in MCP environments and accept these compromises.

Requirements

  • Python 3.11 or higher
  • Installed Python packages: acp-sdk, mcp
  • An ACP server running (Tip: Follow the ACP quickstart to start one easily)
  • An MCP client application (We use Claude Desktop in the quickstart)

Quickstart

1. Run the Adapter

Start the adapter and connect it to your ACP server:

uvx acp-mcp http://localhost:8000

[!NOTE] Replace http://localhost:8000 with your ACP server URL if different.

<details> <summary><strong>Prefer Docker?</strong></summary>

docker run -i --rm ghcr.io/i-am-bee/acp-mcp http://host.docker.internal:8000

Tip: host.docker.internal allows Docker containers to reach services running on the host (adjust if needed for your setup).

</details>

2. Connect via Claude Desktop

To connect via Claude Desktop, follow these steps:

  1. Open the Claude menu on your computer and navigate to Settings (note: this is separate from the in-app Claude account settings).
  2. Navigate to Developer > Edit Config
  3. The config file will be created here:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. Edit the file with the following:
{
  "mcpServers": {
    "acp-local": {
      "command": "uvx",
      "args": ["acp-mcp", "http://localhost:8000"]
    }
  }
}

<details> <summary><strong>Prefer Docker?</strong></summary>

{
  "mcpServers": {
    "acp-docker": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/i-am-bee/acp-mcp",
        "http://host.docker.internal:8000"
      ]
    }
  }
}

</details>

3. Restart Claude Desktop and Invoke Your ACP Agent

After restarting, invoke your ACP agent with:

use "echo" agent with the "Good morning!" input

Accept the integration and observe the agent running.

Screenshot of Claude Desktop invoking the echo agent

MCP Resources

[!TIP] ACP agents are also registered as MCP resources in Claude Desktop.<br /> To attach them manually, click the Resources icon (two plugs connecting) in the sidebar, labeled "Attach from MCP", then select an agent like acp://agents/echo.

How It Works

  1. The adapter connects to your ACP server.
  2. It automatically discovers all registered ACP agents.
  3. Each ACP agent is registered in MCP as a resource using the URI: acp://agents/{agent_name}
  4. The adapter provides a new MCP tool called run_agent, letting MCP apps easily invoke ACP agents.

Supported Transports

  • Currently supports Stdio transport

Developed by contributors to the BeeAI project, this initiative is part of the Linux Foundation AI & Data program. Its development follows open, collaborative, and community-driven practices.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured