Blueprint by Circe
Como nos adelantaba Circe, la llegada del protocolo Model Context Protocol (MCP) al ecosistema Microsoft abre una puerta completamente nueva a la integración agent-first. Ya no hablamos de simplemente consumir APIs; hablamos de exponer capacidades semánticas que los agentes de IA puedan descubrir, razonar y ejecutar, sin tener que programar flujos rígidos o predecir todos los escenarios.
En esta fase inicial he querido ir más allá del laboratorio conceptual. He construido un MCP Server real para Business Central, operativo, conectado a agentes/asistentes como Claude Desktop y listo para integrarse en entornos reales de negocio. Esto ya no es arquitectura en papel. Esto funciona.
Toda la estructura del servidor está diseñada para ser:
La organización base:
bc_server/ # Núcleo del MCP Server
├── http_server.py # Endpoints vía FastAPI
├── client.py # Entidades y acceso a la API REST de BC
├── config.py # Gestión de variables de entorno
├── tools.py # Herramientas MCP definidas
├── setup_guide.md # Guía de instalación
infra/ # Infraestructura para despliegue en Azure
startup.sh # Script de arranque
requirements.txt # Dependencias
README.md # Documentación general
Esta separación permite mantener claramente diferenciadas las distintas responsabilidades dentro del servidor MCP, algo fundamental para poder evolucionar el sistema.
Lo tendréis todo el archivo README.md
Aquí es donde se produce el verdadero cambio de mentalidad. Frente a las integraciones clásicas, donde el desarrollador especifica cada llamada API, cada parámetro y cada flujo, en MCP se define un conjunto de herramientas semánticas.
Estas herramientas son las acciones que el agente podrá descubrir y ejecutar. Por ejemplo:
get_customers()
)create_sales_order()
)list_items_by_popularity()
)El agente ya no necesita conocer la API de Business Central: solo necesita entender qué acciones tiene disponibles, qué parámetros puede usar, y en qué contexto puede ejecutarlas. El razonamiento lo asume el propio agente.
Toda la configuración sensible (URLs, credenciales, Tenant ID…) se gestiona a través del archivo .env
. Y en el archivo config.py lo recuperamos:
La lógica de integración real con Business Central vive en client.py
, donde se definen las entidades de negocio relevantes (clientes, pedidos, artículos…).
A través de la API REST de Business Central:
En este MCP son APIs estándar sencillas, pero podríamos crear nuestras APIs o usar la que ya tengamos desarrolladas.
El MCP Server para Business Central implementa su capa de integración HTTP sobre el framework FastAPI, actuando como el punto de entrada compatible con el protocolo Model Context Protocol (MCP). Este diseño permite tanto el desarrollo local como su despliegue directo en servicios cloud como Azure Web App.
Autenticación a Business Central: Azure.Identity.ClientSecretCredential
contra Entra ID.
FastAPI
Uvicorn
Puntos de entrada MCP definidos:
/server-metadata
→ Exposición de la identidad del MCP Server.
/list_tools
→ Descubrimiento de herramientas disponibles para el agente.
/execute_tool
→ Ejecución de cada herramienta MCP publicada.
Documentación de desarrollo: FastAPI genera documentación interactiva OpenAPI de forma automática, facilitando testeo local de los endpoints.
El resultado: un servidor que cualquier agente compatible con MCP puede consultar directamente, sin lógica adicional.
El servidor MCP expone únicamente las herramientas definidas en tools.py
, no expone los endpoints nativos de Business Central.
Toda la interacción ocurre vía agentes MCP que invocan las herramientas disponibles en función de la conversación.
El modelo mantiene segregada la lógica de negocio y la autorización OAuth en la capa MCP Server, lo que facilita el gobierno de seguridad sobre la API de Business Central.
Próximamente lo integraremos en Copilot Studio
En este despliegue concreto he utilizado la opción de servidor MCP embebido de Claude Desktop. A través de la configuración del archivo claude-for-desktop.yaml
, Claude arranca automáticamente mi MCP Server de Business Central en local, ejecutando el siguiente comando Python:
Comando de ejecución:
c:UsersJavierArmestoDocumentsALMCP_Basics.venvScriptspython.exe
Argumentos:
-m bc_server.BusinessCentralMCP
Este mecanismo permite lanzar servidores MCP personalizados desde el propio cliente Claude, facilitando el desarrollo y las pruebas en local durante la fase de construcción.
Claude Desktop, al levantar el servidor, inicia el proceso de descubrimiento MCP:
/server-metadata
).list_tools
).Aquí no hay flujo de integración tradicional. Aquí hay conversación inteligente guiada por capacidades semánticas.
El vídeo completo de esta demo funcionando aqui:
Construir este MCP Server no era solo un reto técnico. Ha sido sobre todo una experiencia de aprendizaje sobre cómo debemos empezar a pensar en integración cuando trabajamos con IA agéntica.
Hemos dicho muchas veces durante todo este trabajo: “la integración ya no se programa, se conversa”.
Donde antes escribíamos lógica rígida sobre APIs, ahora publicamos capabilidades semánticas que los agentes descubren, combinan y razonan en función del contexto.
Este MCP Server no está resolviendo una integración puntual; está exponiendo Business Central a cualquier agente que entienda el protocolo.
El ERP deja de ser un sistema aislado, para convertirse en parte de un ecosistema multiagente, donde Copilot Studio, Claude, plugins de OpenAI o cualquier agente compatible con MCP podrán operar sobre los mismos datos, las mismas herramientas y el mismo contexto.
Este servidor MCP es solo el primer peldaño.El siguiente salto ya está claro:
El MCP Server es la base con la que empezamos a construir aplicaciones de negocio agent-first, donde no programamos integraciones, sino conversaciones entre sistemas inteligentes.
Suscríbete al canal (anima y da ese empujón a todo esto).
Pulsa «like» si te ha gustado.
Si no quieres perderte nada, ya sabes, pulsa la campana.
En los comentarios déjame cualquier idea, duda, corrección o aportación. Todo será bien bienvenido.
Nota: El contenido de este artículo ha sido generado con la ayuda de IA, para más información accede a la pagina sobre responsabilidad AI del blog
Original Post https://techspheredynamics.com/2025/06/01/mcp-vs-api-y-iii-mcp-server-para-business-central/