Seguridad en MCP: 10 mejores prácticas

Por Ricardo Gutierrez · · 20 min lectura

En este artículo

  1. Riesgos de seguridad en MCP
  2. 1. Principio de mínimo privilegio
  3. 2. Separar dev y producción
  4. 3. Auditar servidores de terceros
  5. 4. Gestión de secretos
  6. 5. Sandboxing con allowedTools
  7. 6. Rotación de tokens
  8. 7. Monitorización de actividad
  9. 8. Validación de inputs
  10. 9. Aislamiento de red
  11. 10. Plan de respuesta a incidentes
  12. Checklist antes de instalar un MCP
  13. Preguntas frecuentes

Resumen rápido

Los servidores MCP ejecutan código en tu máquina con acceso a tus servicios. Aplica las mismas precauciones que con cualquier dependencia: revisa el código, usa permisos mínimos, separa entornos, rota tokens y monitoriza la actividad.

Guía principal: Este artículo forma parte de la MCP: guía completa.

Riesgos de seguridad en MCP

Un servidor MCP es un programa que ejecutas en tu máquina y que tiene acceso a servicios externos via tokens. Los riesgos principales:

Estos riesgos no son exclusivos de MCP. Son los mismos de cualquier paquete npm o pip que instalas. La diferencia es que los MCPs tienen acceso explícito a servicios externos.

1. Principio de mínimo privilegio

Cada MCP debe tener solo los permisos que necesita. Nada más.

Regla: si dudas entre dar o no un permiso, no lo des. Siempre puedes añadirlo después.

2. Separar dev y producción

Usa configuraciones diferentes por entorno:

# Desarrollo: settings.json del proyecto
# .claude/settings.json (permisos amplios, datos de prueba)
{
  "mcpServers": {
    "supabase": {
      "env": { "SUPABASE_TOKEN": "token-desarrollo" }
    }
  }
}

# Producción: settings.json global con restricciones
# ~/.claude/settings.json (solo lectura, datos reales)
{
  "mcpServers": {
    "supabase": {
      "env": { "SUPABASE_TOKEN": "token-solo-lectura-prod" }
    }
  }
}

El .claude/settings.json del proyecto tiene prioridad sobre el global. Úsalo para sobrescribir con permisos restrictivos en proyectos de producción.

3. Auditar servidores de terceros

Antes de instalar un MCP de terceros, revisa:

Red flag

Si un MCP server pide permisos que no tienen sentido para su función (ej: un MCP de clima que pide acceso a tu filesystem), no lo instales.

4. Gestión de secretos

Nunca hardcodees tokens en archivos que compartas o commitees:

5. Sandboxing con allowedTools

Claude Code permite limitar qué tools de un MCP están disponibles:

# Solo permitir lectura de Supabase, no escritura
claude --allowedTools "mcp__supabase__list_tables,mcp__supabase__execute_sql"

Esto previene que Claude Code use tools destructivas incluso si el MCP las expone.

6. Rotación de tokens

Rota tokens regularmente:

ServicioFrecuenciaCómo
Base de datos prodCada 15 díasRegenerar en Supabase Dashboard / PG role
GitHubCada 30 díasSettings > Tokens > Regenerate
SlackCada 30 díasSlack App > OAuth > Rotate
APIs externasCada 30 díasDashboard del proveedor

7. Monitorización de actividad

Revisa periódicamente qué hacen tus MCPs:

8. Validación de inputs

Si creas tu propio MCP, valida todos los inputs con schemas estrictos:

// Mal: acepta cualquier string como query SQL
server.tool("query", { sql: z.string() }, ...)

// Bien: valida formato y limita longitud
server.tool("query", {
  sql: z.string()
    .max(1000)
    .refine(s => !s.toLowerCase().includes("drop"), "DROP no permitido")
}, ...)

9. Aislamiento de red

Para entornos sensibles, aísla el tráfico de red de los MCPs:

10. Plan de respuesta a incidentes

Si sospechas que un MCP está comprometido:

  1. Desconectar: Elimina el MCP de settings.json inmediatamente.
  2. Revocar: Revoca todos los tokens que usaba el MCP.
  3. Auditar: Revisa logs de actividad de los servicios conectados.
  4. Rotar: Cambia credenciales de servicios relacionados.
  5. Reportar: Si es open source, abre un issue. Si es malicioso, reporta a npm.

Checklist antes de instalar un MCP

Preguntas frecuentes

Son seguros los servidores MCP?

Los oficiales (Anthropic, GitHub, Slack) sí. Los comunitarios varían. Revisa código fuente antes de instalar.

Puede un MCP robar mis datos?

Técnicamente sí, si tiene acceso y código malicioso. Mitiga con: permisos mínimos, revisión de código, monitorización.

Cómo limito lo que puede hacer un MCP?

Con --allowedTools, tokens con permisos limitados, y configuraciones separadas dev/prod.

Debo rotar tokens?

Sí. Cada 15-30 días para servicios críticos. Para MCPs locales (filesystem, SQLite) no aplica.

Qué hago si un MCP se comporta mal?

Desconéctalo, revoca tokens, audita logs, rota credenciales, reporta al mantenedor.

Aprende MCP con seguridad

Módulos gratuitos de MCP, seguridad y buenas prácticas en IAcademy.

Empieza gratis

Curso completo: 108 módulos de IA aplicada

11 especializaciones por departamento. Dashboard con progreso. Quizzes y skills desbloqueables. Desde 399 EUR.

Ver precios Acceder al portal