In this article
Cómo ejecutar servidores MCP con Docker
Hoy en día, los servidores MCP se integran con muchos hosts MCP, ya sea que uses Cursor, Claude Desktop u otros. Sin embargo, la mayoría de estas integraciones requieren que los usuarios finales instalen e inicien el servidor MCP localmente. Aquí es donde entra Docker.
Antes de profundizar en Docker, repasemos algunas referencias que muestran lo común que es indicar a los desarrolladores que conecten servidores MCP mediante procesos locales a través de la interfaz STDIO.
Este es un ejemplo tomado de la referencia de integración de servidores MCP de VS Code, mediante su archivo específico .vscode/mcp.json:
{
"servers": {
"Perplexity": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:perplexity-key}"
}
}
}
}
Aquí tienes otro ejemplo, que muestra el archivo .cursor/mcp.json de Cursor:
{
"mcpServers": {
"npm-package-info": {
"command": "node",
"args": ["/Users/lirantal/projects/repos/mcp-server-npm"]
},
}
}Estos ejemplos siguen muchos patrones de uso comunes de los servidores MCP, que consisten en ejecutarlos localmente mediante la creación de procesos del sistema (en términos sencillos, «comandos»).
No siempre es ideal ejecutar servidores MCP mediante comandos. ¿Hay alguna alternativa?
Riesgos de seguridad y dificultades al ejecutar servidores MCP localmente
Ejecutar servidores MCP localmente a veces puede ser una molestia. Además, hacerlo conlleva diversos problemas de seguridad. Esto se suma a los desafíos evidentes de las medidas de seguridad de la IA que deben seguir los desarrolladores y los equipos de seguridad.
Estos son algunos ejemplos de las frustraciones que pueden encontrar los desarrolladores y los equipos de seguridad cuando tienen que ejecutar servidores MCP localmente:
Configuración del entorno local — Por ejemplo, si no desarrollo en Python y el servidor MCP al que quiero conectarme está creado en Python y requiere descargar dependencias de origen para compilar y ejecutar el proyecto, la configuración será aún más difícil y engorrosa.
Dependencia del sistema operativo — Otra situación común al solucionar problemas es que los comandos deben especificarse y combinarse de forma distinta según el sistema operativo que uses: Windows, macOS o Linux.
Servidores MCP maliciosos — Si el código del servidor MCP fuera malicioso, tendría acceso inmediato a todo lo que hay en mi entorno de desarrollo.
Ejecuta servidores MCP con Docker
Una forma de evitar estos problemas es recurrir a un método conocido y probado: empaquetar los artefactos de la aplicación con Docker.
Docker se popularizó porque los desarrolladores necesitaban crear e implementar artefactos, como servicios de backend en la nube, de forma estándar y repetible. Docker también facilitó enormemente las pruebas locales y la reproducibilidad de las arquitecturas de microservicios con el archivo Docker Compose.
Ahora, Docker también nos ayuda a iniciar servidores MCP dentro de contenedores. Veamos algunos ejemplos.
Agregar GitHub MCP Server en Docker a Qodo Gen
GitHub MCP Server es una integración que te permite acceder a tu cuenta de GitHub, consultar datos de repositorios y realizar acciones como abrir problemas, entre otras operaciones que se pueden hacer con la API de GitHub.
Para iniciar GitHub MCP Server mediante Docker, normalmente ejecutaríamos un comando como este:
docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN=1234 ghcr.io/github/github-mcp-serverPara ejecutar correctamente ese comando, debes:
Tener Docker instalado para poder ejecutar el comando `docker
Asegurarte de que la aplicación Docker esté en ejecución
Crear un token de acceso personal (PAT) para tu cuenta de GitHub (preferiblemente con la menor cantidad de permisos posible)
Al ejecutar el comando, se descarga la imagen `github-mcp-server del registro de contenedores de GitHub y se le proporciona el PAT como variable de entorno.
Sin embargo, no es necesario ejecutar este comando de Docker directamente en la CLI; basta con proporcionar la instrucción como configuración de un servidor MCP que se ejecute mediante el tipo de transporte de procesos STDIO.
Te mostraré cómo hacerlo con VS Code y la herramienta de código con IA agéntica Qodo Gen.
{
"docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "github_pat_1234"
}
}
}En la vista de la extensión Qodo Gen, haz clic en Tools y luego en el botón de la esquina superior izquierda, Add New MCP,. Aparecerá la vista New Agentic Tool. Pega el JSON y haz clic en Save.

Ahora espera uno o dos minutos mientras el contenedor descarga de la red la imagen más reciente de GitHub MCP Server y la inicia. Mientras esperas, verás una indicación como esta:

Cuando termine de cargarse, podrás ver todas las herramientas disponibles:

Ahora podemos hacer consultas directamente desde el chat para preguntar lo que queramos sobre el repositorio de código:

Más información sobre la seguridad de los servidores MCP
Si te identificas con las dificultades para configurar servidores MCP y los problemas de seguridad que se describen en esta publicación, te recomiendo leer estos artículos sobre seguridad de la IA para prepararte:
10 prácticas recomendadas para desarrollar de forma segura con IA
Infórmate sobre la inyección de prompts y otros ataques de IA
Si estás explorando RAG (generación aumentada por recuperación), te recomiendo este artículo sobre cómo proteger RAG
¿Listo para adoptar la IA de forma segura?
Descarga nuestra Guía de compra sobre la seguridad del código generado con IA para empezar a adoptar herramientas de programación con IA generativa, como GitHub Copilot, Google Gemini y Amazon CodeWhisperer, sin correr riesgos.