Agentic MCP Microservices
Servicios BAU empresariales con MCP y Gemini
Una prueba de concepto ejecutable que muestra cómo un agente de IA puede trabajar con microservicios REST existentes de operaciones habituales (BAU) a través del Model Context Protocol (MCP).
La demostración utiliza Google Gemini para descubrir herramientas MCP, recuperar información de clientes y pedidos, y realizar una acción controlada de cancelación de pedidos. Los servicios BAU siguen siendo API REST independientes; MCP proporciona la frontera de integración entre esas API y el agente.
Demostración
El escenario incluido pide al agente:
Recuperar el perfil de
CUST-1001.Listar los pedidos del cliente.
Identificar el pedido en estado
Processing.Cancelar
ORD-9002con un motivo proporcionado.Resumir el trabajo completado.
La secuencia de herramientas esperada es:
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
Arquitectura
+------------------+ stdio +------------------+ HTTP +----------------------+
| Gemini agent | <----------------> | MCP server | <--------------> | Customer service |
| agent_runner.py | | server.py | | localhost:8001 |
+------------------+ +--------+---------+ +----------------------+
|
| HTTP
v
+----------------------+
| Order service |
| localhost:8002 |
+----------------------+Herramientas MCP
Tool | Purpose |
| Recupera el perfil del cliente, el nivel, el estado y el límite de crédito. |
| Lista los pedidos asociados a un cliente. |
| Cancela un pedido cuando su estado permite la cancelación. |
Estructura del proyecto
.
├── 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 referenceRequisitos previos
Python 3.11 o más reciente
Una clave de API de Gemini de Google AI Studio
Windows PowerShell, shell de macOS/Linux o un terminal equivalente
Acceso de red a la API de Gemini al ejecutar el agente
Este proyecto no requiere una clave de API de Anthropic ni de OpenAI.
Inicio rápido en Windows
Abra PowerShell en el directorio del proyecto:
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 .envAbra .env y reemplace your_gemini_api_key_here con su clave:
GOOGLE_API_KEY=your_gemini_api_key_here
GEMINI_MODEL=gemini-3.6-flashNunca haga commit de .env ni coloque una clave de API en el código fuente. El modelo seleccionado debe estar disponible para su cuenta de Gemini.
Ejecutar la demostración
Use tres terminales. Active .venv en cada terminal.
Terminal 1: servicio de clientes
python services/customer_service.pySe ejecuta en http://localhost:8001.
Terminal 2: servicio de pedidos
python services/order_service.pySe ejecuta en http://localhost:8002.
Terminal 3: agente Gemini
python agent/agent_runner.pyEl agente inicia el servidor MCP como un proceso hijo, descubre sus herramientas y ejecuta el flujo de trabajo de ejemplo.
Verificar los servicios locales
Ejecute estos comandos mientras los dos servicios están activos:
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-1001Ejecutar las pruebas
Con el entorno virtual activo:
python -m pytest -qLas pruebas cubren la búsqueda de clientes sin distinción de mayúsculas y minúsculas, clientes inexistentes, la cancelación de un pedido en proceso y la protección contra la cancelación de un pedido enviado.
Configuración
Variable | Descripción | Predeterminado |
| Clave de autenticación de Gemini. | Requerida |
| Modelo de Gemini utilizado por el agente. |
|
| URL base del servicio de clientes. |
|
| URL base del servicio de pedidos. |
|
Alcance y limitaciones
Este es un POC local, intencionadamente pequeño, pensado para que el patrón de integración sea fácil de inspeccionar y ejecutar.
Los registros de clientes y pedidos se almacenan en memoria y se restablecen cuando los servicios se reinician.
Los servicios no implementan autenticación ni autorización.
La operación de cancelación debería estar protegida por controles de aprobación y políticas de negocio en un sistema real.
MCP utiliza stdio para la integración local de procesos. Una arquitectura desplegada debería utilizar un transporte de red autenticado.
Los errores posteriores se devuelven como texto de herramienta para su visibilidad; los sistemas de producción deberían usar errores estructurados, reintentos, trazado y métricas.
El agente de ejemplo realiza una solicitud real a la API de Gemini y requiere una clave válida.
Solución de problemas
GOOGLE_API_KEY is not set
Confirme que .env existe en el directorio del proyecto y contiene una clave válida. Ejecute el agente desde el directorio del proyecto.
404 NOT_FOUND para un modelo de Gemini
Establezca GEMINI_MODEL en .env a un modelo habilitado para su cuenta. El valor predeterminado en este POC es gemini-3.6-flash.
Fallo en el inicio de MCP o en el descubrimiento de herramientas
Confirme que las dependencias se instalaron en el entorno virtual activo:
python -m pip install -r requirements.txtEl proyecto fija MCP al rango de API 1.x porque la implementación del servidor usa FastMCP.
Errores de conexión de las herramientas MCP
Confirme que ambos servicios REST se están ejecutando en los puertos 8001 y 8002. Si un puerto ya está en uso, actualice el puerto del servicio y la URL correspondiente en .env.
Lecturas adicionales
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