a2a-adk-mcp-example
Documentation
AI Agent Project with Google ADK, A2A Protocol and MCP Integration
Этот проект представляет собой реализацию AI агента с интеграцией Google ADK (Agent Development Kit), поддерживающего A2A (Agent-to-Agent) протокол для взаимодействия с другими агентами и расширяемого через MCP (Model Context Protocol) серверы. Проект включает в себя готовую инфраструктуру для разработки, тестирования и развертывания AI агентов с мониторингом и трейсингом.
Подробная документация по A2A протоколу: документация и Postman-коллекция
🎯 Особенности
- Google ADK Integration - Использование передового SDK для разработки агентов
- MCP Tools Support - Интеграция с Model Context Protocol для расширяемых инструментов
- LiteLLM - Поддержка различных LLM моделей через единый интерфейс
- Phoenix Monitoring - Опциональный мониторинг и трейсинг выполнения
- Docker Ready - Полная контейнеризация с автоматической настройкой
- A2A Protocol - Agent-to-Agent коммуникация
- Flexible Configuration - Настройка через переменные окружения
📁 Структура проекта
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 # Игнорируемые файлы🛠 Установка и быстрый старт
Быстрый старт с 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⚙️ Конфигурация
Создание файла окружения
# Создание .env файла из примера
make env
# Или вручную
cp agent/.env.example .envОсновные переменные окружения
В файле `.env` можно настроить следующие параметры:
# Основные настройки агента
AGENT_NAME=jira_mcp_agent
AGENT_DESCRIPTION="Jira MCP агент для управления проектами, задачами, спринтами и agile-процессами"
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 Configuration
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"🚀 Использование
Запуск агента
# Запуск основных сервисов
make up
# Агент будет доступен на http://localhost:10002Режим разработки
# Запуск в режиме разработки с live reload
make dev
# Запуск с Phoenix мониторингом для отладки
make dev-phoenixПроверка состояния
# Статус всех сервисов
make status
# Проверка здоровья
make health
# Просмотр логов
make logs🧩 Компоненты проекта
Агент (agent/)
Основной компонент проекта - AI агент на базе Google ADK с поддержкой MCP инструментов. Агент реализует A2A Protocol для взаимодействия с другими агентами.
API Endpoints
- `GET /` - Информация об агенте (Agent Card)
- `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)` - Получает прогноз погоды на неделю для указанного города
Endpoints
- SSE: `http://localhost:8001/sse`
- Messages: `http://localhost:8001/messages/`
📊 Мониторинг
Phoenix Tracing
Для включения Phoenix мониторинга установите переменную окружения:
ENABLE_PHOENIX=trueЗапустите с Phoenix:
make phoenixPhoenix Dashboard будет доступен на 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 Server: Для инструментов (опционально)
📄 Лицензия
Этот проект распространяется под лицензией MIT. См. файл `LICENSE` для подробностей (если имеется).
🔗 Полезные ссылки
Frequently asked questions
What is a2a-adk-mcp-example?
a2a-adk-mcp-example is a Model Context Protocol (MCP) server listed in the TrackMCP directory.
How do I install a2a-adk-mcp-example?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is a2a-adk-mcp-example open source?
Yes — it is hosted on GitHub at https://github.com/cloud-ru-tech/a2a-adk-mcp-example and has 5 stars.
Related MCP tools
5. Update .env file in the root directory with your mem0 API key: for the Model Context Protocol. Enhance AI assistants with powerful integrations.
Model Context Protocol integration for Python. Enhance AI assistants with powerful Python-based capabilities and integration support.
This repository contains Model Context Protocol (MCP) servers that enable MCP clients (like Claude Desktop or the cline.
🙌 OpenHands: Code Less, Make More for the Model Context Protocol. Enhance AI assistants with powerful integrations. Python-based implementation.
Universal memory layer for AI Agents; Announcing OpenMemory MCP - local and secure memory management. Python-based implementation.
基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择ChatGPT/Claude/DeepSeek/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP