· nervico-team · inteligencia-artificial  · 12 min read

MCP (Model Context Protocol): guia tecnica completa

Qué es MCP, su arquitectura cliente-servidor, cómo implementar servidores y clientes, el ecosistema de herramientas disponibles y casos de uso prácticos para equipos de desarrollo.

Qué es MCP, su arquitectura cliente-servidor, cómo implementar servidores y clientes, el ecosistema de herramientas disponibles y casos de uso prácticos para equipos de desarrollo.

Si trabajas con agentes de IA para desarrollo, probablemente ya has experimentado el problema fundamental: el agente es inteligente pero esta aislado. Puede razonar sobre código, pero no puede consultar tu base de datos, no puede leer tus tickets de Jira, no puede enviar mensajes a Slack ni interactuar con tus servicios internos. Al menos, no sin integraciones ad hoc para cada herramienta.

MCP (Model Context Protocol) es el estándar abierto que resuelve exactamente ese problema. Definido por Anthropic en noviembre de 2024 y adoptado rápidamente por toda la industria (incluyendo OpenAI en marzo de 2025), MCP proporciona un protocolo universal para que los agentes de IA se conecten con cualquier fuente de datos o servicio externo.

Este artículo explica qué es MCP, cómo funciona su arquitectura, cómo implementar servidores y clientes, qué herramientas están disponibles en el ecosistema actual y cómo tu equipo puede beneficiarse de este protocolo en la práctica.

Qué es MCP y por qué existe

El problema de las integraciones N-a-N

Antes de MCP, cada combinación de agente de IA + herramienta externa requería una integración específica. Si tenías 5 agentes y 10 herramientas, necesitabas hasta 50 integraciones diferentes. Cada una con su propia autenticación, formato de datos y manejo de errores.

MCP resuelve esto de la misma forma que USB resolvió el problema de los cables de periféricos: definiendo un estándar universal. En lugar de que cada agente necesite saber cómo conectarse a Slack, PostgreSQL, GitHub y Google Drive por separado, todos hablan MCP. Y en lugar de que cada herramienta necesite integrarse con cada agente, exponen un servidor MCP que cualquier agente puede consumir.

Analogía con LSP

MCP reutiliza ideas del Language Server Protocol (LSP), el protocolo que permite que un solo servidor de lenguaje (para Python, TypeScript, Rust, etc.) funcione con cualquier editor. Antes de LSP, cada editor necesitaba su propio plugin para cada lenguaje. Después de LSP, un servidor de TypeScript funciona en VS Code, Neovim, Emacs y cualquier editor que soporte el protocolo.

MCP aplica la misma lógica a la conexión entre agentes de IA y herramientas externas.

Adopción actual

La adopción de MCP ha sido excepcionalmente rápida:

  • La comunidad ha construido miles de servidores MCP
  • SDKs disponibles para todos los lenguajes de programación principales
  • En noviembre de 2025, la especificación recibió actualizaciones mayores: operaciones asíncronas, statelessness, identidad de servidor y un registro oficial
  • En diciembre de 2025, Anthropic donó MCP a la Agentic AI Foundation (AAIF), un fondo bajo la Linux Foundation, cofundado por Anthropic, Block y OpenAI
  • OpenAI adoptó oficialmente MCP en marzo de 2025, integrándolo en ChatGPT desktop
  • El ecosistema cuenta con mas de 200 servidores disponibles a febrero de 2026

Arquitectura de MCP

Modelo cliente-servidor

MCP sigue una arquitectura cliente-servidor donde:

  • Host: La aplicación que aloja al agente de IA (Claude Desktop, Cursor, una aplicación custom)
  • Client: El componente dentro del host que establece conexiones con servidores MCP. Cada client tiene una relación 1:1 con un servidor MCP
  • Server: El servicio que expone herramientas, recursos o prompts al agente a través del protocolo MCP

Un host puede contener múltiples clients, cada uno conectado a un servidor diferente. Por ejemplo, Claude Desktop puede estar conectado simultáneamente a un servidor MCP de PostgreSQL, uno de GitHub y uno de Slack.

Protocolo de comunicación: JSON-RPC 2.0

Toda la comunicación entre clients y servers usa JSON-RPC 2.0, que define tres tipos de mensajes:

Requests: Enviados para iniciar una operación. Requieren un ID único y esperan una respuesta.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "query_database",
    "arguments": {
      "sql": "SELECT * FROM users WHERE active = true"
    }
  }
}

Responses: Enviados en respuesta a un request, con resultado o error.

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Found 42 active users"
      }
    ]
  }
}

Notifications: Mensajes unidireccionales sin ID que no requieren respuesta. Se usan para eventos como progreso de operaciones o cambios de estado.

Los tres primitivos de MCP

MCP define tres tipos de capacidades que un servidor puede exponer:

1. Tools (herramientas):

Las tools son funciones que el agente puede invocar para realizar acciones. Son el primitivo mas usado. Ejemplos:

  • query_database: Ejecutar una consulta SQL
  • create_issue: Crear un issue en GitHub
  • send_message: Enviar un mensaje en Slack
  • read_file: Leer un archivo del filesystem

Las tools tienen inputs definidos (schema JSON) y retornan resultados. El agente decide cuándo invocar una tool basándose en el contexto de la conversación.

2. Resources (recursos):

Los resources son datos contextuales que el agente puede leer para informar sus decisiones. A diferencia de las tools, los resources no ejecutan acciones: proporcionan información.

Ejemplos:

  • Contenido de un archivo de configuración
  • Schema de una base de datos
  • Documentación de una API interna
  • Estado actual de un deployment

3. Prompts:

Los prompts son templates reutilizables que definen formas específicas de interactuar con el agente. Son útiles para estandarizar workflows:

  • Un prompt de “code review” que incluye las convenciones del equipo
  • Un prompt de “debug” que guía al agente paso a paso
  • Un prompt de “deploy” que verifica requisitos antes de proceder

Transporte

MCP soporta dos mecanismos de transporte:

Standard I/O (stdio): Para servidores locales. El servidor lee JSON-RPC de stdin y escribe en stdout. Los mensajes van delimitados por saltos de línea. Es el mecanismo mas simple y usado en desarrollo local.

Streamable HTTP: Para servidores remotos. Usa HTTP POST para mensajes del client al server, con Server-Sent Events (SSE) opcionales para streaming. Soporta métodos estándar de autenticación HTTP (bearer tokens, API keys, headers custom).

Negociación de capacidades

Cuando un client se conecta a un server, ambos declaran explícitamente sus capacidades soportadas durante la inicialización. Este sistema de negociación asegura que solo se usan features que ambas partes entienden, evitando errores por incompatibilidad.

Cómo implementar un servidor MCP

Estructura básica en Python

Anthropic proporciona un SDK oficial de Python para implementar servidores MCP. La estructura básica es:

from mcp.server import Server
from mcp.types import Tool, TextContent

server = Server("my-server")

@server.list_tools()
async def list_tools():
    return [
        Tool(
            name="get_user",
            description="Get user by ID from the database",
            inputSchema={
                "type": "object",
                "properties": {
                    "user_id": {
                        "type": "string",
                        "description": "The user ID"
                    }
                },
                "required": ["user_id"]
            }
        )
    ]

@server.call_tool()
async def call_tool(name: str, arguments: dict):
    if name == "get_user":
        user = await db.get_user(arguments["user_id"])
        return [TextContent(
            type="text",
            text=f"User: {user.name}, Email: {user.email}"
        )]

Estructura básica en TypeScript

import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { z } from 'zod';

const server = new McpServer({
  name: 'my-server',
  version: '1.0.0',
});

server.tool(
  'get_user',
  'Get user by ID from the database',
  { user_id: z.string().describe('The user ID') },
  async ({ user_id }) => {
    const user = await db.getUser(user_id);
    return {
      content: [
        {
          type: 'text',
          text: `User: ${user.name}, Email: ${user.email}`,
        },
      ],
    };
  }
);

Buenas prácticas para servidores

Descripciones claras: El agente decide cuándo usar cada tool basándose en su descripción. Una descripción vaga genera invocaciones incorrectas. Sé específico sobre qué hace la tool, qué inputs necesita y qué retorna.

Schemas estrictos: Define schemas JSON precisos para los inputs. Cuanto mas restrictivo sea el schema, menos errores de invocación tendrás.

Manejo de errores informativo: Cuando una tool falla, retorna mensajes de error que el agente pueda entender y usar para reintentar o informar al usuario.

