trackmcp
Back to directory
cloud-ru-tech

a2a-adk-mcp-example

View on GitHub
5 stars PythonOthers Updated Sep 22, 2025

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 - Настройка через переменные окружения

📁 Структура проекта

code
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 (рекомендуется)

bash
# Сборка образов
make build

# Запуск основных сервисов
make up

# Агент будет доступен на http://localhost:10002
# MCP сервер будет доступен на http://localhost:8001

Использование Makefile

bash
# Просмотр всех доступных команд
make help

# Запуск основных сервисов
make up

# Запуск с Phoenix мониторингом
make phoenix

# Режим разработки
make dev

# Просмотр логов
make logs

# Остановка всех сервисов
make down

⚙️ Конфигурация

Создание файла окружения

bash
# Создание .env файла из примера
make env

# Или вручную
cp agent/.env.example .env

Основные переменные окружения

В файле `.env` можно настроить следующие параметры:

bash
# Основные настройки агента
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"

🚀 Использование

Запуск агента

bash
# Запуск основных сервисов
make up

# Агент будет доступен на http://localhost:10002

Режим разработки

bash
# Запуск в режиме разработки с live reload
make dev

# Запуск с Phoenix мониторингом для отладки
make dev-phoenix

Проверка состояния

bash
# Статус всех сервисов
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 мониторинга установите переменную окружения:

bash
ENABLE_PHOENIX=true

Запустите с Phoenix:

bash
make phoenix

Phoenix Dashboard будет доступен на http://localhost:6006

🐳 Docker команды

bash
# Основные команды
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

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP