Realtime & Streaming Protocols

In addition to plain HTTP, the URL scheme determines whether a request is sent normally or switches the editor into a persistent-session mode with its own response panel.

Server-Sent Events (SSE)

No special URL scheme needed — send a request as normal (GET or otherwise) to an endpoint that responds with Content-Type: text/event-stream. Volley detects this and switches the response panel to a live-updating event log instead of a single body: each event shows its event/id/retry fields, the raw data, and the time it was received. Click Cancel (shown in place of Send while connected) to close the stream.

WebSocket

Set the request URL to ws:// or wss://. The Send button becomes Connect — click it to open a relayed WebSocket connection (proxied through Volley's local server, so there's no browser CORS/origin restriction). Once connected:

Headers and auth configured on the request (e.g. a Sec-WebSocket-Protocol or Authorization header) are sent with the initial handshake.

MCP (Model Context Protocol)

Volley includes a small built-in MCP client for talking to MCP servers directly from a request tab. Pick the transport from the Protocol dropdown in the URL bar:

Either way, click Connect to perform the initialize handshake (Volley sends initialize then notifications/initialized automatically). Once connected:

For example, after tools/list shows you a tool's name and input schema, call it with tools/call and a params object like:

{
  "name": "read_wiki_contents",
  "arguments": { "repoName": "owner/repo" }
}

If you've scrolled up in the transcript, new messages arrive without yanking your scroll position — a "New response ↓" banner appears until you scroll to (or click it to jump to) the bottom.

CORS handling

Volley tries a direct fetch() first; if the browser blocks it (CORS), the request is automatically retried through the local Node server, where CORS doesn't apply. SSE and Digest Auth always go through the server.