> ## Documentation Index
> Fetch the complete documentation index at: https://docs.narrative.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Protocol Error

> The MCP server returned a response that is not valid JSON-RPC or violates the MCP protocol.

**Surface:** `GET /agents/runs/{id}`, `error.type = "McpProtocol"`

## When this error occurs

The workflow's `McpToolCallActivity` sent a JSON-RPC `tools/call` request and got back a
response that:

* Wasn't valid JSON, or
* Had the wrong `Content-Type` (expected `application/json` or `text/event-stream`), or
* Was JSON but didn't match JSON-RPC 2.0 (missing `jsonrpc`, wrong `id`, structural mismatch),
* Was a JSON-RPC error with a code outside the documented range that the workflow knows how to
  classify (`-32601` → UnknownTool, `-32602` → ToolValidation, anything else → here).

This error is **not retried** by the workflow — the response is structurally broken, so a
retry would hit the same response.

## How to fix

This is almost always a problem on the MCP server side. Owners of the server should check
their logs around the failed call timestamp. The workflow logs include the raw response body
for support to inspect.
