• MCP
  • Protocolo de Contexto del Modelo
  • IA

¿Qué es MCP (Protocolo de Contexto del Modelo) y cómo funciona

Una guía fácil de entender sobre el Protocolo de Contexto del Modelo (MCP), explicando cómo ayuda a los LLMs a acceder a recursos externos para superar limitaciones de conocimiento y construir aplicaciones de IA más potentes.

Yijun
Yijun
Developer

Deja de perder semanas en la autenticación de usuarios
Lanza aplicaciones seguras más rápido con Logto. Integra la autenticación de usuarios en minutos y concéntrate en tu producto principal.
Comenzar
Product screenshot

¿Qué es MCP?

MCP (Protocolo de Contexto del Modelo) es un protocolo abierto y universal que estandariza cómo las aplicaciones proporcionan información de contexto a los modelos de lenguaje grandes (LLMs).

En pocas palabras, al igual que el protocolo HTTP permite que diferentes sitios web y navegadores intercambien información según las mismas reglas, MCP es como el protocolo HTTP del mundo de la IA. MCP permite que diferentes modelos de IA se conecten a varias fuentes de datos y herramientas de una manera estandarizada. Esta estandarización facilita a los desarrolladores construir aplicaciones de IA sin tener que crear interfaces especializadas para cada modelo o fuente de datos.

¿Por qué necesitamos MCP?

Los modelos de lenguaje grandes (LLMs) son poderosos, pero enfrentan varias limitaciones clave:

  • Limitaciones de conocimiento y desafíos de actualización: Los LLMs solo conocen la información incluida en sus datos de entrenamiento. Por ejemplo, el conocimiento de GPT-4 se detiene en abril de 2023. Entrenar modelos de lenguaje grandes requiere enormes recursos informáticos y tiempo, a menudo llevando seis meses o más para completar una nueva versión. Esto crea un problema difícil: el conocimiento del modelo siempre está "desactualizado", mientras que las actualizaciones son extremadamente costosas y consumen mucho tiempo. Para cuando un nuevo modelo termina de entrenarse, su conocimiento ya ha comenzado a quedarse atrás.

  • Falta de conocimiento especializado de dominio: Los LLMs se entrenan usando datos generales disponibles públicamente. No pueden comprender profundamente datos e información especializados en escenarios empresariales específicos. Por ejemplo, los procesos internos de una institución médica, el catálogo de productos de una empresa o el conocimiento propietario de una organización no están dentro del ámbito de entrenamiento del modelo.

  • Sin un estándar unificado para acceder a datos externos: Actualmente, hay muchos métodos para proporcionar información adicional a los LLMs, como RAG (Generación Aumentada por Recuperación), bases de conocimiento locales, búsquedas en internet, etc. Diferentes equipos de desarrollo ofrecen diferentes soluciones de integración, lo que lleva a altos costos de integración entre sistemas. Los sistemas con datos especializados de dominio (como CRM, ERP, sistemas de registro médico, etc.) son difíciles de integrar de manera fluida con los LLMs. Cada integración requiere un desarrollo personalizado, careciendo de un método común y estandarizado.

Por eso necesitamos MCP. MCP proporciona un protocolo estandarizado que permite a los LLMs acceder a información y herramientas externas de manera consistente, resolviendo todos los problemas anteriores. A través de MCP, podemos obtener las siguientes ventajas clave:

  • Ricas integraciones preconstruidas: MCP ofrece muchas integraciones de servidor listas para usar, incluyendo sistemas de archivos, bases de datos (PostgreSQL, SQLite), herramientas de desarrollo (Git, GitHub, GitLab), herramientas de red (Brave Search, Fetch), herramientas de productividad (Slack, Google Maps), y más. Esto significa que no necesitas construir estas integraciones desde cero. Puedes simplemente usar estos conectores preconstruidos para permitir que los LLMs accedan a datos en estos sistemas.

  • Cambio flexible entre proveedores de LLM: Hoy puedes usar GPT-4, mañana quizás quieras probar Claude o Gemini, o usar diferentes LLMs para diferentes escenarios. Con MCP, no necesitas reescribir toda la lógica de integración de tu aplicación. Solo necesitas cambiar el modelo subyacente, y todas las integraciones de datos y herramientas permanecen sin cambios.

  • Construcción de flujos de trabajo de IA complejos: Imagina un sistema de análisis de documentos legales que necesita consultar múltiples bases de datos, usar herramientas específicas para la comparación de documentos y generar informes. MCP te permite construir agentes y flujos de trabajo tan complejos sobre LLMs.

