Enterprise Support MCP Server
Servidor MCP de Soporte Empresarial
Un prototipo ligero de integración de IA empresarial que demuestra cómo las capacidades empresariales pueden exponerse a Modelos de Lenguaje de Gran Escala a través del Protocolo de Contexto de Modelo (MCP).
El proyecto proporciona información de clientes y pedidos a través de un servidor MCP basado en Python. Un asistente de IA impulsado por Mistral descubre dinámicamente las herramientas MCP disponibles y decide qué herramientas invocar según solicitudes de soporte en lenguaje natural.
Para solicitudes más complejas, el asistente puede ejecutar múltiples llamadas a herramientas de forma iterativa hasta que haya suficiente información para generar una respuesta final.
Todos los registros de clientes y pedidos utilizados en este proyecto son datos de demostración sintéticos.
Características principales
Servidor y cliente del Protocolo de Contexto de Modelo (MCP)
Descubrimiento dinámico de herramientas MCP
Selección de herramientas impulsada por LLM usando Mistral AI
Flujo de trabajo de llamadas a herramientas en múltiples pasos
Interacción en lenguaje natural con datos empresariales
Consulta de clientes y pedidos
Modelos de datos Pydantic
Persistencia SQLite
Manejo estructurado de errores
Separación de las capas de MCP, persistencia e integración de IA
Related MCP server: E-commerce MCP Server
Arquitectura
flowchart TD
U[User] --> L[Mistral LLM]
L --> C[MCP Client]
C --> S[Enterprise Support MCP Server]
S --> D[(SQLite Customer / Order Database)]
D --> S
S --> C
C --> L
L --> UEl LLM no accede directamente a la base de datos.
En su lugar, las capacidades empresariales se exponen a través de herramientas MCP estandarizadas. El cliente MCP descubre estas herramientas dinámicamente y pone sus esquemas a disposición del LLM.
El LLM decide entonces qué herramienta se necesita para una solicitud de usuario determinada.
Flujo de trabajo de ejemplo
Un usuario introduce:
Show me customer 1001.La aplicación realiza el siguiente flujo de trabajo:
User request
↓
Mistral LLM
↓
Selects get_customer
↓
MCP Client
↓
Enterprise Support MCP Server
↓
SQLite
↓
Customer data
↓
MCP Client
↓
Mistral LLM
↓
Natural-language responseResultado de ejemplo:
Here is the information for customer 1001:
- Name: Anna Schmidt
- Email: anna@example.com
- Status: ACTIVEEl código de la aplicación no codifica de forma fija la selección de get_customer.
El LLM selecciona la herramienta MCP adecuada según la solicitud en lenguaje natural del usuario.
Herramientas MCP disponibles
get_customer
Recupera información del cliente por ID de cliente.
Ejemplo de entrada:
{
"customer_id": 1001
}get_customer_orders
Recupera todos los pedidos pertenecientes a un cliente.
Ejemplo de entrada:
{
"customer_id": 1001
}get_order_status
Recupera el estado actual y la información de seguimiento de un pedido.
Ejemplo de entrada:
{
"order_id": 5002
}Pila tecnológica
Python
SDK de Python del Protocolo de Contexto de Modelo (MCP)
Mistral AI
Pydantic
SQLite
asyncio
python-dotenv
uv
Primeros pasos
Requisitos previos
El proyecto requiere:
Python 3.11+
pipuvuna clave API de Mistral
Verifica tu instalación de Python:
python --versionVerifica uv:
uv --version1. Clonar el repositorio
git clone https://github.com/YOUR-USERNAME/enterprise-support-mcp-server.git
cd enterprise-support-mcp-serverReemplaza YOUR-USERNAME con tu nombre de usuario de GitHub.
2. Crear un entorno virtual
python -m venv .venvWindows PowerShell
.venv\Scripts\Activate.ps1Linux / macOS
source .venv/bin/activate3. Instalar dependencias
pip install -r requirements.txtLas dependencias principales incluyen:
mcp[cli]
mistralai
pydantic
python-dotenv4. Configurar la clave API de Mistral
Crea un archivo .env en la raíz del proyecto.
Puedes usar .env.example como plantilla:
MISTRAL_API_KEY=your_mistral_api_keyNunca subas el archivo .env real ni una clave API a Git.
5. Inicializar la base de datos de demostración
Ejecuta:
python init_db.pyEsto crea la base de datos SQLite local que contiene los registros sintéticos de clientes y pedidos utilizados por las herramientas MCP.
Pruebas
El proyecto se puede probar en varios niveles.
Prueba 1 – Acceso a la base de datos
Las funciones de la base de datos se pueden probar de forma independiente antes de que MCP esté involucrado.
Verifica que la base de datos de demostración se haya inicializado:
python init_db.pyLa capa de base de datos proporciona operaciones para:
get_customer
get_customer_orders
get_order_statusEsto verifica la capa de persistencia independientemente de MCP y el LLM.
Prueba 2 – Iniciar el servidor MCP
Ejecuta:
python server.pyPara un servidor MCP basado en stdio, no se abre ningún puerto HTTP ni navegador.
El proceso espera a que un cliente MCP se comunique a través de la entrada/salida estándar.
Detén el servidor con:
Ctrl+CPrueba 3 – Cliente MCP sin un LLM
Ejecuta:
python client.pyEl cliente se conecta al servidor MCP y descubre las herramientas disponibles.
Descubrimiento de herramientas esperado:
Available tools:
- get_customer
- get_customer_orders
- get_order_statusEl cliente puede entonces invocar las herramientas MCP directamente.
Esta prueba verifica:
MCP Client
↓
MCP protocol
↓
MCP Server
↓
SQLite
↓
MCP resultNo se requiere ningún Modelo de Lenguaje de Gran Escala para esta prueba.
Prueba 4 – Selección de herramientas MCP impulsada por LLM
Ejecuta:
python llm_client.pyLa aplicación debería mostrar primero las herramientas MCP descubiertas desde el servidor:
Available MCP tools:
- get_customer
- get_customer_orders
- get_order_statusLuego puedes introducir una solicitud en lenguaje natural.
Consulta de cliente
Show me customer 1001.Comportamiento esperado:
Mistral
↓
get_customer
↓
customer_id = 1001La respuesta final debe contener la información del cliente 1001.
Pedidos de cliente
Prueba:
Show me all orders for customer 1001.Herramienta esperada:
get_customer_ordersEstado del pedido
Prueba:
What is the status of order 5002?Herramienta esperada:
get_order_statusSolicitud sin datos empresariales
Prueba:
What can you help me with?El LLM debería poder responder a esta solicitud sin acceder a datos de clientes o pedidos.
Esto demuestra que la ejecución de herramientas se selecciona dinámicamente en lugar de ejecutarse para cada solicitud.
Prueba 5 – Llamada a herramientas en múltiples pasos
El cliente LLM admite la ejecución iterativa de herramientas.
Prueba una solicitud más compleja como:
Customer 1001 says that one of her orders has not arrived.
Can you investigate?Para solicitudes complejas, el asistente puede usar múltiples herramientas MCP antes de generar la respuesta final.
Conceptualmente:
User
↓
Mistral
↓
MCP Tool
↓
Tool Result
↓
Mistral
↓
Another tool required?
├── Yes → MCP Tool → Result → Mistral
└── No → Final ResponseEl bucle de llamada a herramientas tiene un número máximo de iteraciones para evitar una ejecución infinita accidental.
Pruebas de manejo de errores
El servidor MCP también maneja entidades empresariales desconocidas.
Por ejemplo:
Show me customer 9999.La herramienta MCP correspondiente devuelve un resultado de error en lugar de inventar información del cliente.
Esto es particularmente importante para integraciones empresariales basadas en IA: la información factual de clientes y pedidos debe originarse en el sistema empresarial conectado, no en el LLM.
Estructura del proyecto
enterprise-support-mcp-server/
│
├── server.py
│ └── MCP server and tool definitions
│
├── client.py
│ └── MCP client for direct tool testing
│
├── llm_client.py
│ └── Mistral integration and agentic tool-calling workflow
│
├── database.py
│ └── Database access layer
│
├── models.py
│ └── Pydantic domain models
│
├── init_db.py
│ └── Creates synthetic demo data
│
├── requirements.txt
├── .env.example
├── .gitignore
└── README.md¿Por qué MCP?
Un LLM también puede llamar directamente a funciones específicas de la aplicación.
MCP introduce una interfaz estandarizada entre aplicaciones de IA y capacidades externas.
En este proyecto:
Mistral
↓
Tool Calling
↓
MCP Client
↓
Standardized MCP interface
↓
Enterprise Support MCP Server
↓
Enterprise capabilitiesEl LLM es responsable de decidir qué capacidad se necesita.
MCP es responsable de exponer esas capacidades a través de un protocolo estandarizado.
Esta separación significa que el backend empresarial no necesita diseñarse específicamente para un proveedor de LLM.
Propósito del proyecto
El proyecto es intencionalmente pequeño y se centra en una pregunta arquitectónica:
¿Cómo se pueden poner las capacidades empresariales existentes a disposición de los asistentes de IA a través de una capa de integración estandarizada?
Demuestra la combinación de:
Integración de sistemas empresariales
Protocolo de Contexto de Modelo
Llamada a herramientas LLM
Flujos de trabajo agentivos
Datos empresariales estructurados
Separación de responsabilidades
El proyecto sirve como un prototipo práctico para integrar asistentes de IA con aplicaciones empresariales existentes.
Aviso de seguridad
Este repositorio contiene solo datos de demostración sintéticos.
No expongas claves API, credenciales, datos de clientes u otra información sensible a través del código fuente o archivos .env subidos.
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
- AlicenseAqualityBmaintenanceA Model Context Protocol server that enables large language models to access database metadata and perform cross-engine data querying across diverse database ecosystems.1652Apache 2.0
- Flicense-qualityDmaintenanceProvides tools to query e-commerce data including customer information, order details, and product inventory through a Model Context Protocol interface with test data.
- FlicenseAqualityCmaintenanceA Model Context Protocol server that lets LLM clients answer business questions in natural language over a Databricks dataset without writing SQL by hand.1
- Flicense-qualityBmaintenanceEnables natural-language querying of structured data via Model Context Protocol, allowing AI agents to answer questions without SQL or API knowledge.
Related MCP Connectors
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
A Model Context Protocol server for Wix AI tools
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
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/pbpeter/enterprise-support-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server