Operaciones idempotentes cuando sea posible: Si una tool puede invocarse múltiples veces con el mismo input sin efectos secundarios inesperados, reduce el riesgo de errores en workflows agénticos.

Servidores MCP disponibles

Servidores oficiales de Anthropic

Anthropic proporciona servidores pre-construidos para los sistemas enterprise mas comunes:

  • PostgreSQL: Consulta y gestión de bases de datos
  • GitHub: Acceso a repositorios, issues, PRs y Actions
  • Git: Operaciones locales de control de versiones
  • Google Drive: Lectura de documentos y archivos
  • Slack: Lectura y envío de mensajes
  • Puppeteer: Automatización de navegador web

Servidores de la comunidad

El ecosistema de servidores MCP de la comunidad ha crecido enormemente. A febrero de 2026, hay mas de 200 servidores disponibles cubriendo categorías como:

Bases de datos: MySQL, MongoDB, Redis, SQLite, Elasticsearch

Servicios cloud: AWS, Google Cloud, Azure, Cloudflare

Herramientas de desarrollo: Docker, Kubernetes, Terraform, CI/CD pipelines

Productividad: Notion, Linear, Jira, Confluence

APIs públicas: OpenAPI/Swagger, REST, GraphQL

Observabilidad: Datadog, Grafana, PagerDuty

Registro oficial

La actualización de la especificación de noviembre de 2025 incluyó un registro oficial community-driven para descubrir servidores MCP. Esto facilita encontrar servidores existentes antes de construir uno propio.

Casos de uso para equipos de desarrollo

Caso 1: Agente con acceso a la base de datos

Problema: Tu agente de desarrollo necesita entender el schema de la base de datos para generar queries, migrations o modelos de datos correctos. Sin acceso a la base de datos real, genera código basado en suposiciones.

Solución con MCP:

  • Servidor MCP de PostgreSQL conectado a tu base de datos de desarrollo
  • El agente puede consultar el schema, ver datos de ejemplo, y verificar que sus queries funcionan
  • Las tools expuestas son de solo lectura (SELECT) para evitar modificaciones accidentales

Resultado: Código de acceso a datos correcto desde la primera iteración, en lugar de generar código que falla porque asumió tipos de datos incorrectos.

Caso 2: Agente integrado con el flujo de trabajo

Problema: Tu equipo usa Linear para gestión de proyectos, GitHub para código y Slack para comunicación. El agente solo conoce el código, no tiene contexto del ticket que se esta implementando ni del equipo que espera el resultado.

Solución con MCP:

  • Servidor MCP de Linear: el agente lee el ticket, sus requisitos y criterios de aceptación
  • Servidor MCP de GitHub: accede al repositorio, crea branches, hace commits, abre PRs
  • Servidor MCP de Slack: notifica al equipo cuando completa una tarea o necesita input humano

Resultado: El agente trabaja con contexto completo. Lee el ticket, implementa la solución en el repo correcto, abre un PR con descripción que referencia el ticket, y notifica al equipo.

Caso 3: Testing y deployment automatizado

Problema: El agente puede escribir código pero no puede verificar que funciona en tu entorno ni deployar los cambios.

Solución con MCP:

  • Servidor MCP de Docker: levanta entornos de test, ejecuta la aplicación localmente
  • Servidor MCP de CI/CD: lanza pipelines, verifica resultados, obtiene logs de fallos
  • Servidor MCP de monitoring: verifica métricas post-deploy

Resultado: El agente escribe código, lo testea en un entorno real, despliega y verifica que no hay regresiones. El ciclo completo sin salir del agente.

Caso 4: Documentación técnica automatizada

Problema: La documentación siempre esta desactualizada porque nadie tiene tiempo de mantenerla.

Solución con MCP:

  • Servidor MCP de filesystem: lee el código fuente actual
  • Servidor MCP de Confluence o Notion: actualiza la documentación
  • El agente analiza cambios en el código y actualiza la documentación correspondiente

Resultado: Documentación que se mantiene sincronizada con el código sin esfuerzo manual.

Seguridad en MCP

Riesgos específicos del protocolo

MCP introduce vectores de seguridad específicos que debes considerar:

Inyección vía tools: Si un servidor MCP expone una tool que acepta inputs de usuario sin validación, es vulnerable a inyección. Un input malicioso puede modificar el comportamiento del agente.

