A2A协议服务器

A2A MCP服务器是一个用于与符合Agent-to-Agent协议的代理进行交互的工具,提供消息发送、任务管理和代理信息检索功能。

  • by ericabouaf
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 ericabouaf/a2a-mcp-server

使用说明

A2A MCP服务器

MCP(模型上下文协议)服务器,用于与符合代理对代理(A2A)协议的代理进行交互。

概述

此MCP服务器使LLM能够通过代理到代理协议与符合A2A的代理进行通信。它提供了用于发送消息、管理任务和检索代理信息的工具。

特性

  • a2a_send_消息:向A2A代理发送消息,并可选择继续现有对话
  • a2a_get_task:按任务ID检索任务状态和详细信息
  • a2a_cancel_task:取消正在运行的任务
  • a2a_get_agent_card:获取代理元数据和功能

安装

npm install
npm run build

用法

服务器通过stdio通信,可以在MCP客户端中配置:

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

工具

a2a_send_消息

向A2A代理发送消息。

参数:

  • agentCardUrl (字符串,必填):代理卡端点的URL
  • message (string,必填):要发送的消息文本
  • taskId (字符串,可选):要继续对话的现有任务ID

例子:

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

a2a_get_task

检索任务的状态和详细信息。

参数:

  • agentCardUrl (字符串,必填):代理卡端点的URL
  • taskId (string,必填):要检索的任务ID

a2a_cancel_task

取消正在运行的任务。

参数:

  • agentCardUrl (字符串,必填):代理卡端点的URL
  • taskId (string,必填):要取消的任务ID

a2a_get_agent_card

使用元数据和功能检索代理的卡。

参数:

  • agentCardUrl (字符串,必填):代理卡端点的URL

发展

# 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

许可证

麻省理工学院