Token导航 LogoToken导航TokenDH.com
MCP a2a gateway logo
AI代理stdio官方级别未说明来源级核验

MCP a2a gateway

MCP Server

连接Model Context Protocol (MCP)和Agent-to-Agent (A2A)协议的网关服务器,使MCP兼容的AI助手(如Claude)能够无缝与A2A代理交互。

工具数

6

提示词数

0

GitHub Stars

7

资源数

0
多协议支持PythonClaude实时交互Claude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

yw0nam

提供方

yw0nam

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx mcp-a2a-gateway

详细介绍

MCP-A2A-网关

![License](https://opensource.org/licenses/Apache-2.0) ![](https://badge.mcpx.dev?type=server "MCP Server") ](https://smithery.ai/server/@yw0nam/mcp_a2a_gateway)

cover_image 一种网关服务器,将模型上下文协议(MCP)与代理到代理(A2A)协议连接起来,使MCP兼容的AI助手(如Claude)能够与A2A代理无缝交互。

概述

该项目作为两个尖端AI代理协议之间的集成层:

  • 模型上下文协议(MCP)MCP由Anthropic开发,允许AI助手连接到外部工具和数据源。它规范了人工智能应用程序和大型语言模型如何以安全、可组合的方式连接到外部资源。
  • 代理对代理协议(A2A)A2A由谷歌开发,通过标准化的JSON-RPC接口实现不同AI代理之间的通信和互操作性。

通过桥接这些协议,该服务器允许MCP客户端(如Claude)通过统一的接口发现、注册、通信和管理A2A代理上的任务。

快速开始

🎉 该软件包现在可以在PyPI上使用!

无需安装

# Run with default settings (stdio transport)
uvx mcp-a2a-gateway

# Run with HTTP transport for web clients
MCP_TRANSPORT=streamable-http MCP_PORT=10000 uvx mcp-a2a-gateway

# Run with custom data directory
MCP_DATA_DIR="/Users/your-username/Desktop/a2a_data" uvx mcp-a2a-gateway

# Run with specific version
uvx mcp-a2a-gateway==0.1.6

# Run with multiple environment variables
MCP_TRANSPORT=stdio MCP_DATA_DIR="/custom/path" LOG_LEVEL=DEBUG uvx mcp-a2a-gateway

发展(地方)

# Clone and run locally
git clone https://github.com/yw0nam/MCP-A2A-Gateway.git
cd MCP-A2A-Gateway

# Run with uv
uv run mcp-a2a-gateway

# Run with uvx from local directory
uvx --from . mcp-a2a-gateway

# Run with custom environment for development
MCP_TRANSPORT=streamable-http MCP_PORT=8080 uvx --from . mcp-a2a-gateway

演示

1、在A2A示例中运行hello world代理

agent

also support cloud deployed Agent

cloudAgent

2、使用Claude或github copilot注册代理。

register_claude register_copilot

3、使用Claude向hello Agent发送任务并获取结果。

send_message

4、使用Claude检索任务结果。

retrieve_result

特性

  • 代理管理

- 在网桥服务器上注册A2A代理 - 列出所有注册代理人 - 不再需要时注销代理

  • 沟通

- 向A2A代理发送消息并接收响应 - 异步消息发送以获得即时服务器响应。 - 实时流式传输A2A代理的响应

  • 任务管理

- 跟踪哪个A2A代理处理哪个任务 - 使用任务ID检索任务结果 - 获取所有任务及其状态的列表。 - 取消正在运行的任务

  • 运输支持

- 多种传输类型:stdio、可流式传输http、SSE - 使用MCP_transport环境变量配置传输类型

先决条件

在开始之前,请确保已安装以下内容:

  • Python 3.11+
  • 紫外线 (用于地方发展)

安装

Option 1: Direct Run with uvx (Recommended)

使用直接运行,无需安装 uvx:

uvx mcp-a2a-gateway

Option 2: Local Development

  1. 克隆存储库:
git clone https://github.com/yw0nam/MCP-A2A-Gateway.git
cd MCP-A2A-Gateway
  1. 使用紫外线运行:
uv run mcp-a2a-gateway
  1. 或者使用带有本地路径的uvx:
uvx --from . mcp-a2a-gateway

Option 3: HTTP (For Web Clients)

使用HTTP传输启动服务器:

# Using uvx
MCP_TRANSPORT=streamable-http MCP_HOST=0.0.0.0 MCP_PORT=10000 uvx mcp-a2a-gateway

Option 4: Server-Sent Events

使用SSE传输启动服务器:

# Using uvx
MCP_TRANSPORT=sse MCP_HOST=0.0.0.0 MCP_PORT=10000 uvx mcp-a2a-gateway

配置

环境变量

可以使用以下环境变量配置服务器:

变量默认值描述
MCP_TRANSPORTstdio运输类型: stdio, streamable-http,或 sse
MCP_HOST0.0.0.0HTTP/SSE传输主机
MCP_PORT8000HTTP/SSE传输端口
MCP_PATH/mcpHTTP端点路径
MCP_DATA_DIRdata持久数据存储目录
MCP_REQUEST_TIMEOUT30请求超时(秒)
MCP_REQUEST_IMMEDIATE_TIMEOUT2立即响应超时(秒)
LOG_LEVELINFO日志记录级别: DEBUG, INFO, WARNING, ERROR

示例.env文件:

# Transport configuration
MCP_TRANSPORT=stdio
MCP_HOST=0.0.0.0
MCP_PORT=10000
MCP_PATH=/mcp

# Data storage
MCP_DATA_DIR=/Users/your-username/Desktop/data/a2a_gateway

# Timeouts
MCP_REQUEST_TIMEOUT=30
MCP_REQUEST_IMMEDIATE_TIMEOUT=2

# Logging
LOG_LEVEL=INFO

运输类型

A2A MCP服务器支持多种传输类型:

  1. 标准 (默认):使用标准输入/输出进行通信

- 非常适合命令行使用和测试 - 未启动HTTP服务器 - Claude Desktop需要

  1. 可流式传输http (建议用于web客户端):支持流媒体的HTTP传输

- 建议用于生产部署 - 启动HTTP服务器以处理MCP请求 - 支持大响应的流式传输

  1. SSE:服务器发送事件传输

- 提供实时事件流 - 可用于实时更新

连接github副本

For HTTP/SSE Transport

将以下内容添加到sse或http的VS Code settings.json中:

"mcpServers": {
  "mcp_a2a_gateway": {
    "url": "http://0.0.0.0:10000/mcp"
  }
}

For STDIO Transport - Using uvx (Published Package)

"mcpServers": {
  "mcp_a2a_gateway": {
    "type": "stdio",
    "command": "uvx",
    "args": ["mcp-a2a-gateway"],
    "env": {
      "MCP_TRANSPORT": "stdio",
      "MCP_DATA_DIR": "/Users/your-username/Desktop/data/Copilot/a2a_gateway/"
    }
  }
}

For STDIO Transport - Using uvx (Local Development)

"mcpServers": {
  "mcp_a2a_gateway": {
    "type": "stdio",
    "command": "uvx",
    "args": ["--from", "/path/to/MCP-A2A-Gateway", "mcp-a2a-gateway"],
    "env": {
      "MCP_TRANSPORT": "stdio",
      "MCP_DATA_DIR": "/Users/your-username/Desktop/data/Copilot/a2a_gateway/"
    }
  }
}

For STDIO Transport - Using uv (Local Development)

"mcpServers": {
  "mcp_a2a_gateway": {
    "type": "stdio",
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/MCP-A2A-Gateway",
      "run",
      "mcp-a2a-gateway"
    ],
    "env": {
      "MCP_TRANSPORT": "stdio",
      "MCP_DATA_DIR": "/Users/your-username/Desktop/data/Copilot/a2a_gateway/"
    }
  }
}

