ACP-MCP-Server
Un servidor puente que conecta agentes del Protocolo de Comunicación de Agentes (ACP) con clientes del Protocolo de Contexto de Modelo (MCP).
Documentación
ACP-MCP-Server
Un servidor puente que conecta agentes del Protocolo de Comunicación de Agentes (ACP) con clientes del Protocolo de Contexto de Modelos (MCP), permitiendo una integración fluida entre agentes de IA basados en ACP y herramientas compatibles con MCP como Claude Desktop.
✨ Características
- 🔄 Puente de Protocolo: Conecta sin problemas agentes ACP con clientes MCP
- 🚀 Múltiples Transportes: Soporta STDIO, SSE y HTTP Streamable
- 🤖 Descubrimiento de Agentes: Descubrimiento y registro automático de agentes ACP
- 🧠 Enrutamiento Inteligente: Enrutamiento inteligente de solicitudes a los agentes adecuados
- 🔄 Soporte Asíncrono: Soporte completo para operaciones síncronas y asíncronas
- 💬 Sesiones Interactivas: Soporte para interacciones de agentes de múltiples turnos
- 🌐 Multimodal: Maneja texto, imágenes y otros tipos de contenido
🚀 Inicio Rápido
Instalación
# 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
Uso con Claude Desktop
Agregue a su configuración de Claude Desktop:
{
"mcpServers": {
"acp-bridge": {
"command": "uvx",
"args": ["acp-mcp-server"]
}
}
}
📋 Requisitos
- Python 3.11+
- Servidor ACP en ejecución con agentes
- FastMCP para la implementación del protocolo
🔧 Configuración
Variables de Entorno
ACP_BASE_URL: URL del servidor ACP (predeterminado:http://localhost:8000)
Opciones de Línea de Comandos
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
🛠️ Herramientas Disponibles
El servidor puente proporciona varias herramientas MCP:
Gestión de Agentes
discover_acp_agents: Descubrir agentes ACP disponiblesget_agent_info: Obtener información detallada sobre agentes específicos
Ejecución de Agentes
run_acp_agent: Ejecutar agentes en modos síncrono/asíncronoget_async_run_result: Recuperar resultados de ejecuciones asíncronaslist_active_runs: Listar todas las ejecuciones de agentes activas
Enrutamiento Inteligente
smart_route_request: Enrutar inteligentemente solicitudes a los mejores agentestest_routing: Probar la lógica de enrutamiento sin ejecuciónadd_routing_rule: Agregar reglas de enrutamiento personalizadaslist_routing_strategies: Ver todas las estrategias de enrutamiento
Sesiones Interactivas
start_interactive_agent: Iniciar sesiones interactivas de agentesprovide_user_input: Proporcionar entrada a agentes en esperalist_pending_interactions: Ver interacciones pendientes
Procesamiento de Mensajes
convert_acp_message: Convertir entre formatos ACP y MCPanalyze_message_content: Analizar la estructura y el contenido de los mensajes
🏗️ Arquitectura
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 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 (Predeterminado)
Perfecto para la integración con Claude Desktop:
acp-mcp-server
SSE (Eventos Enviados por el Servidor)
Para aplicaciones web y transmisión:
acp-mcp-server --transport sse --port 8000
HTTP Streamable
Para la integración con API REST:
acp-mcp-server --transport streamable-http --port 9000
🐳 Docker
Inicio Rápido con 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
Imagen Docker de Producción
Para implementaciones de producción, use el Dockerfile de múltiples 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
🤝 Contribuciones
¡Las contribuciones son bienvenidas! No dude en enviar una Solicitud de Extracción.
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulte el archivo LICENCIA para más detalles.
🔗 Proyectos Relacionados
- FastMCP - Marco de servidor MCP rápido y pitónico
- ACP SDK - SDK del Protocolo de Comunicación de Agentes
- Claude Desktop - Asistente de IA con soporte MCP