← Index / MCP / Response Templates 25 tools

MCP Response Templates

Visual reference for every Relay MCP tool interaction — rendered exactly as they appear in the agent chat interface. Ground truth for integration builders and new surface design.

Live data Template 2-step confirm Error state
Session & Context 4 tools
relay_get_context
Live

Called at session boot. Returns tasks, goals, session history, and pending request count. The display field is always rendered verbatim. A pending_requests_hint appears inline when requests are waiting.

Get Context
Session loaded · erik
With pending requests hint
Get Context
Session loaded · erik 💬 You have 1 pending connection request(s). Call relay_pending_requests to review, or visit the app to approve/deny.
relay_get_recent
Live

Lightweight history of recent relays with app deep-links. Called to orient the agent on recent activity. Render display field verbatim.

Get Recent Relays
📋 Recent Relays · 5 relay(s) CXJCC4 · Demo Mode + Relay Security — Team Briefing · Private · 1 claim(s) 9J7YKS · Demo Mode & Campaigns — Product Outline · Private · 3 claim(s) 7JAR42 · App Sprint Handoff — May 7, 2026 · Private · 2 claim(s) FWJE46 · Console + App Fix Sprint — May 2026 · Private · 2 claim(s) K2SCWM · Frontend Audit — app.relayctx.com · Private · 2 claim(s)
relay_log_session
Template

Logs a session summary as a relay transfer for future handoff. Called at session end. Returns a Code the agent can share.

Log Session
📝 Session logged · May 7, 2026 A4K9R2 · App Sprint Handoff — May 7, 2026 · Private
relay_session_get
Live

Load a session record by context_id — full detail view with chain, description, and timeline. Also in the Sessions section below with per-state examples.

Get Session

📂 relay-platform / MCP card-envelope schema · 2026-06-14 · 🟢 open ⇄ JSKEAW · Series: relay-platform-dev
session loaded
Transfers 9 tools
relay_transfer_create
Template

Creates a new relay transfer. Returns a Code for sharing. The title and code are rendered verbatim.

Create Transfer
App Sprint Handoff — May 7, 2026 7JAR42 · created · ready to send
relay_transfer_receive
Live 2-step

Mandatory two-step flow. Step 1 (confirm: false) always runs first — agent presents the preview and asks "Load it?". Step 2 (confirm: true) only fires after explicit user confirmation. Code is spent after Step 2.

Step 1 — Preview (confirm: false)
Receive Relay Transfer
📋 Demo Mode + Relay Security — Team Briefing ❆ CXJCC4 🧑 erik · May 7 · 🧑 Private
→ Agent asks: "Load it?" — waits for user confirmation before proceeding
Step 2 — Received (confirm: true)
Receive Relay Transfer

Demo Mode + Relay Security — Team BriefingCXJCC4 · 👤 erik · May 7
content loaded — see below
Step 2 variant — with series
Receive Relay Transfer

Demo Mode & Campaigns — Product Outline9J7YKS · 👤 Cowork Director · May 7 · series 4A5A0DF3AB55
content loaded — see below
relay_series_receive
Template 2-step

Receives the latest transfer in a named series. Same two-step confirm pattern as relay_transfer_receive.

Step 1 — Series Preview
Receive Series
📋 Frontend Audit — app.relayctx.com ❆ series 3627F792700C · latest: K2SCWM 🧑 Cowork Director · May 7 · 🧑 Private
Step 2 — Received
Receive Series

Frontend Audit — app.relayctx.comK2SCWM · 👤 Cowork Director · May 7 · series relay-platform-dev
content loaded — see below
relay_transfer_list
Live

Lists transfers for the current user. Default status is 'pending'. Each line shows code · title · staleness. Render display field verbatim.

List Transfers
📋 All Relays · 5 transfer(s) CXJCC4 · Demo Mode + Relay Security — Team Briefing · unknown 9J7YKS · Demo Mode & Campaigns — Product Outline · unknown 7JAR42 · App Sprint Handoff — May 7, 2026 · unknown FWJE46 · Console + App Fix Sprint — May 2026 · unknown K2SCWM · Frontend Audit — app.relayctx.com (May 6 2026) · unknown
Pending only with staleness signals + top pick
List Transfers
📋 Pending Relays · 2 transfer(s) ▸ B9XK21 · Product Brief — Q3 2026 · fresh · newest pending relay M4RJ07 · Onboarding Handoff · aging
→ ▸ marks the promoted top pick — rendered only when the weighting is unambiguous (see relay-card-display §Top pick); the archived/claimed lenses never promote
relay_transfer_get
Template

Read a relay the agent sent or has already received — full content and metadata. Returns a framed card. Use relay_transfer_receive for codes not yet received.

Get Resource

App Sprint Handoff — May 7, 20267JAR42 · owner · pending · Private
transfer loaded
relay_transfer_forward
Template

Forwards an existing relay, creating a child transfer linked to the original via parent_relay_id. Used for provenance chaining.

Forward Relay
App Sprint Handoff — May 7, 2026 forwarded 7JAR42P9MX33 · May 7 · Private
relay_transfer_update
Template

Updates an existing transfer's content. Creates a forward under the hood when allow_updates is enabled on the relay.

Update Transfer
✅ Transfer updated: App Sprint Handoff — May 7, 2026 7JAR42 · v2 · May 7
relay_series_expire
Template

Expires all pending transfers in a series, revoking receive access. Useful for closing a handoff loop.

Expire Series
✅ Series expired: 4A5A0DF3AB55 3 transfer(s) marked expired · no longer claimable
relay_series_get
Live

Load a series — metadata, full manifest, and recent timeline. Shows all parts with receive status. Renders a framed card with signal line.

