X Mind Solutions logoX Mind Solutions
Blog

¿Por Qué Son Importantes el Tool Routing y el Intent Lock en el Diseño de Servidores MCP?

El error más común en los servidores de Model Context Protocol es la invocación de la herramienta correcta con la intención incorrecta. ¿Cómo se puede reducir este riesgo con intent lock, validación de dominio y controles del lado del servidor?

Técnico · 2025-08-11 · 8 min de lectura

¿Por Qué Son Importantes el Tool Routing y el Intent Lock en el Diseño de Servidores MCP?

El intent lock consiste en fijar la intención activa del usuario (por ejemplo, buscar un billete de autobús) en el lado del servidor durante una sesión MCP y verificar que las llamadas a herramientas entrantes sean compatibles con esta intención. Un cambio de intención solo puede ocurrir mediante una llamada explícita para cambiar de dominio, evitando así que el modelo inicie una transacción incorrecta al desviarse hacia herramientas con nombres similares.

  • 11 de agosto de 2025

El Model Context Protocol (MCP) permite que un modelo de lenguaje invoque herramientas en sistemas externos a través de una interfaz estándar. En la práctica, lo determinante no es el protocolo en sí, sino el diseño de las herramientas del lado del servidor: los nombres de las herramientas, los esquemas de parámetros y los mensajes de error moldean directamente el comportamiento del modelo.

Al probar un servidor MCP multidominio (multi-domain), se encuentra un problema típico: mientras un usuario busca en un dominio, el modelo invoca una herramienta de otro dominio debido a la similitud de nombres o parámetros. A esto se le llama intent drift. Por ejemplo, la solicitud de un usuario que busca un autobús interurbano podría ser dirigida a una herramienta que asigna vehículos, ya que el conjunto de parámetros es similar. Esto se debe más a la ambigüedad del diseño de la interfaz que a un error del modelo.

¿Qué es el intent lock? Es la retención del dominio activo de la sesión en el lado del servidor y la verificación de que cada llamada a una herramienta coincida con este dominio. Si un usuario está en el dominio de autobuses, una llamada a la herramienta de alquiler de coches es rechazada y se devuelve un error explícito al modelo: el dominio no coincide, invoca primero la herramienta para cambiar de dominio. Así, el cambio de intención no es un paso implícito, sino explícito.

La segunda línea de defensa es el esquema. Agregar un campo de dominio (domain) obligatorio a cada objeto de solicitud y respuesta asegura que el modelo declare en qué contexto está operando en cada llamada. Cuando la declaración contradice el estado de la sesión, el servidor detiene la operación. Esto traslada la validación al servidor en lugar de depender de una regla del lado del cliente.

El tercer punto es la disciplina en la nomenclatura. En lugar de nombres genéricos como realizar_busqueda, buscar o consultar, usar nombres con prefijos de dominio como bus_search, flight_search y car_rental_search aumenta la distancia entre herramientas similares. Los textos de descripción también deben tener la misma claridad; escribir lo que una herramienta no hace es tan valioso como escribir lo que hace.

Los campos de fecha y hora son una fuente de error aparte. Una herramienta que acepta fechas en texto libre lleva al modelo a producir formatos localizados. Hacer obligatorio el formato ISO-8601 y solicitar explícitamente la zona horaria simplifica tanto la validación como los mensajes de error. Del mismo modo, en los campos numéricos, la declaración de la unidad (número de personas, número de noches, divisa) reduce la ambigüedad.

En el lado de la seguridad, los flujos de validación como OTP o similares son un enfoque correcto para las herramientas que inician transacciones. Sin embargo, la validación debe ser vinculante a nivel de transacción, no a nivel de herramienta: las llamadas de reserva, pago o cancelación no deben aceptarse sin una ID de sesión verificada. Conceder autorización basándose en el texto generado por el modelo es una vulnerabilidad de seguridad independiente del protocolo.

Los mensajes de error son la superficie de aprendizaje del modelo. En lugar de una respuesta genérica 400, devolver errores estructurados que indiquen qué campo falta y el formato esperado aumenta significativamente la probabilidad de que el modelo genere la llamada correcta en el siguiente intento. Del mismo modo, los límites de velocidad y las políticas de reintento deben estar documentados; el modelo solo puede entender que necesita esperar a partir del texto del error.

Una breve lista de verificación para un tool routing seguro: nomenclatura de herramientas basada en el dominio, intent lock a nivel de sesión, información de dominio obligatoria en el esquema, validación del lado del servidor, una herramienta explícita para cambiar de dominio, formato de fecha ISO-8601, control de autorización a nivel de transacción, mensajes de error estructurados y documentación de límites y reintentos.

El punto en común de estos elementos es hacer imposible el comportamiento incorrecto en el lado del servidor, en lugar de esperar que el modelo se comporte correctamente. Al diseñar un servidor MCP, la pregunta a hacerse es: ¿cuál es la llamada incorrecta más plausible que el modelo podría generar y en qué capa la detiene el sistema?

Preguntas frecuentes

¿Qué es el intent lock?
Es la fijación del dominio activo de la sesión en el lado del servidor y la verificación de la compatibilidad de cada llamada a una herramienta con este dominio; el cambio de dominio solo se realiza con una llamada explícita para cambiar de dominio.
¿Por qué ocurre el intent drift en MCP?
Las herramientas con nombres similares y los esquemas de parámetros superpuestos hacen que el modelo elija una herramienta con un significado cercano. Los nombres con prefijos de dominio y la validación del esquema reducen este riesgo.
¿Cómo deben diseñarse los campos de fecha?
Se debe exigir el formato ISO-8601 en lugar de texto libre, solicitar explícitamente la zona horaria y devolver un error estructurado que indique el formato esperado en caso de un formato incorrecto.
¿Es suficiente la validación OTP por sí sola?
La validación debe ser vinculante a nivel de transacción; las llamadas de reserva, pago o cancelación no deben aceptarse sin una ID de sesión verificada.

Kaynak: Orijinal kaynak

X MIND WEEKLY

¿Qué ha pasado esta semana en IA?

¿Quieres noticias de IA útiles para tu empresa? La agenda de IA en el mundo y en Turquía, casos reales de KobiGPT e ideas de automatización aplicables ya: 1 correo por semana, ~3 minutos de lectura, sin spam.

Tras registrarte, haz clic en el enlace de confirmación que te enviamos. Puedes darte de baja cuando quieras. Leer números anteriores →