A2a Adk Mcp Example

A2a Adk Mcp Example

🚀 集成Google ADK、A2A协议和MCP的AI代理项目

本项目实现了一个集成Google ADK(代理开发工具包)的AI代理,支持A2A(代理到代理)协议以与其他代理进行交互,并可通过MCP(模型上下文协议)服务器进行扩展。该项目包含了用于开发、测试和部署AI代理的完整基础设施,具备监控和追踪功能。

A2A协议的详细文档:文档 和 Postman集合

✨ 主要特性

  • 集成Google ADK:使用先进的代理开发SDK。
  • 支持MCP工具:与模型上下文协议集成,实现可扩展工具。
  • LiteLLM支持:通过统一接口支持多种大语言模型(LLM)。
  • Phoenix监控:可选的执行监控和追踪。
  • Docker就绪:完全容器化,自动配置。
  • A2A协议:实现代理到代理的通信。
  • 灵活配置:通过环境变量进行配置。

📦 安装指南

使用Docker快速启动(推荐)

# 构建镜像
make build

# 启动主要服务
make up

# 代理将在 http://localhost:10002 可用
# MCP服务器将在 http://localhost:8001 可用

使用Makefile

# 查看所有可用命令
make help

# 启动主要服务
make up

# 启动并开启Phoenix监控
make phoenix

# 开发模式
make dev

# 查看日志
make logs

# 停止所有服务
make down

💻 使用示例

启动代理

# 启动主要服务
make up

# 代理将在 http://localhost:10002 可用

开发模式

# 以实时重载模式启动开发
make dev

# 启动并开启Phoenix监控进行调试
make dev-phoenix

检查状态

# 查看所有服务状态
make status

# 检查健康状况
make health

# 查看日志
make logs

📚 详细文档

项目结构

a2a-adk-mcp-example/
├── agent/                  # 代理目录
│   ├── app/                # 应用主代码
│   │   ├── __main__.py     # Click CLI入口点
│   │   ├── agent.py        # AgentEvolution类
│   │   └── agent_executor.py  # 代理执行器
│   ├── .env.example        # 配置文件示例
│   ├── pyproject.toml      # 项目配置和依赖
│   └── README.md           # 代理文档
├── mcp-weather/            # MCP天气服务器
│   ├── server.py           # 主服务器
│   ├── Dockerfile          # Docker配置
│   └── README.md           # MCP服务器文档
├── nginx/                  # Nginx配置
├── docker-compose.phoenix.yml  # 包含Phoenix的配置
├── docker-compose.yml      # Docker Compose主配置
├── Makefile                # 命令自动化
└── .gitignore              # 忽略文件

配置

创建环境文件

# 从示例创建.env文件
make env

# 或者手动创建
cp agent/.env.example .env

主要环境变量

.env 文件中可以配置以下参数:

# 代理主要设置
AGENT_NAME=jira_mcp_agent
AGENT_DESCRIPTION="Jira MCP代理,用于管理项目、任务、冲刺和敏捷流程"
AGENT_VERSION=1.0.0

# 模型配置
LLM_MODEL="evolution_inference/model-for-agent-space-test"
LLM_API_BASE="https://your-model-api-base-url/v1"

# MCP配置
MCP_URL=http://mcp-weather:8001/sse

# Phoenix监控(可选)
PHOENIX_PROJECT_NAME="ip_agent_adk"
PHOENIX_ENDPOINT="http://phoenix:6006/v1/traces"

# 服务器设置
HOST="0.0.0.0"
PORT="10002"

# 监控
ENABLE_PHOENIX="false"
ENABLE_MONITORING="true"

项目组件

代理 (agent/)

项目的主要组件是基于Google ADK的AI代理,支持MCP工具。该代理实现了A2A协议以与其他代理进行交互。

API端点
  • GET / - 代理信息(代理卡片)
  • POST /tasks - 创建新任务
  • GET /tasks/{task_id} - 获取任务状态
  • GET /tasks/{task_id}/stream - 任务执行的SSE流

MCP天气服务器 (mcp-weather/)

该服务器通过MCP协议提供获取天气数据的工具,使用免费的Open-Meteo API。

工具
  • get_today_weather(city: str) - 获取指定城市的今日实时天气
  • get_weekly_forecast(city: str) - 获取指定城市的一周天气预报
端点
  • SSEhttp://localhost:8001/sse
  • 消息http://localhost:8001/messages/

监控

Phoenix追踪

要启用Phoenix监控,请设置环境变量:

ENABLE_PHOENIX=true

启动并开启Phoenix监控:

make phoenix

Phoenix仪表板将在 http://localhost:6006 可用。

Docker命令

# 主要命令
make build          # 构建镜像
make up            # 启动服务
make down          # 停止服务
make restart       # 重启服务
make logs          # 查看日志

# Phoenix监控
make phoenix       # 启动并开启监控
make phoenix-down  # 停止Phoenix监控

# 实用工具
make shell         # 进入代理容器
make clean         # 清理Docker资源

要求

  • Docker:用于容器化
  • Make:用于命令自动化
  • MCP服务器:用于工具(可选)

📄 许可证

本项目采用MIT许可证分发。详情请参阅 LICENSE 文件(如果有)。

🔗 有用链接

  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-09-21 10:18

相似服务问题

相关AI产品