A2A Client MCP Server
An MCP server client for the Agent-to-Agent (A2A) protocol, enabling LLMs to interact with A2A agents.
A2A Client MCP Server
An MCP server that acts as a client to the Agent-to-Agent (A2A) protocol, allowing LLMs to interact with A2A agents through the Model Context Protocol (MCP).
Features
- Connect to any A2A-compatible agent
- Send and receive messages
- Track and manage tasks
- Support for streaming responses
- Query agent capabilities and metadata
Installation
Install globally
npm install -g a2a-client-mcp-server
Or run directly with npx
npx a2a-client-mcp-server
Configuration
Environment Variables
A2A_ENDPOINT_URL: URL of the A2A agent to connect to (default: "http://localhost:41241")
Usage with Claude Desktop
Add this to your claude_desktop_config.json:
NPX
npm run build npm link
{ "mcpServers": { "a2a-client": { "command": "npx", "args": ["-y", "a2a-client-mcp-server"], "env": { "A2A_ENDPOINT_URL": "http://localhost:41241" } } } }
Docker
Build the Docker image:
docker build -t a2a-client-mcp-server .
Configure Claude Desktop:
{ "mcpServers": { "a2a-client": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "A2A_ENDPOINT_URL", "a2a-client-mcp-server" ], "env": { "A2A_ENDPOINT_URL": "http://localhost:41241" } } } }
Available Tools
a2a_send_task
Send a task to an A2A agent
message(string): Message to send to the agenttaskId(string, optional): Task ID (generated if not provided)
a2a_get_task
Get the current state of a task
taskId(string): ID of the task to retrieve
a2a_cancel_task
Cancel a running task
taskId(string): ID of the task to cancel
a2a_send_task_subscribe
Send a task and subscribe to updates (streaming)
message(string): Message to send to the agenttaskId(string, optional): Task ID (generated if not provided)maxUpdates(number, optional): Maximum updates to receive (default: 10)
a2a_agent_info
Get information about the connected A2A agent
- No parameters required
Resources
The server provides access to two MCP resources:
a2a://agent-card: Information about the connected A2A agenta2a://tasks: List of recent A2A tasks
Example Usage
This example shows how to use A2A Client MCP Server to interact with a Coder Agent:
First, let me explore what A2A agent we're connected to.
I'll use the a2a_agent_info tool to check the agent details.
The agent provides a coding service that can generate files based on natural language instructions. Let's create a simple Python script.
I'll use the a2a_send_task tool to send a request:
Task: "Create a Python function that calculates the Fibonacci sequence"
Now I can check the task status using a2a_get_task with the task ID from the previous response.
The agent has created the requested Python code. I can now retrieve and use this code in my project.
Development
Install dependencies
npm install
Build the project
npm run build
Run in development mode
npm run watch
License
MIT
Related Servers
MCP Claude Hacker News
Interact with Hacker News through the Model Context Protocol (MCP), designed for Claude Desktop.
Slack MCP Server
An MCP server for interacting with Slack workspaces using user tokens, without requiring bots or special permissions.
Confluence
Interact with Confluence to execute CQL queries, retrieve page content, and update pages.
MCP Headless Gmail Server
A headless server to get and send emails via the Gmail API, requiring Google API credentials at runtime.
OpenAI Speech-to-Text
Transcribe audio files using OpenAI's Speech-to-Text API.
Telegram
Interact with the Telegram API to send and receive messages.
AskMeMCP
Enables AI assistants to request human input through a web interface, facilitating human-in-the-loop interactions.
NotifyMeMaybe
A server for sending multi-platform notifications and creating interactive AI workflows, with support for Telegram, webhooks, and synchronous user interactions.
Gmail AutoAuth MCP Server
Enables AI assistants to manage Gmail through natural language interactions.
Tangerine
An MCP server for Tangerine, the Convo AI assistant backend.