Agentic MCP Microservices
Корпоративные BAU-сервисы с MCP и Gemini
Исполняемое доказательство концепции, показывающее, как ИИ-агент может работать с существующими BAU REST-микросервисами через Model Context Protocol (MCP).
Демонстрация использует Google Gemini для обнаружения MCP-инструментов, получения информации о клиентах и заказах и выполнения контролируемого действия по отмене заказа. BAU-сервисы остаются независимыми REST API; MCP обеспечивает интеграционную границу между этими API и агентом.
Демонстрация
Включённый сценарий предлагает агенту выполнить:
Получить профиль для
CUST-1001.Вывести список заказов клиента.
Определить заказ со статусом
Processing.Отменить
ORD-9002с указанной причиной.Резюмировать выполненную работу.
Ожидаемая последовательность инструментов:
Gemini agent
-> MCP tool discovery over stdio
-> MCP server
-> Customer and Order REST APIs
-> Tool results returned to Gemini
-> Final user-facing summaryRelated MCP server: MCP API Tool Demo
Архитектура
+------------------+ stdio +------------------+ HTTP +----------------------+
| Gemini agent | <----------------> | MCP server | <--------------> | Customer service |
| agent_runner.py | | server.py | | localhost:8001 |
+------------------+ +--------+---------+ +----------------------+
|
| HTTP
v
+----------------------+
| Order service |
| localhost:8002 |
+----------------------+MCP-инструменты
Инструмент | Назначение |
| Получает профиль клиента, уровень, статус и кредитный лимит. |
| Выводит список заказов, связанных с клиентом. |
| Отменяет заказ, если его статус допускает отмену. |
Структура проекта
.
├── agent/
│ └── agent_runner.py # Gemini agent and MCP client
├── mcp_server/
│ └── server.py # MCP tools and REST integration
├── services/
│ ├── customer_service.py # Mock customer REST API
│ └── order_service.py # Mock order REST API
├── tests/
│ └── test_services.py # Service behavior tests
├── .env.example # Environment variable template
├── requirements.txt # Python dependencies
└── mcp_microservices_poc_blueprint.md
# Detailed design and implementation referenceПредварительные требования
Python 3.11 или новее
Ключ Gemini API из Google AI Studio
Windows PowerShell, macOS/Linux shell или эквивалентный терминал
Сетевой доступ к Gemini API при запуске агента
Для этого проекта не требуется ключ API Anthropic или OpenAI.
Быстрый старт в Windows
Откройте PowerShell в каталоге проекта:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Copy-Item .env.example .envОткройте .env и замените your_gemini_api_key_here на ваш ключ:
GOOGLE_API_KEY=your_gemini_api_key_here
GEMINI_MODEL=gemini-3.6-flashНикогда не коммитьте .env и не размещайте ключ API в исходном коде. Выбранная модель должна быть доступна для вашего аккаунта Gemini.
Запуск демонстрации
Используйте три терминала. Активируйте .venv в каждом терминале.
Терминал 1: сервис клиентов
python services/customer_service.pyЗапускается на http://localhost:8001.
Терминал 2: сервис заказов
python services/order_service.pyЗапускается на http://localhost:8002.
Терминал 3: агент Gemini
python agent/agent_runner.pyАгент запускает MCP-сервер как дочерний процесс, обнаруживает его инструменты и выполняет пример рабочего процесса.
Проверка локальных сервисов
Выполните эти команды, пока оба сервиса активны:
Invoke-RestMethod http://localhost:8001/health
Invoke-RestMethod http://localhost:8002/health
Invoke-RestMethod http://localhost:8001/api/v1/customers/CUST-1001
Invoke-RestMethod http://localhost:8002/api/v1/orders/customer/CUST-1001Запуск тестов
При активной виртуальной среде:
python -m pytest -qТесты покрывают поиск клиента без учёта регистра, отсутствующих клиентов, отмену заказа в обработке и защиту от отмены отгруженного заказа.
Конфигурация
Переменная | Описание | По умолчанию |
| Ключ аутентификации Gemini. | Обязательно |
| Модель Gemini, используемая агентом. |
|
| Базовый URL сервиса клиентов. |
|
| Базовый URL сервиса заказов. |
|
Область применения и ограничения
Это локальный, намеренно небольшой POC, предназначенный для того, чтобы интеграционный шаблон было легко изучить и запустить.
Записи о клиентах и заказах хранятся в памяти и сбрасываются при перезапуске сервисов.
Сервисы не реализуют аутентификацию или авторизацию.
В реальной системе операция отмены должна быть защищена контролем утверждения и бизнес-политик.
MCP использует stdio для локальной интеграции процессов. В развёрнутой архитектуре следует использовать аутентифицированный сетевой транспорт.
Ошибки нижестоящих сервисов возвращаются в виде текста инструмента для наглядности; производственные системы должны использовать структурированные ошибки, повторы, трассировку и метрики.
Пример агента выполняет реальный запрос к Gemini API и требует действительный ключ.
Устранение неполадок
GOOGLE_API_KEY is not set
Убедитесь, что .env существует в каталоге проекта и содержит действительный ключ. Запускайте агента из каталога проекта.
404 NOT_FOUND для модели Gemini
Установите GEMINI_MODEL в .env на модель, доступную для вашего аккаунта. По умолчанию в этом POC используется gemini-3.6-flash.
Сбой запуска MCP или обнаружения инструментов
Убедитесь, что зависимости установлены в активную виртуальную среду:
python -m pip install -r requirements.txtПроект закрепляет MCP за диапазоном API 1.x, поскольку реализация сервера использует FastMCP.
Ошибки подключения от MCP-инструментов
Убедитесь, что оба REST-сервиса запущены на портах 8001 и 8002. Если порт уже занят, обновите порт сервиса и соответствующий URL в .env.
Дополнительные материалы
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to interact with the commercetools Composable Commerce platform. It provides tools for managing products, categories, orders, carts, and customer data through secure read and write operations.13MIT
- FlicenseNot gradedqualityBmaintenanceDemo MCP server that exposes order and customer data as read-only tools for AI assistants, simulating a business API or internal data source.
- AlicenseNot gradedqualityCmaintenanceMCP server that bridges AI agents with external tools, APIs, databases, and services, enabling standardized tool execution and resource access.MIT
- FlicenseNot gradedqualityBmaintenanceMCP server that enables AI platforms to search products, customers, and warehouses, and prepare and submit sales orders to a fixed ERP endpoint with per-session bearer authentication.
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sganapa/agentic-mcp-microservices'
If you have feedback or need assistance with the MCP directory API, please join our Discord server