Vidext v0.15.5 ya está disponible: Genera y comparte desde una sola línea, adjunta archivos cuando quieras y más. Lee las notas de la versión →
Vidext Docs
Servidor MCP de Vidext Operator

Errores, límites y correlación

Las cuatro capas en las que puede volver un fallo, cada código de error de las tools, los límites de admisión y cómo hacer trazable una llamada.

Una llamada al servidor MCP de Operator puede fallar en cuatro sitios. Revísalos en este orden.

1. HTTP y OAuth

La petición no llegó a ninguna tool.

RespuestaSignificadoManéjalo
401 + WWW-Authenticate: Bearer …Token ausente, caducado o rechazado. El cuerpo es un error OAuth, no JSON-RPC.Repite el descubrimiento OAuth desde el challenge. Nunca reintentes con credenciales improvisadas.
403 + insufficient_scopeEl token no lleva ninguno de los scopes de operator.Vuelve a autorizar pidiendo mcp:operator.read.
400 con JSON-RPC -32022La petición no es MCP 2026-07-28 (por ejemplo, no lleva el sobre _meta). data.supported lista las revisiones que se sirven.Usa un cliente que hable 2026-07-28.
400 con JSON-RPC -32020La cabecera Mcp-Method o Mcp-Name falta o no coincide con el cuerpo.Corrige las cabeceras.
405Un GET o DELETE autenticado. El endpoint no guarda estado y solo acepta POST.Envía POST.
404No es un endpoint MCP.Revisa la URL.
500El servidor no pudo comprobar el token.Reintenta tras una breve espera.

2. Errores JSON-RPC

La petición estaba bien formada, pero la llamada se rechazó antes de ejecutar la tool. Vuelven con HTTP 200 y un error JSON-RPC:

CódigoSignificadoManéjalo
-32602 (InvalidParams)Nombre de tool desconocido, o argumentos que no cumplen el esquema de la tool: un argumento obligatorio ausente, uno de más o un valor fuera de rango.Corrige la llamada. Repetirla sin cambios no puede funcionar.

3. Errores de tool

La tool se ejecutó y falló. El resultado lleva isError: true, y su contenido de texto es:

{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Too many requests. Retry after the rate-limit window resets.",
    "retryable": true
  }
}

Muestra el mensaje y reintenta solo cuando retryable sea true.

codeReintentableSignificado
rate_limit_exceededsíMás de 120 llamadas por minuto a esta tool. Consulta límites de admisión.
concurrency_limit_exceededsíMás de 12 llamadas en curso a esta tool.
rate_limit_unavailable, concurrency_limit_unavailablesíNo se puede acceder al almacén de admisión. El servidor rechaza la llamada en lugar de admitirla sin control.
forbiddennoLa persona ya no es admin ni miembro de la organización.
organization_scope_mismatchnoLa llamada nombró una organización a la que el token no está ligado. Vuelve a autorizar para esa organización.
invalid_organization_selectornoorganizationId y organizationSlug nombran organizaciones distintas.
organization_not_foundnoNinguna organización coincide con el selector.
organization_requirednoNo se pudo resolver ninguna organización para la llamada.
not_foundnoEl servicio de lectura de Vidext no encontró nada para la llamada.
dependency_unavailablecuando el backend respondió 5xxEl servicio de lectura de Vidext no pudo responder.
invalid_dependency_responsesíEl servicio de lectura de Vidext respondió algo que el servidor no pudo leer.
internal_errorsíCualquier otra cosa. El mensaje es genérico a propósito.

4. Fallos dentro del resultado en las tools de conocimiento

search_knowledge y read_knowledge_source informan de la mayoría de fallos dentro de un resultado normal, sin isError. Comprueba siempre success:

{ "success": false, "status": "unavailable", "reason": "timeout", "error": "Organization knowledge is unavailable right now." }
statusToolSignificado¿Reintentar?
invalidlas dosConsulta vacía o demasiado vaga, o falta el handle.No, corrige la entrada.
unavailablelas dosNo se pudo leer el conocimiento. reason: "timeout" cuando se agotó el plazo de 15 segundos.Sí.
rejectedread_knowledge_sourceEl handle no salió de search_knowledge para esta organización, o ya no coincide con su fuente.No, vuelve a buscar.
missing, emptyread_knowledge_sourceLa fuente, o su texto procesado, ya no está.No.

Límites de admisión

Cada llamada a una tool cuenta por persona, organización y tool:

LímiteValor
Tasa120 llamadas por minuto (ventana deslizante)
Concurrencia12 llamadas en curso

Una llamada rechazada vuelve como error de tool (rate_limit_exceeded o concurrency_limit_exceeded), no como HTTP 429. El endpoint MCP no envía 429, ni Retry-After, ni cabeceras RateLimit. Espera unos segundos y reintenta. Las llamadas rechazadas con InvalidParams no cuentan.

Si el almacén de admisión no está disponible, el servidor falla de forma cerrada con un error *_unavailable reintentable en lugar de ejecutar la llamada sin control.

El servidor MCP de documentación no tiene límites de admisión propios.

Límites en las rutas de OAuth y de registro

Estas rutas HTTP responden 429 cuando te pasas, y anuncian su cuota en cabeceras:

RutaLímiteCabeceras
/api/auth/*50 peticiones cada 10 segundos por defecto; las rutas de inicio de sesión, registro y código por email, 5 cada 5 minutosRateLimit-Policy (por ejemplo "auth";q=50;w=10) y RateLimit-Limit: la cuota, no lo que queda. Retry-After en un rechazo.
/api/agent/auth y /api/agent/auth/claim/complete60 registros y 30 completados por hora, por IPLo mismo, más la ventana en vivo: RateLimit (limit=…, remaining=…, reset=…), RateLimit-Remaining, RateLimit-Reset. Retry-After en cada 429.

Los endpoints de autorización, token y consentimiento (/api/auth/oauth2/authorize, /token, /consent) no llevan estas cabeceras.

Correlación

Haz trazable cada llamada para que una petición de soporte se pueda cruzar con los registros de Vidext:

  • Envía una cabecera x-request-id con un valor único en cada POST, y guárdalo. Sin ella, el servidor genera la suya, que nunca ves.
  • Envía una cabecera W3C traceparent, o x-trace-id, para unir la llamada a tu propia traza.
  • Guarda el moduleId que pasaste.

Cuando una tool falla, Vidext registra el ID de petición, el ID de traza, la tool y el moduleId. Las respuestas no devuelven estas cabeceras. Para informar de un problema, envía el ID de petición, la hora, la tool y el code del error.

Last updated on

On this page