Ir al contenido

Arquitectura MCP: ¿Cómo funciona?

Para construir herramientas efectivas, primero debemos entender cómo viajan los datos entre tu editor de código y tus fuentes de información.

MCP no es una herramienta mágica; es un protocolo cliente-servidor estándar (basado en JSON-RPC) que define reglas claras de comunicación.

graph LR
    subgraph "Tu entorno local"
        Host["Host Application<br>(VS Code / Cursor / Antigravity)"]
        Client["MCP Client<br>(Integrado en el Host)"]
    end

    subgraph "Tu Infraestructura"
        Server["MCP Server<br>(Node.js / Python)"]
        Data[("Base de Datos / Logs / APIs")]
    end

    Client <== "Protocolo MCP (JSON)" ==> Server
    Server --- Data
    
    style Host fill:#e1f5fe,stroke:#01579b
    style Server fill:#fff3e0,stroke:#e65100
    style Data fill:#f3e5f5,stroke:#4a148c

Es la aplicación donde interactúas con la IA.

  • Ejemplos: VS Code, Cursor, Claude Desktop, Antigravity.
  • Rol: Provee la interfaz de chat y gestiona la conexión.

Vive dentro del Host.

  • Rol: Mantiene la conexión “1 a 1” con los servidores. Traduce tus preguntas en lenguaje natural a llamadas técnicas del protocolo.

Esto es lo que tú construyes.

  • Rol: Es un adaptador ligero que expone tus datos específicos de una forma que la IA puede entender.

Cuando creas un servidor, puedes exponer tres tipos de capacidades a la IA. Entender esto es vital para el diseño de agentes.

Son datos pasivos que la IA puede leer. Piensa en ellos como “archivos virtuales”.

  • Función: Dar contexto.
  • Ejemplos:
    • El contenido de un archivo de logs (logs/error.log).
    • El esquema de una base de datos.
    • La documentación interna de tu API.
  • Cuándo usarlos: Cuando quieres que la IA “sepa” algo antes de responder.

Son funciones ejecutables. La IA puede invocarlas para realizar acciones o cálculos.

  • Función: Actuar o recuperar datos dinámicos.
  • Ejemplos:
    • consultar_clima(ciudad)
    • reiniciar_servidor()
    • crear_ticket_jira(titulo, descripcion)
  • Cuándo usarlas: Cuando necesitas que la IA haga algo en el mundo real o busque información que cambia constantemente.

Son maneras predefinidas de usar el servidor.

  • Función: Reutilizar flujos de trabajo.
  • Ejemplo: Un comando /debug que automáticamente carga los últimos logs de error y le pide a la IA que los analice.