Cómo funciona MCP

En MCP, hay tres roles principales: Servidor MCP (proporcionando herramientas y acceso a datos), Cliente MCP (incrustado en el LLM y comunicándose con el Servidor MCP), y Anfitriones MCP (aplicaciones que integran LLMs y Clientes, como Claude Desktop, Cursor, etc.). Veamos estos tres roles en detalle para ver cómo trabajan juntos.

Servidor MCP

El Servidor MCP es un programa que proporciona capacidades de acceso a herramientas y datos para que los LLMs las usen. A diferencia de los servidores API remotos tradicionales, el Servidor MCP puede ejecutarse como una aplicación local en el dispositivo del usuario o desplegarse en un servidor remoto.

Cada Servidor MCP proporciona un conjunto de herramientas específicas responsables de recuperar información de datos locales o servicios remotos. Cuando un LLM determina que necesita usar una herramienta determinada mientras procesa una tarea, usará las herramientas proporcionadas por el Servidor MCP para obtener los datos necesarios y devolverlos al LLM.

Cliente MCP

El Cliente MCP es el puente que conecta los LLMs y los Servidores MCP. Incrustado en el LLM, es responsable de:

  • Recibir solicitudes del LLM
  • Reenviar solicitudes al Servidor MCP apropiado
  • Devolver resultados desde el Servidor MCP de vuelta al LLM

Puedes consultar Desarrollar un Cliente MCP para obtener más información sobre la integración del Cliente MCP con LLMs.

Anfitriones MCP

Programas como Claude Desktop, IDEs (Cursor, etc.), o herramientas de IA que desean acceder a datos a través de MCP. Estas aplicaciones proporcionan a los usuarios interfaces para interactuar con los LLMs, mientras integran el Cliente MCP para conectarse a los Servidores MCP para extender las capacidades del LLM usando las herramientas proporcionadas por los Servidores MCP.

Flujo de trabajo de MCP

Los tres roles mencionados forman finalmente una aplicación de IA construida sobre MCP.

Un flujo de trabajo de ejemplo de este sistema es el siguiente:

Cómo construir un Servidor MCP

El Servidor MCP es el enlace más crítico en el sistema MCP. Determina qué herramientas puede usar el LLM para acceder a qué datos, afectando directamente los límites funcionales y las capacidades de la aplicación de IA.

Para comenzar a construir tu propio Servidor MCP, se recomienda primero leer la guía de inicio rápido oficial de MCP, que detalla el proceso completo desde la configuración del entorno hasta la implementación y uso del Servidor MCP. Solo explicaremos los detalles de implementación principales.

Definición de herramientas proporcionadas por el Servidor MCP

La funcionalidad central de un Servidor MCP es definir herramientas a través del método server.tool(). Estas herramientas son funciones que el LLM puede llamar para obtener datos externos o realizar operaciones específicas. Veamos un ejemplo simplificado usando Node.js:

En este ejemplo, definimos una herramienta llamada buscar-documentos que acepta una cadena de consulta y el número máximo de resultados como parámetros. La implementación de la herramienta se conectaría a un sistema de base de conocimiento y retornaría resultados de consulta.

