Protocol overview
Tesseron speaks JSON-RPC 2.0 over WebSocket between your app and the MCP gateway, then the gateway bridges that to MCP over stdio for the agent. One action round-trip crosses both protocols.
The protocol is at version 1.0.0.
Read the pages in order
Section titled “Read the pages in order” Wire format (JSON-RPC) Envelope shapes, methods, notifications, ID correlation.
Transport (WebSocket) URL, framing, origin allowlist, reconnection rules.
Handshake & claiming `tesseron/hello` → `welcome` → claim code → bound session.
Action model How actions are declared, invoked, validated, and namespaced.
Progress & cancellation Streaming updates; `AbortSignal`-based cancellation.
Sampling Handlers re-enter the agent LLM for a reasoning step.
Elicitation Handlers pause and ask the user a question via the agent UI.
Resources Typed, readable, optionally subscribable state projected to the agent.
Errors & capabilities Error codes, capability negotiation, not-available paths.
Lifecycle & failure modes Disconnect, reconnect, timeout, MCP gateway restart, tab close.
Security model Origin allowlist, claim codes, multi-app namespacing.
Core constants
Section titled “Core constants”| Name | Value |
|---|---|
| Protocol version | 1.0.0 |
| Default gateway URL | ws://127.0.0.1:7475 |
| Default action timeout | 60_000 ms |
| Max sampling depth | 3 |
| Tool name pattern | <app_id>__<action_name> |
| Resource URI pattern | tesseron://<app_id>/<resource_name> |
app.id validator | /^[a-z][a-z0-9_]*$/ |
All of these are observable from the wire - they're not SDK-specific. A Python or Go SDK implementing Tesseron MUST match them exactly.