Ejecutar MCP localmente
Qué cubre este artículo
- Cómo configurar MCP en tu propia red.
- Qué componentes forman el servidor, cliente y transporte.
- Cómo poner herramientas a disposición localmente.
- Aspectos de seguridad y arquitectura para agentes locales.
- Obstáculos típicos y ejemplos prácticos.
Introducción: ejecutar MCP localmente
El Model Context Protocol permite que los agentes de IA utilicen herramientas y fuentes de datos externas. Al ejecutar MCP localmente, creas una infraestructura donde los agentes y las herramientas se comunican dentro de tu propia red. Esto aumenta el control, protege datos sensibles y reduce las dependencias de servicios en la nube.
MCP local es especialmente interesante para self-hosting, fuentes de datos internas y flujos de trabajo sensibles. Los agentes pueden acceder, por ejemplo, a bases de datos locales, sistemas de archivos o APIs sin que la información salga de la organización.
¿Por qué MCP local?
- Privacidad: Los datos permanecen en tu red.
- Control: Decides qué herramientas están disponibles.
- Seguridad: Las herramientas se ejecutan en tu propia sandbox.
- Sin conexión: Los agentes funcionan sin internet.
- Personalización: Integra tus propias herramientas fácilmente.
Arquitectura de una configuración MCP local
Una configuración típica consta de:
- Cliente: Aplicación de agente como Claude Desktop, LangChain o software personalizado.
- Servidor MCP: Programa que proporciona herramientas y datos.
- Transporte: stdio para procesos locales o SSE para redes.
- Herramientas: Funciones concretas que el agente puede invocar.
- LLM: Modelo de lenguaje local para decidir qué herramientas usar.
Iniciar un servidor localmente
Un servidor MCP es un programa que habla el protocolo MCP. Puedes iniciarlo como un proceso independiente. Ejemplo con Python:
python mein_server.py
O como contenedor Docker:
docker run --rm -p 3000:3000 mein-mcp-server
Elegir el transporte
- stdio: Adecuado cuando el servidor y cliente se ejecutan en la misma máquina. Simple y rápido.
- SSE: Adecuado para conexiones de red. El servidor se ejecuta en un host diferente.
Para pruebas locales puras, stdio suele ser suficiente. Para configuraciones distribuidas o entornos de producción, SSE es más flexible.
Configurar el cliente
En Claude Desktop o en un agente personalizado, configuras el servidor. Ejemplo de configuración para stdio:
{
"mcpServers": {
"mein_server": {
"command": "python",
"args": ["/pfad/zu/mein_server.py"]
}
}
}
Para SSE, en cambio, introduces una URL.
Proporcionar herramientas locales
Los servidores MCP pueden ofrecer muchas herramientas locales:
- Sistema de archivos: Leer, escribir y buscar archivos.
- Base de datos: Ejecutar consultas SQL.
- Cliente API: Acceder a servicios internos.
- Shell: Ejecutar comandos, solo con mucha precaución.
- Monitoreo: Obtener métricas del sistema.
- Git: Gestionar repositorios.
Seguridad en MCP local
- Sandbox: Ejecuta las herramientas en entornos aislados.
- Permisos: Permite solo rutas, comandos y datos específicos.
- Red: No expongas el servidor MCP públicamente sin necesidad.
- Auditoría: Registra cada ejecución de herramienta.
- Aprobación manual: Requiere confirmación para acciones críticas.
- Secretos: Gestiona claves API y credenciales de forma segura.
MCP con LLMs locales
Un cliente MCP ejecutado localmente puede conectarse a Ollama, llama.cpp o vLLM. Lo importante es que el modelo admita tool-calling o que el cliente simule las invocaciones de herramientas mediante prompts y parsing.
Obstáculos típicos
- Descripciones de herramientas incompletas: El modelo no sabe cuándo usar una herramienta.
- Transporte no disponible: El proceso stdio no se inicia o el puerto SSE está bloqueado.
- Errores de permisos: La herramienta no puede acceder a un archivo o base de datos.
- Llamadas circulares: Una herramienta se llama a sí misma u otras herramientas infinitamente.
- Versión de protocolo incorrecta: Cliente y servidor usan versiones diferentes de MCP.
- Sin manejo de errores: Los fallos en el servidor detienen al agente.
Enlaces e información adicional
- BotServ.de Conceptos básicos de MCP
- BotServ.de Servidor MCP
- BotServ.de Cliente MCP
- Model Context Protocol
Preguntas frecuentes: MCP local
¿Necesito servicios en la nube para MCP? No, el servidor y cliente MCP pueden ejecutarse completamente de forma local.
¿Puedo usar MCP con Ollama? Sí, si el cliente admite o simula tool-calling.
¿Cuántas herramientas puede tener un servidor MCP? Teóricamente, cualquier número. En la práctica, solo deben registrarse herramientas relevantes.
¿Es mejor stdio o SSE? stdio es más simple para pruebas locales, SSE es mejor para redes y escalabilidad.
¿Puedo usar varios servidores MCP simultáneamente? Sí, el cliente puede conectar múltiples servidores y proporcionar todas las herramientas al modelo.
Fuentes y lecturas complementarias
- Model Context Protocol: https://modelcontextprotocol.io/
- MCP SDK Python: https://github.com/modelcontextprotocol/python-sdk
- MCP SDK TypeScript: https://github.com/modelcontextprotocol/typescript-sdk
Resumen: ejecutar MCP localmente
MCP local conecta agentes de IA con tus propias herramientas sin enviar datos a internet. Los servidores se ejecutan como procesos o contenedores independientes, mientras que los clientes los integran mediante stdio o SSE. Son esenciales la seguridad, permisos adecuados, descripciones de herramientas claras y manejo de errores robusto. Al configurar MCP localmente, obtienes una base flexible y conforme con la privacidad para flujos de trabajo con agentes.