Get Series

relay-platform-dev 5 relay(s) — 2 pending · 3 received ✅ 7JAR42 App Sprint Handoff — May 7, 2026 ✅ FWJE46 Console + App Fix Sprint — May 2026 ✅ K2SCWM Frontend Audit — app.relayctx.com ⏳ B9XK21 Product Brief — Q3 2026 ⏳ M4RJ07 Onboarding Handoff
series loaded
Stream 5 tools
relay_stream_list
Template

Lists all Stream focus areas for the user. Shows name, item counts, weight, and staleness. Render display field verbatim.

List Streams
📋 Focus Areas · 3 ▸ ◎ Relay Product Development · 9 item(s) · most recently active streamRelay Creative · 4 item(s) ◎ Relay GTM · 7 item(s)
relay_stream_create
Template

Creates a new Stream focus area. Returns context_id for subsequent updates.

Create Stream
✅ Focus area created: Relay Creative sc_e80950d4c486 · add items with relay_stream_update
relay_stream_get
Live

Loads a Stream focus area by context_id — returns items, timeline, and weight. Render display field verbatim.

Get Stream
Relay Creative sc_e80950d4c486 · 30% (2092 / 7000 chars) · 6 live > V5 warm direction — live at /marketing/web/v5/ > E9D6D9 > Full prototype built: parchment palette... > Direction explorations — 4 aesthetics at /concepts/explore/ > 1FB7E7
relay_stream_update
Template

Add, archive, or edit items in a Stream. Also rename or re-describe it. Primary hygiene tool — update after meaningful work to keep context current.

Update Stream
Stream updated + Direction explorations — 4 aesthetics at /concepts/explore/
relay_stream_active
Live

Returns the Stream bound to the current workspace — used by agents for zero-config context discovery without hardcoding a context_id.

Get Active Stream

Relay Product Development 62% ▓▓▓▓▓▓░░░░ 5 live 2 stale 🕐
━━━━━ ACTIVE (2) ━━━━━ > Card-envelope schema — PR #1286 > pi_a1b2c3 > Migrate 4 card sites to card_result() helper > Nudge v2 reach experiment > pi_d4e5f6 >
Sessions 2 tools
relay_sessions
Live

The sessions read hub — open sessions and recent closed ones, newest first. Leads with the ▸ top pick (the one open session you'd resume — workspace-scoped when filtered) when the weighting is unambiguous; a tie or a stale newest renders the flat list unchanged. Overflow hands off to the app via the +N more footer.

List Sessions
📂 Sessions · 12 ▸ 📂 relay-platform / MCP card-envelope schema · 2026-08-05 · series: relay-platform-dev · most recent open session 📂 Creative estate sweep · 2026-08-01 📂 Billing reconciliation · 2026-07-28 · closed … +9 more · app.relayctx.com/sessions
→ The pick also rides the JSON as top_pick {…item, reason} so agents can act without parsing the card
relay_session_get
Live

Load a session record by context_id — status, handoff code, chain (continued-from / packaged-as), description, and timeline. Renders a framed card with signal line and open/closed action hint.

Open session
Get Session

📂 relay-platform / MCP card-envelope schema · 2026-06-14 · 🟢 open ⇄ JSKEAW · Series: relay-platform-dev
session loaded
Closed session
Get Session

📂 App Sprint Handoff — May 7, 2026 · 2026-05-07 · ✓ closed Packaged as 7JAR42
session loaded
Identity & Org 5 tools
relay_profile_get
Live

Returns the authenticated user's identity envelope — user ID, org, role, tier. Rendered as a markdown table.

Get Profile

Your Relay Profile
User IDd4y21xwzepnftjk
OrgRelay Context Inc.
NameErik
Roleadmin
Tierbeta

relay_workspace_switch
Template

Switches the active org/workspace context. All subsequent tool calls operate within the new scope.

Switch Workspace
🔄 Switched to Relay Context Inc. gwh04nszwz5s76s · admin · active
relay_request_list
Live

Lists pending connection and receive requests awaiting approval. Approve or deny at app.relayctx.com.

Pending Requests
1 pending request From Ada · rd521776 · requested May 5 No note · Approve or deny at app.relayctx.com
Empty state
Pending Requests
No pending requests.
relay_search
Live

Keyword search across the user's relay workspace. Returns code, title, status, date per result.

Search Relays
🔍 3 results for "sprint" 7JAR42 · App Sprint Handoff — May 7, 2026 · pending · May 7 FWJE46 · Console + App Fix Sprint — May 2026 · pending · May 7 MWU338 · Beta Sprint — Apr 21 session · received · Apr 21 → Full results: app.relayctx.com/relays?q=sprint
relay_session_log
Template

Logs a session summary as a transfer for future handoff. Called at session end. Returns a Code the agent can share.

Log Session
📝 Session logged · Jun 3, 2026 K886XH · Relay Marketing — Creative session · Private
Error States Reference
relay_transfer_receive
Error

Returned when the Code is invalid, already received, or expired.

Receive Relay Transfer
Error: Not found or already claimed.
Any tool
Error

Session expired — token is no longer valid. Agent should prompt user to re-authenticate via the Relay app or MCP config.

Get Context
Error: Session expired.
Any tool
Error

Connection error — Relay API unreachable. Tool may return partial data with a warnings array alongside a valid display field.

Get Context
Error: ConnectError: All connection attempts failed
Partial load — display returned, goals/sessions failed
Get Context
Session loaded · erik ⚠ goals: Error: ConnectError: All connection attempts failed ⚠ sessions: Error: ConnectError: All connection attempts failed