连接claude桌面

Using uvx (Published Package)

将此添加到claude_config.json

"mcpServers": {
  "mcp_a2a_gateway": {
    "command": "uvx",
    "args": ["mcp-a2a-gateway"],
    "env": {
      "MCP_TRANSPORT": "stdio",
      "MCP_DATA_DIR": "/Users/your-username/Desktop/data/Claude/a2a_gateway/"
    }
  }
}

Using uvx (Local Development)

将此添加到claude_config.json

"mcpServers": {
  "mcp_a2a_gateway": {
    "command": "uvx",
    "args": ["--from", "/path/to/MCP-A2A-Gateway", "mcp-a2a-gateway"],
    "env": {
      "MCP_TRANSPORT": "stdio",
      "MCP_DATA_DIR": "/Users/your-username/Desktop/data/Claude/a2a_gateway/"
    }
  }
}

Using uv (Local Development)

将此添加到claude_config.json

"mcpServers": {
  "mcp_a2a_gateway": {
    "command": "uv",
    "args": ["--directory", "/path/to/MCP-A2A-Gateway", "run", "mcp-a2a-gateway"],
    "env": {
      "MCP_TRANSPORT": "stdio",
      "MCP_DATA_DIR": "/Users/your-username/Desktop/data/Claude/a2a_gateway/"
    }
  }
}

可用的MCP工具

服务器公开了以下MCP工具,用于与Claude等LLM集成:

