Skip to main content
Glama
README.md
# A2A MCP Server

MCP (Model Context Protocol) server for interacting with Agent-to-Agent (A2A) protocol compliant agents.

## Overview

This MCP server enables LLMs to communicate with A2A-compliant agents through the Agent-to-Agent protocol. It provides tools for sending messages, managing tasks, and retrieving agent information.

## Features

- **a2a_send_message**: Send messages to A2A agents and optionally continue existing conversations
- **a2a_get_task**: Retrieve task status and details by task ID
- **a2a_cancel_task**: Cancel a running task
- **a2a_get_agent_card**: Fetch agent metadata and capabilities

## Installation

```bash
npm install
npm run build
```

## Usage

The server communicates via stdio and can be configured in your MCP client:

```json
{
  "mcpServers": {
    "a2a": {
      "command": "node",
      "args": ["/path/to/a2a-mcp-server/dist/index.js"]
    }
  }
}
```

## Tools

### a2a_send_message

Send a message to an A2A agent.

**Parameters:**
- `agentCardUrl` (string, required): URL to the agent's card endpoint
- `message` (string, required): The message text to send
- `taskId` (string, optional): Existing task ID to continue conversation

**Example:**
```typescript
{
  "agentCardUrl": "https://example.com/.well-known/agent-card.json",
  "message": "Hello, what can you do?",
  "taskId": "optional-task-id-to-continue"
}
```

### a2a_get_task

Retrieve the status and details of a task.

**Parameters:**
- `agentCardUrl` (string, required): URL to the agent's card endpoint
- `taskId` (string, required): The task ID to retrieve

### a2a_cancel_task

Cancel a running task.

**Parameters:**
- `agentCardUrl` (string, required): URL to the agent's card endpoint
- `taskId` (string, required): The task ID to cancel

### a2a_get_agent_card

Retrieve an agent's card with metadata and capabilities.

**Parameters:**
- `agentCardUrl` (string, required): URL to the agent's card endpoint

## Development

```bash
# Install dependencies
npm install

# Run in development mode with auto-reload
npm run dev

# Build for production
npm run build

# Run the built server
npm start
```

## License

MIT

TDQS

A4.8/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct A2A operation: sending messages, retrieving tasks, canceling tasks, and fetching agent cards. There is no meaningful overlap between their purposes, and the descriptions include explicit cross-references to prevent misselection.

Naming Consistency5/5

All tools follow the same a2a_<verb>_<noun> pattern: a2a_send_message, a2a_get_task, a2a_cancel_task, and a2a_get_agent_card. The naming is uniform, predictable, and clearly indicates the action and resource involved.

Tool Count5/5

Four tools is well-scoped for an A2A protocol server. Each tool covers one essential protocol interaction without unnecessary redundancy or missing core functionality.

Completeness5/5

The tool set covers the essential A2A workflow: discovering agent capabilities via the agent card, sending messages, checking task status, and canceling tasks. This is a complete surface for the stated purpose of interacting with A2A-compliant agents.

Maintenance

ActivityNo data
ResponsivenessNo issues