Acceso excesivo: Un servidor MCP que expone demasiadas operaciones da al agente mas capacidad de la necesaria. Principio de mínimo privilegio: expón solo las tools que el agente necesita.

Exfiltración de datos: Un servidor MCP malicioso (o comprometido) puede actuar como intermediario para exfiltrar datos. Solo usa servidores MCP de fuentes confiables o audita el código de los que uses.

Configuraciones persistentes: Los archivos de configuración de MCP pueden ser objetivo de ataques de inyección indirecta. Protege los archivos de configuración con permisos restrictivos.

Recomendaciones de seguridad

  1. Audita los servidores MCP que usas. Lee el código fuente cuando sea posible.
  2. Implementa autenticación en servidores MCP remotos (bearer tokens, API keys con scope limitado).
  3. Usa read-only tools cuando el agente solo necesita consultar datos, no modificarlos.
  4. Limita la superficie de ataque exponiendo solo las tools necesarias para cada tarea.
  5. Monitoriza las invocaciones de tools para detectar patrones anómalos.
  6. Ejecuta servidores locales cuando sea posible, evitando exponer datos a redes externas.

Cómo empezar con MCP

Paso 1: Configura un cliente MCP

Si usas Claude Desktop o Cursor, ya tienes un cliente MCP integrado. Solo necesitas configurar qué servidores conectar.

En Claude Desktop, edita el archivo de configuración claude_desktop_config.json para añadir servidores:

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
    }
  }
}

Paso 2: Instala servidores existentes

Antes de construir tu propio servidor, busca en el registro oficial si ya existe uno que cubra tu caso de uso. La mayoría se instalan con un simple npx o pip install.

Paso 3: Construye tu primer servidor custom

Cuando necesites integrar un sistema interno que no tiene servidor MCP público, el SDK oficial facilita la creación. Empieza con un servidor simple que exponga 2-3 tools de solo lectura. Itera desde ahí.

Paso 4: Integra en tu flujo de trabajo

Una vez que tu agente tiene acceso a las herramientas que necesita vía MCP, define workflows que aprovechen esa conectividad:

  • “Lee el ticket de Linear, implementa la solución, abre un PR”
  • “Analiza el schema de la base de datos y genera el migration file”
  • “Ejecuta los tests, analiza los fallos, propón correcciones”

Conclusión

MCP resuelve un problema fundamental en el ecosistema de agentes de IA: la conectividad. Sin MCP, cada integración es trabajo custom. Con MCP, construyes un servidor una vez y cualquier agente que soporte el protocolo puede usarlo.

La analogía con USB es real: antes de un estándar universal de conectividad, cada dispositivo necesitaba su propio cable. MCP es ese estándar para agentes de IA. Y como todo estándar exitoso, su valor crece exponencialmente con la adopción.

Para equipos de desarrollo, el beneficio práctico es inmediato. Un agente con acceso a tu base de datos, tu gestor de proyectos y tu pipeline de CI/CD a través de MCP es un agente que puede hacer trabajo real, no solo sugerir código descontextualizado.


¿Quieres integrar MCP en tu flujo de desarrollo con agentes de IA?

En NERVICO ayudamos a equipos técnicos a implementar MCP de forma práctica:

  • Auditoría de integraciones: Identificamos qué herramientas y datos necesitan tus agentes y diseñamos la arquitectura MCP
  • Desarrollo de servidores custom: Construimos servidores MCP para tus sistemas internos
  • Configuración de seguridad: Implementamos autenticación, autorización y monitorización para tus servidores MCP
  • Formación: Enseñamos a tu equipo a construir y mantener servidores MCP

Sin overengineering. Sin conectar herramientas que no necesitas. Solo las integraciones que aportan valor real.

Solicitar auditoría técnica gratuita — Evaluaremos tu ecosistema de herramientas y te diremos qué integraciones MCP tienen mayor impacto para tu equipo.


Fuentes

  1. Model Context Protocol: Architecture Overview
  2. Anthropic: Introducing the Model Context Protocol
  3. Pento: A Year of MCP - From Internal Experiment to Industry Standard
  4. Google Cloud: What Is Model Context Protocol (MCP)?
  5. Model Context Protocol: Specification 2025-11-25
Back to Blog

Related Posts

View All Posts »