#9047·bruno

Pretty-print JSON-RPC / JSON payloads inside SSE responses

Author: sudo-naimCreated Aug 20, 2026Updated Sep 16, 2026
Labelsenhancement

INTERNAL REF - BRU-4563

I have checked the following:

  • I've searched existing issues and found nothing related to my issue.

This feature

  • Blocks me from using Bruno
  • Would improve my quality of life in Bruno
  • Is something I've never seen an API client do before

Describe the feature you want to add, and how it would change your usage of Bruno

When working with endpoints that return JSON-RPC responses through Server-Sent Events (text/event-stream), Bruno displays the response as raw text.

For example, the response contains an SSE event similar to:

event:message
data:{"jsonrpc":"2.0","id":3,"result":{"content":[...],"structuredContent":{...}}}

The JSON contained in the data: field is valid JSON, but Bruno currently shows the entire event as a single raw line. For larger responses this becomes difficult to read, search, and navigate.

It would be useful if Bruno could detect valid JSON inside an SSE data: field and provide a formatted/pretty-printed view.

Current behavior

The response is displayed as raw SSE text:

event:message
data:{"jsonrpc":"2.0","id":3,"result":{"content":[...],"structuredContent":{...}}}

Large nested JSON-RPC responses are therefore difficult to inspect.

Expected behavior

When an SSE data: payload contains valid JSON, Bruno could provide a formatted representation, for example:

event: message

data:
{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      ...
    ],
    "structuredContent": {
      ...
    }
  }
}

Ideally this would include the same features available for normal JSON responses:

  • JSON syntax highlighting
  • indentation / pretty printing
  • collapsible objects and arrays
  • easier navigation and searching
  • an option to switch back to the original raw SSE response

Use case

I use Bruno to test an MCP endpoint that communicates using JSON-RPC and returns responses as SSE events.

The requests work correctly, but inspecting the response becomes difficult because the JSON-RPC payload is rendered as raw text rather than structured JSON.

This would make Bruno significantly easier to use for MCP, JSON-RPC, AI/LLM streaming APIs, and other SSE APIs where the data: payload contains JSON.

Mockups or Images

Screenshot attached showing the current raw response.

Mockups or Images of the feature