代理管理

  • 注册代理:在网桥服务器上注册A2A代理
  {
    "name": "register_agent",
    "arguments": {
      "url": "http://localhost:41242"
    }
  }
  • 列表_代理:获取所有注册代理人的列表
  {
    "name": "list_agents",
    "arguments": {"dummy": "" }
  }
  • 注销代理:从网桥服务器中删除A2A代理
  {
    "name": "unregister_agent",
    "arguments": {
      "url": "http://localhost:41242"
    }
  }

消息处理

  • send_message:向代理发送消息并获取响应的task_id
  {
    "name": "send_message",
    "arguments": {
      "agent_url": "http://localhost:41242",
      "message": "What's the exchange rate from USD to EUR?",
      "session_id": "optional-session-id"
    }
  }

任务管理

  • get_task_result:使用任务的ID检索任务的结果
  {
    "name": "get_task_result",
    "arguments": {
      "task_id": "b30f3297-e7ab-4dd9-8ff1-877bd7cfb6b1",
    }
  }
  • get_task_list:获取所有任务及其状态的列表。
  {
      "name": "get_task_list",
      "arguments": {}
  }

路线图和如何做出贡献

我们正在积极开发和改进网关!我们欢迎各种捐助。这是我们目前的发展路线图,重点是首先建立一个坚如磐石的基础。

核心稳定性和开发经验(需要帮助!👍)

这是我们目前的重点。我们的目标是使网关尽可能稳定和易于使用。

  • \[ \] 实现流媒体响应:完全支持A2A代理的流式响应。
  • \[ \] 加强错误处理:为所有场景提供更清晰的错误消息和正确的HTTP状态代码。
  • \[ \] 输入验证:在注册过程中对代理URL进行消毒和验证,以提高安全性。
  • \[ \] 添加健康检查终结点:一个简单的 /health 用于监视服务器状态的端点。
  • \[ \] 配置验证:启动时检查必要的环境变量。
  • \[ \] 综合集成测试:增加测试覆盖率以确保可靠性。
  • \[ \] 取消任务:执行任务取消
  • \[ \] 实施流媒体更新:实现流任务更新。以便用户检查进度。

社区与分销

  • \[x\] 简易安装:添加对的支持 uvx
  • \[ \] Docker支持:提供Docker Compose设置以便于部署。
  • \[ \] 更好的文档:创建一个专门的文档网站或扩展Wiki。

______________________________________________________________________

想贡献吗? 查看问题选项卡,或随时打开一个新的选项卡来讨论您的想法!

许可证

此项目根据Apache许可证2.0版获得许可-请参阅 许可证 文件以获取详细信息。

致谢

自动发布和发布

该项目通过GitHub Actions使用自动发布实现无缝发布。

自动发布流程

选项1:使用发布脚本(推荐)

# Patch release (0.1.6 → 0.1.7)
./release.sh patch

# Minor release (0.1.6 → 0.2.0)  
./release.sh minor

# Major release (0.1.6 → 1.0.0)
./release.sh major

脚本将:

  1. ✅ 检查你是否在主分支上,工作目录是否干净
  2. 📈 自动插入版本 pyproject.toml
  3. 🔨 在本地构建和测试包
  4. 📤 提交版本更改并创建git标签
  5. 🚀 推送到GitHub,触发PyPI自动发布

选项2:手动创建标签

# Update version in pyproject.toml manually
# Then create and push a tag
git add pyproject.toml
git commit -m "chore: bump version to 0.1.7"
git tag v0.1.7
git push origin main
git push origin v0.1.7

选项3:GitHub发布

  1. 首选https://github.com/yw0nam/MCP-A2A-Gateway/releases
  2. 点击“创建新版本”
  3. 选择或创建标签(例如。, v0.1.7)
  4. 填写发布说明
  5. 发布发布

设置自动发布

若要启用自动发布,请将您的PyPI API令牌添加到GitHub机密:

  1. 获取PyPI API令牌:

- 首选https://pypi.org/manage/account/token/ - 创建具有“整个帐户”范围的新令牌 - 复制令牌(以开头 pypi-)

  1. 添加到GitHub Secrets:

- 转到您的存储库→ 设置→ 秘密与变量→ 行动 - 添加新的存储库密钥: - 名字: PYPI_API_TOKEN - 价值:您的PyPI令牌

  1. 测试工作流:

- 推送标签或创建发布 - 检查“操作”选项卡以了解发布状态

手工出版

对于紧急释放或本地测试:

# Build and get manual publish instructions
./publish.sh

# Or publish directly (with credentials configured)
uv build
uv publish

目录标签

目录标签

多协议支持PythonClaude实时交互AI代理通信本地部署协议转换任务管理

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP