Errors

Platica's MCP server distinguishes two classes of error, aligned with the MCP spec:

ClassWhen it's returnedHow the client sees it
Tool execution errorThe tool ran but the result was a recoverable failure.tools/call returns { result: { isError: true, content: [...] } }. The model can read the message and retry.
Protocol error (JSON-RPC)The request is structurally invalid or untraversable.Standard JSON-RPC { error: { code, message } } response.

Execution errors (isError: true)

Every non-2xx HTTP response from the REST API becomes an execution error. content[0].text contains the raw body (typically JSON with code, error, details).

Common catalog

REST statusCauseHow to fix
400Invalid arguments.Read errors[] in the response and fix the flagged field.
400 Must specify a valid workspace...Multi-workspace API Key with workspace omitted.Pass workspace: "<id>" in the arguments.
401API Key missing, invalid, or disabled.Regenerate the Key in the Platica dashboard. Check the Authorization header.
403The API Key doesn't have access to the requested workspace/resource.Use a key with the right scope.
404Resource (client, agent, campaign, webhook, …) doesn't exist in that workspace.Confirm the ID. If the key is multi-workspace, try passing workspace.
422The resource exists but is in an incompatible state (e.g. agent without workspace).Inspect the error details.
500Backend internal error.Retry. If it persists, check the logs or contact support.

Example

{
  "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"
    }
  }
}

Protocol errors

These JSON-RPC codes are returned when the request can't even be executed:

CodeMeaning
-32001Unauthorized: missing or invalid Authorization header. Header missing or not in Bearer pl_key_... format.
-32000GET /mcp or DELETE /mcp was called. The server only accepts POST.
-32602Invalid arguments in the JSON-RPC call (not the tool — the JSON-RPC itself is malformed).
-32603Internal MCP server error (unhandled exception). Retry.

Argument validation

If a tool's arguments don't pass validation against the inputSchema, the server responds with an execution error (isError: true) that includes:

  • content[0].text: human-readable list of issues (path: message).
  • structuredContent.issues: array of { path, message, code } (Zod format).

This gives the model enough context to retry with corrected arguments in the same turn.