El LLM decidirá si utilizar esta herramienta basándose en la definición de la herramienta y la pregunta del usuario. Si es necesario, el LLM llamará a esta herramienta, obtendrá los resultados y generará una respuesta combinando los resultados con la pregunta del usuario.

Mejores prácticas para definir herramientas

Al construir tales herramientas, puedes seguir estas mejores prácticas:

  • Descripciones claras: Proporciona descripciones detalladas y precisas para cada herramienta, indicando claramente su funcionalidad, escenarios aplicables y limitaciones. Esto no solo ayuda al LLM a elegir la herramienta correcta, sino que también facilita a los desarrolladores entender y mantener el código.
  • Validación de parámetros: Usa Zod o bibliotecas similares para validar estrictamente los parámetros de entrada, asegurando tipos correctos, rangos de valores razonables y rechazando entradas no conformes. Esto previene que los errores se propaguen a los sistemas backend y mejora la estabilidad general.
  • Manejo de errores: Implementa estrategias de manejo de errores comprensivas, captura posibles excepciones y devuelve mensajes de error fáciles de entender. Esto mejora la experiencia del usuario y permite que el LLM proporcione respuestas significativas basadas en condiciones de error, en lugar de simplemente fallar.
  • Control de acceso a datos: Asegura que las APIs de recursos backend tengan mecanismos robustos de autenticación y autorización, y diseña cuidadosamente los alcances de permiso para limitar el acceso y retorno de datos por parte del Servidor MCP a únicamente aquellos para los que el usuario está autorizado. Esto previene fugas de información sensible y asegura la seguridad de los datos.

Cómo asegurar la seguridad del intercambio de datos entre MCP (modelos de IA) y sistemas externos

Al implementar Servidores MCP que conectan modelos de IA con sistemas externos, hay dos desafíos clave de seguridad en la implementación de MCP:

  • Autenticación: A diferencia de las aplicaciones tradicionales, en el entorno MCP, el usuario no puede iniciar sesión con flujos de inicio de sesión tradicionales (como nombre de usuario/contraseña, correo electrónico/código de verificación, etc.) para acceder al sistema externo.
  • Control de acceso para solicitudes del Servidor MCP: Los usuarios que acceden a sistemas a través de herramientas de IA son las mismas personas que podrían usar directamente tu sistema. El Servidor MCP actúa como su representante cuando interactúan a través de herramientas de IA. Rediseñar todo un mecanismo de control de acceso solo para acomodar el Servidor MCP requeriría un esfuerzo y costo significativo.

La solución clave a estos desafíos es implementar Tokens de Acceso Personal (PATs). Los PATs proporcionan una manera segura para que los usuarios otorguen acceso sin compartir sus credenciales o requerir un inicio de sesión interactivo.

Así es cómo funciona el flujo de trabajo:

Este enfoque permite que tu servicio existente mantenga sus mecanismos de autenticación mientras habilita de manera segura la integración MCP.

Puedes consultar la publicación en el blog: Potencia tu negocio: Conecta herramientas de IA a tu servicio existente con control de acceso con un ejemplo de código fuente completo para aprender cómo usar los Tokens de Acceso Personal (PAT) de Logto combinados con Control de Acceso Basado en Roles (RBAC) para restringir los recursos a los que el MCP puede acceder desde los servicios backend.

Resumen

MCP (Protocolo de Contexto del Modelo) trae cambios revolucionarios a la combinación de LLMs y negocios específicos. Resuelve los problemas de limitaciones de conocimiento en modelos de lenguaje grandes, falta de conocimiento especializado de dominio y estándares no unificados para el acceso a datos externos.

Usar MCP para conectar tus propios servicios traerá nuevas posibilidades a tu negocio. MCP es el puente que conecta la IA con el valor empresarial. Puedes crear asistentes de IA que realmente entiendan el conocimiento interno de tu empresa, desarrollar herramientas inteligentes que accedan a los datos más recientes y construir aplicaciones profesionales que satisfagan necesidades específicas de la industria.