Alejandría

Busca en Alejandría

Plataformas

Model Context Protocol (MCP)

Estándar que permite a aplicaciones de IA descubrir y utilizar herramientas, recursos y prompts externos.

01

En pocas palabras

Estándar que permite a aplicaciones de IA descubrir y utilizar herramientas, recursos y prompts externos.

Qué problema resuelve

Integraciones particulares repetidas entre cada agente y cada fuente de datos.

Cuándo utilizarlo

Agentes conectados a sistemas. Ejemplo: exponer consultas de un catálogo interno mediante un servidor MCP.

02

De la idea a la práctica

Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.

En el Radar compartido: Trial (valoración de la edición aportada).

Cómo funciona

Un host incorpora clientes que se comunican con servidores MCP. Estos publican capacidades con contratos para invocación y acceso al contexto.

Ejemplo de uso

Un servidor ofrece buscar_servicio y consultar_documentacion. El agente descubre las operaciones, envía argumentos validados y utiliza las respuestas para explicar dependencias del sistema.

Arquitectura

Host (Claude Code, IDE, aplicación de chat)
 ├── Cliente MCP ──► Servidor MCP "tickets"      (stdio, proceso local)
 ├── Cliente MCP ──► Servidor MCP "base-datos"   (stdio)
 └── Cliente MCP ──► Servidor MCP "docs"         (Streamable HTTP, remoto)

Cada cliente mantiene una conexión con un servidor. Los mensajes son JSON-RPC 2.0 y la conexión empieza con una negociación de versión y capacidades.

Primitivas

Lado Primitiva Quién la controla Uso
Servidor Tools El modelo Acciones: consultar, crear, ejecutar
Servidor Resources La aplicación Datos de contexto identificados por URI (archivos, registros)
Servidor Prompts El usuario Plantillas que el usuario elige (slash commands)
Cliente Sampling — El servidor pide al host una generación del modelo
Cliente Elicitation — El servidor pide información adicional al usuario
Cliente Roots — El cliente indica qué directorios o URIs puede usar el servidor

Transportes

Transporte Uso
stdio Servidor como proceso local; credenciales del usuario en su máquina
Streamable HTTP Servidor remoto; una sola URL, respuestas normales o en streaming (sustituye al antiguo HTTP+SSE)

Para servidores remotos la especificación define autorización basada en OAuth 2.1: el servidor actúa como servidor de recursos y valida tokens emitidos para él.

Un servidor mínimo

from fastmcp import FastMCP

mcp = FastMCP("cartera")

@mcp.tool
def saldo_credito(credito_id: str) -> dict:
    """Devuelve saldo, cuota y días de mora de un crédito."""
    return api_cartera.saldo(credito_id)

if __name__ == "__main__":
    mcp.run()   # stdio por defecto

El docstring y los tipos se convierten en la descripción y el JSON Schema que ve el modelo. Más detalles en FastMCP. Para probar servidores, npx @modelcontextprotocol/inspector ofrece una interfaz para listar e invocar herramientas.

Riesgos de seguridad

Riesgo Descripción Mitigación
Prompt injection indirecta Contenido devuelto por una herramienta contiene instrucciones Tratar resultados como datos; confirmación humana para acciones sensibles
Tool poisoning Descripciones de herramientas maliciosas o que cambian tras instalarse Revisar y fijar versiones de servidores
Exceso de permisos Un servidor con credenciales amplias Credenciales por usuario y de mínimo privilegio
Token passthrough Reenviar el token del cliente a APIs aguas abajo Prohibido por la especificación; usar tokens propios
Combinación peligrosa Datos privados + contenido no confiable + capacidad de enviar fuera No reunir las tres en la misma sesión sin controles

Gobierno en una organización

Mantén un registro de servidores aprobados, con propietario, alcance de datos y versión. Prefiere servidores remotos gestionados centralmente para datos corporativos, de modo que credenciales y auditoría no dependan de cada portátil.

Criterios de implementación

Autenticar al usuario, limitar permisos y revisar contenido recuperado y efectos de las herramientas. Fijar versiones y probar compatibilidad; MCP y comunicación entre agentes resuelven necesidades distintas.

Continúa en las fuentes

Documentación oficial para verificar detalles y explorar más.