Used for managing environment variables in local development
Used as the server framework to implement the SSE transport for the MCP server
Used for repository connectivity when deploying to Render
Supported as a cloud platform for hosting the MCP server remotely
The implementation language for the MCP server
Provides cloud hosting for the MCP server with detailed deployment instructions and environment configuration
Supported as a cloud platform for hosting the MCP server remotely
MCP Server para Microsoft Business Central
Servidor MCP (Model Context Protocol) que permite integración con Microsoft Business Central a través de su API REST.
Arquitectura
Este servidor ahora usa SSE (Server-Sent Events) transport para hosting remoto, lo que permite:
- Despliegue en plataformas cloud como Render, Vercel, Heroku
- Conexión desde cualquier cliente MCP remoto
- Múltiples sesiones concurrentes
- Escalabilidad horizontal
Características
- ✅ Gestión de Clientes: Obtener, crear, actualizar y eliminar clientes
- ✅ Gestión de Productos: Obtener, crear, actualizar y eliminar productos/artículos
- ✅ Pedidos de Venta: Crear pedidos de venta con líneas de detalle
- ✅ API Genérica: Interactuar con cualquier recurso de Business Central
- ✅ SSE Transport: Hosting remoto con Server-Sent Events
- ✅ Esquemas dinámicos: Obtener información de esquemas de recursos
- ✅ Filtros y paginación: Búsquedas avanzadas con OData
Configuración de Variables de Entorno
Antes de usar el servidor, debes configurar las siguientes variables de entorno:
Despliegue en Render
1. Preparar el repositorio
Asegúrate de que tu repositorio tenga todos los archivos necesarios:
server.py
(servidor SSE)bc_client.py
(cliente Business Central)requirements.txt
(dependencias)Procfile
(configuración de Render)
2. Crear servicio en Render
- Ve a Render.com y crea una cuenta
- Conecta tu repositorio de GitHub
- Crea un nuevo Web Service
- Configura los siguientes parámetros:Build Settings:
- Build Command:
pip install -r requirements.txt
- Start Command:
uvicorn server:app --host 0.0.0.0 --port $PORT
Environment Variables: Añade todas las variables de entorno de Business Central:
- Build Command:
- Deploy el servicio
3. Verificar el despliegue
Una vez desplegado, deberías poder acceder a:
https://your-app.onrender.com/
- Health checkhttps://your-app.onrender.com/health
- Estado del servidorhttps://your-app.onrender.com/sse
- Endpoint SSE para clientes MCP
Conectar con Claude Desktop
Para conectar Claude Desktop a tu servidor remoto, necesitarás configurar el claude_desktop_config.json
:
Nota: Actualmente, Claude Desktop principalmente soporta conexiones stdio locales. Para conexiones SSE remotas, podrías necesitar usar otros clientes MCP o proxies.
Uso Local (Desarrollo)
Para desarrollo local, puedes ejecutar el servidor:
El servidor estará disponible en http://localhost:8000
Herramientas Disponibles
1. Gestión de Clientes
get_customers()
- Obtener lista de clienteslist_resource_items("customers", ...)
- Clientes con filtroscreate_resource_item("customers", data)
- Crear clienteupdate_resource_item("customers", id, data)
- Actualizar cliente
2. Gestión de Productos
get_items()
- Obtener lista de productoslist_resource_items("items", ...)
- Productos con filtroscreate_resource_item("items", data)
- Crear productoupdate_resource_item("items", id, data)
- Actualizar producto
3. Pedidos de Venta
create_sales_order(customer, date, ...)
- Crear pedido completolist_resource_items("salesOrders", ...)
- Listar pedidos
4. API Genérica
get_resource_schema(resource)
- Obtener esquema de cualquier recursolist_resource_items(resource, filter, top, skip)
- Listar elementosfind_items_by_field(resource, field, value)
- Buscar por campocreate_resource_item(resource, data)
- Crear elementoupdate_resource_item(resource, id, data)
- Actualizar elementodelete_resource_item(resource, id)
- Eliminar elemento
5. Información del Servidor
get_server_info()
- Estado y configuración del servidor
Arquitectura del Proyecto
Diferencias entre Stdio y SSE
Stdio Transport (Local)
- Cliente y servidor en la misma máquina
- Comunicación a través de stdin/stdout
- Ideal para desarrollo y uso personal
- Claude Desktop lo maneja automáticamente
SSE Transport (Remoto)
- Cliente y servidor en máquinas diferentes
- Comunicación HTTP con Server-Sent Events
- Ideal para hosting cloud y múltiples usuarios
- Requiere endpoints
/sse
y/messages
Troubleshooting
Error de conexión en Render
- Verifica que todas las variables de entorno estén configuradas
- Revisa los logs de Render para errores específicos
- Asegúrate de que el puerto esté correctamente configurado (
$PORT
)
Error de autenticación Business Central
- Verifica que
CLIENT_ID
yCLIENT_SECRET
sean correctos - Confirma que el
SCOPE
incluya.default
- Revisa que la URL de tenant sea correcta
Claude Desktop no se conecta
- Claude Desktop principalmente soporta stdio, no SSE
- Considera usar otros clientes MCP que soporten SSE
- O usa un proxy/gateway para convertir stdio a SSE
Próximos pasos
- Implementar autenticación para el servidor SSE
- Añadir más endpoints específicos de Business Central
- Crear cliente MCP personalizado para SSE
- Añadir logging y monitoreo avanzado
- Implementar cache para mejorar rendimiento
This server cannot be installed
Server that enables integration with Microsoft Business Central through its REST API, providing functionality for customer and product management, sales orders, and generic API interactions.
Related MCP Servers
- -securityAlicense-qualityA server that provides standardized development rules and context for Business Central projects, optimized for use with Cursor editor.Last updated -JavaScriptMIT License
- -securityAlicense-qualityProvides database interaction and business intelligence capabilities, enabling users to run SQL queries, analyze business data, and automatically generate business insight memos for Microsoft SQL Server databases.Last updated -29PythonMIT License
- -securityAlicense-qualityA server that provides integration with PayPal's APIs, enabling seamless interaction with payment processing, invoicing, subscription management, and business operations through a standardized interface.Last updated -TypeScriptMIT License
- -securityFlicense-qualityA server that enables AI models to interact with Confluence Data Center through REST API, providing operations like searching, reading, creating, updating, and deleting pages.Last updated -1Python