Errores

El servidor MCP de Platica distingue dos clases de error, alineadas con el spec de MCP:

ClaseCuándo se devuelveCómo se ve para el cliente
Error de ejecución de toolLa tool corrió pero el resultado fue un fallo recuperable.tools/call retorna { result: { isError: true, content: [...] } }. El modelo puede leer el mensaje y reintentar.
Error de protocolo (JSON-RPC)El request es estructuralmente inválido o intransitable.Respuesta { error: { code, message } } estándar JSON-RPC.

Errores de ejecución (isError: true)

Toda respuesta HTTP no-2xx del API REST se convierte en un error de ejecución. El content[0].text contiene el body crudo (normalmente JSON con code, error, details).

Catálogo común

Status RESTCausaCómo corregir
400Argumentos inválidos.Lee errors[] en la respuesta y corrige el campo señalado.
400 Must specify a valid workspace...API Key multi-workspace y se omitió workspace.Pasa workspace: "<id>" en los argumentos.
401API Key faltante, inválida o desactivada.Regenera la Key en el dashboard de Platica. Revisa el header Authorization.
403La API Key no tiene acceso al workspace/recurso solicitado.Usa una key con scope correcto.
404Recurso (cliente, agente, campaña, webhook, …) no existe en ese workspace.Confirma el ID. Si la key es multi-ws, prueba pasando workspace.
422El recurso existe pero está en un estado incompatible (ej. agente sin workspace).Inspecciona el detalle del error.
500Error interno del backend.Reintenta. Si persiste, consulta los logs o contacta a soporte.

Ejemplo

{
  "jsonrpc": "2.0",
  "id": 7,
  "result": {
    "isError": true,
    "content": [
      {
        "type": "text",
        "text": "{\"code\":404,\"error\":\"Client not found\",\"details\":\"...\"}"
      }
    ],
    "structuredContent": {
      "code": 404,
      "error": "Client not found"
    }
  }
}

Errores de protocolo

Estos códigos JSON-RPC se devuelven cuando la solicitud no puede siquiera ejecutarse:

CodeSignificado
-32001Unauthorized: missing or invalid Authorization header. Falta header o no tiene formato Bearer pl_key_....
-32000Se llamó GET /mcp o DELETE /mcp. El servidor sólo acepta POST.
-32602Argumentos inválidos en la llamada JSON-RPC (no del tool — el JSON-RPC mismo está mal formado).
-32603Error interno del servidor MCP (excepción no manejada). Reintenta.

Validación de argumentos

Si los arguments de un tool no pasan validación contra el inputSchema, el servidor responde con un error de ejecución (isError: true) que incluye:

  • content[0].text: lista legible de issues (path: mensaje).
  • structuredContent.issues: array de { path, message, code } (formato Zod).

Esto le da al modelo suficiente contexto para reintentar con argumentos corregidos en el mismo turno.