A2A ClientSAFE
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
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
a2asendtask
Send a task to an A2A agent
message(string): Message to send to the agenttaskId(string, optional): Task ID (generated if not provided)
a2agettask
Get the current state of a task
taskId(string): ID of the task to retrieve
a2acanceltask
Cancel a running task
taskId(string): ID of the task to cancel
a2asendtask_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, opt
182cbb0c09f7OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add a2a-client-mcp-server -- npx -y [email protected]
{
"mcpServers": {
"a2a-client-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (5)
3 read · 2 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
a2a_agent_info | read | Get information about the connected A2A agents |
a2a_cancel_task | read | Cancel a running task |
a2a_get_task | read | Get the current state of a task |
a2a_send_task | write | Send a task to an A2A agent |
a2a_send_task_subscribe | write | Send a task and subscribe to updates (streaming) |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (3 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (2)
@modelcontextprotocol/sdk, @types/node, shx, typescript
Gates applied: no_behavioural_pass, no_license.
182cbb0c09f7full audit observations/trust-audit/mcp-server/tesla0225__a2a-client.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 182cbb0c09f7 | SAFE | B | 89 | first audit |
Questions
What tools does A2A Client expose?
5 in total: 3 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is A2A Client safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does A2A Client need?
No credential environment variables were found in its source, so it appears to need none.
How does A2A Client run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as a2a-client-mcp-server at 0.1.0.
How current is this page?
The grade is for one exact copy of the source (182cbb0c09f7), read on 2026-10-08. The repository is watched and re-audited when it changes.