ACP-MCP-Server
Um servidor de ponte que conecta agentes do Protocolo de Comunicação entre Agentes (ACP) com clientes do Protocolo de Contexto de Modelo (MCP).
Documentação
ACP-MCP-Server
Um servidor de ponte que conecta agentes do Agent Communication Protocol (ACP) com clientes do Model Context Protocol (MCP), permitindo integração perfeita entre agentes de IA baseados em ACP e ferramentas compatíveis com MCP, como o Claude Desktop.
✨ Recursos
- 🔄 Ponte de Protocolo: Conecta agentes ACP com clientes MCP de forma transparente
- 🚀 Múltiplos Transportes: Suporta STDIO, SSE e HTTP Streamable
- 🤖 Descoberta de Agentes: Descoberta e registro automáticos de agentes ACP
- 🧠 Roteamento Inteligente: Roteamento inteligente de solicitações para os agentes apropriados
- 🔄 Suporte Assíncrono: Suporte completo para operações síncronas e assíncronas
- 💬 Sessões Interativas: Suporte para interações de múltiplas etapas com agentes
- 🌐 Multimodal: Lida com texto, imagens e outros tipos de conteúdo
🚀 Início Rápido
Instalação
# Install from PyPI
pip install acp-mcp-server
# Or use uvx for isolated execution
uvx acp-mcp-server
Uso Básico
# 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
Usando com o Claude Desktop
Adicione à configuração do seu Claude Desktop:
{
"mcpServers": {
"acp-bridge": {
"command": "uvx",
"args": ["acp-mcp-server"]
}
}
}
📋 Requisitos
- Python 3.11+
- Servidor ACP em execução com agentes
- FastMCP para implementação do protocolo
🔧 Configuração
Variáveis de Ambiente
ACP_BASE_URL: URL do servidor ACP (padrão:http://localhost:8000)
Opções de Linha de Comando
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
🛠️ Ferramentas Disponíveis
O servidor de ponte fornece várias ferramentas MCP:
Gerenciamento de Agentes
discover_acp_agents: Descubra agentes ACP disponíveisget_agent_info: Obtenha informações detalhadas sobre agentes específicos
Execução de Agentes
run_acp_agent: Execute agentes em modos síncrono/assíncronoget_async_run_result: Recupere resultados de execuções assíncronaslist_active_runs: Liste todas as execuções de agentes ativas
Roteamento Inteligente
smart_route_request: Roteie solicitações de forma inteligente para os melhores agentestest_routing: Teste a lógica de roteamento sem execuçãoadd_routing_rule: Adicione regras de roteamento personalizadaslist_routing_strategies: Visualize todas as estratégias de roteamento
Sessões Interativas
start_interactive_agent: Inicie sessões interativas com agentesprovide_user_input: Forneça entrada para agentes em esperalist_pending_interactions: Visualize interações pendentes
Processamento de Mensagens
convert_acp_message: Converta entre formatos ACP e MCPanalyze_message_content: Analise a estrutura e o conteúdo das mensagens
🏗️ Arquitetura
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 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)
🔌 Modos de Transporte
STDIO (Padrão)
Perfeito para integração com o Claude Desktop:
acp-mcp-server
SSE (Server-Sent Events)
Para aplicações web e streaming:
acp-mcp-server --transport sse --port 8000
HTTP Streamable
Para integração com API REST:
acp-mcp-server --transport streamable-http --port 9000
🐳 Docker
Início Rápido com Docker
# 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
Usando Docker Compose
# 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
Imagem Docker de Produção
Para implantações em produção, use o Dockerfile de múltiplas etapas:
# 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
🤝 Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
📄 Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
🔗 Projetos Relacionados
- FastMCP - Framework de servidor MCP rápido e Pythonico
- ACP SDK - SDK do Protocolo de Comunicação de Agentes
- Claude Desktop - Assistente de IA com suporte a MCP