AI / LLM Dev Tools

JSON-RPC message viewerTrace each request to its response

Paste one message, a batch array, or one JSON frame per line. Pick the protocol profile before analyzing.

JSON-RPC message viewer

Captured messages

Input stays in this browser. No server request is sent.

Analysis result

Ready for a capture.

Ready for a capture.

When a captured RPC trace has a response before its request, reading line by line quickly becomes unreliable. The JSON-RPC message viewer pairs typed IDs across the entire input and keeps the original frame order visible.

Use this MCP message inspector to examine tool listings, resource URIs and capability declarations in a saved transcript. A JSON-RPC log viewer can reveal structure without contacting the server.

Why use this JSON-RPC message viewer?

Connect IDs, not positions

A response inside a batch may arrive before the response to an earlier request. Typed ID matching reveals the pair, and a notification is marked as needing no reply.

Request and response cards connected by matching colored markers despite shuffled order; an unmatched notification remains separate.

Find MCP details in the same trace

A tools/list response yields tool names and input schemas, while resource listings expose URI schemes. Missing messages stay unknown rather than being invented.

One captured MCP message branching into cards for a tool schema, capability symbols and a resource URI.

Read the capture without guessing its shape

01

Choose the right profile

JSON-RPC 2.0 permits batches. MCP 2025-11-25 uses initialize; MCP 2026-07-28 uses server/discover and request metadata. The selected profile changes the findings.

02

Distinguish frames from a batch

A top-level array is a batch. Separate complete JSON values on separate lines are captured frames. The JSON-RPC request response viewer never pairs batch entries by position.

03

Recheck after every edit

Analysis runs when you click or press Ctrl/Cmd+Enter. Editing text or changing profile disables export until you analyze again; the frame count is for the full report.

Follow messages, schemas and resources

Typed ID correlation

String "1" and number 1 remain different IDs. Duplicate requests make a match ambiguous, and unpaired responses are shown separately.

Protocol-specific message summary

Request, notification, success and error frames stay distinct. MCP profiles show capabilities only when the matching discovery response is actually in the capture.

Tool schema diagnostics

A tools/list result is checked for tool names and valid inputSchema objects. A later tools/call can be checked against a listed schema when that definition is present.

Resource URI inventory

Resources and URI templates are listed with their schemes and paths. A custom scheme is shown as data, never opened as a link.

What the report can and cannot prove

Captured text only
No network call, server connection, tool execution or URL fetch occurs. A passing JSON-RPC message viewer report cannot certify MCP interoperability.
Version rules differ
JSON-RPC 2.0 batches are allowed; MCP profiles flag them. The 2026 profile checks request metadata and never requires the retired initialize handshake.
Missing capture is not missing support
No tools/list means the tool catalog is unknown, not empty. Without a matching schema the viewer checks only basic tools/call argument shape.
Input and display limits
The input is limited to 500,000 UTF-16 units and 5,000 frames. Only the first 50 frames appear initially; copy and download include the complete analyzed report.
IDs and errors retain their meaning
Notifications have no response. A JSON-RPC error object differs from an MCP tool result with isError; ambiguous duplicate IDs are reported instead of guessed.

JSON-RPC message viewer questions

How do I match a JSON-RPC response to its request?

Analyze a capture containing both frames. The viewer matches equal typed IDs, even when a response appears earlier. A lone request is marked unpaired.

Can JSON-RPC batch responses arrive out of order?

Yes. The 2.0 specification allows any response order. This viewer never uses array positions to infer pairs; select JSON-RPC 2.0 for generic batches.

Does a JSON-RPC notification have an id?

No. A request without id is a notification and expects no response. The report does not flag that absence as an unmatched request.

How can I inspect MCP tools/list messages?

Select an MCP profile and include the tools/list request and response in your capture. The viewer lists names and checks inputSchema; no response means no catalog can be inferred.

What is the difference between a JSON-RPC error and an MCP tool error?

A JSON-RPC error uses the top-level error object. A tool execution failure may instead be a successful RPC response whose result has isError. The viewer does not merge those categories.

Unexpected result?

Inspect the next capture with the JSON-RPC message viewer

Open a sample, switch profiles if needed, and keep the analysis with your incident notes. The JSON-RPC message viewer runs entirely in this browser.