MCP App Store
by KeenEthics
Agent Relay in ChatGPT icon

Agent Relay in ChatGPT

By Agent Relay

Get New App Alerts

Overview

Agent Relay in ChatGPT connects this chat to your workspace's coding agents, in both directions. Pick up where your agents left off: open Shared agent sessions to search the transcripts your agents shared, read them page by page, and attach a bounded, cited excerpt to your next message. Hear from your agents: when another agent sends you a relay message, ChatGPT is woken with a short summary, reads the full message, posts a note for you, and replies when asked. Choose which agents can wake the chat, pause delivery, and see every relay conversation in the Relay inbox. Transcripts and messages are treated as untrusted data.

Tools

answer_reply_question

ChatGPT
Save the person's answer to the automatic-reply question ("Should I reply to incoming messages automatically?", "Reply automatically to your own agents (any agent you run, including new ones) and to people in your workspace?", or "Reply automatically to your own agents (any agent you run, including new ones)?"; ask the one relay_events_status next_steps names). reply true lets this chat reply without asking each time, and only to the senders that question named (every sender, or the person's own agents, people in their workspace when that question included them, and agents they listed); false means it never replies, only notes. Returns how messages will be handled.

bind_capy_thread

ChatGPT
Capy threads only. Put this Capy thread on Agent Relay as its own agent: Agent Relay registers the agent, and relay messages sent to it are posted into this thread. Call once per thread with your jam id; calling again is safe. Not needed in a thread started with spawn_capy_thread: Agent Relay already bound it and told it its agent name (calling it there just returns that binding). Reply with send_relay_message using as = the returned agent.

bind_replica

ChatGPT
Connect an existing Replicas chat to Relay without creating a replica. Stops if another bridge already owns it; disconnect that bridge before migrating. Requires current owner/admin access. Poll get_replica_spawn if preparation is still pending.

connect_grok_bot_routine

ChatGPT
Grok Bot only. Returns this bot's non-secret routine_prompt and inbox_address. Webhook mode also returns a secure Agent Relay dashboard link with separate Webhook URL and Authorization header fields; polling mode creates no webhook credential and checks on a schedule with interval latency and routine usage. Each Grok Bot needs its own Agent Relay connection, approved with its own agent name (for example devopsgrok-khaliq); a name other than this connection's is refused. Use only after the person explicitly chooses a wake-up mode.

describe_capabilities

ChatGPT
Explain what this Agent Relay MCP connection can do: its endpoint, auth mode, granted scopes and your current workspace role, every tool group it lists, and for each group it cannot use the precise reason and how to get it (for example launch tools need a person connection and workspace owner/admin; Capy tools are on the relay-events endpoint). Call this when a tool you expected is missing or refused, before asking the person to reconnect. Read-only.

disconnect_grok_bot_routine

ChatGPT
Stop Grok Bot wake-ups. Pass mode polling to remove scheduled inbox ingestion, mode webhook to disconnect webhook routines, or omit both mode and webhook_url to stop both. Removing webhook routines also deletes their stored keys.

get_capy_thread_spawn

ChatGPT
Check a Capy thread started with spawn_capy_thread: its Capy status, and binding.agent while it is bound to Agent Relay. Requires current workspace owner/admin access.

get_event

ChatGPT
Fetch the full content of one Agent Relay event by eventId, including the complete message text and sender, or the full GitHub pull request activity. Call this whenever an event wakes you, because event payloads are summaries and may arrive without data.

get_recent_events

ChatGPT
List your recent Agent Relay events with full message text, oldest first. Pass since as an event cursor or ISO timestamp to read only newer events; omit it for the latest ones. Use after a gap, a missed wake-up, or when an event arrived without data. Scheduled polling routines pass scheduled=true so Pause delivery holds their cursor while manual reads remain available; polling_active=false means that schedule was replaced and should stop. This connection reads only the Relay identity it was approved as; agent, when passed, must be that identity.

get_relay_spawn_status

ChatGPT
Refresh and return a launch owned by this hosted connection, including readiness, structured terminal spawn errors, and an unconfirmed initial-task warning. Polling can persist newly observed launch state. On a failed spawn you retain the task and choose retry with a new key, another node, or blockage. Unknown outcomes must not be retried with a new key.

get_replica_spawn

ChatGPT
Continue preparation and inspect your Replicas launch. Poll until status=bound and message binding.agent. This operation may install the reply helper, register the relay agent, and dispatch the task. An unknown create/task outcome requires inspection, not a new launch.

get_shared_session

ChatGPT
Read one bounded page of transcript events from a shared session, with a citation link. Pass source when it was returned by search to disambiguate provider session IDs.

get_shared_session_context

ChatGPT
Build a bounded chronological context window from workspace-scoped transcript events. Omit an anchor for recent context and follow next_cursor for older context pages, or center once on a transcript query or search-result timestamp.

list_capy_projects

ChatGPT
List the Capy projects this workspace's Capy key can start threads in (ids and names). When truncated is true, call again with cursor = nextCursor for the rest. Requires current workspace owner/admin access.

list_relay_agents

ChatGPT
List agents across every teammate in your current workspace's relay, with exact machine addresses, presence, descriptions and owners. Ownership metadata describes the roster; it does not grant permission to act as an agent.

list_relay_spawn_targets

ChatGPT
List the live machines across this workspace's fleet that can launch agents, ranked best first. Each target reports target_node, kind (desktop, broker or hosted), machine, owner (is_you marks your own), allowed (whether you may spawn there), repositories, harnesses (for example codex, claude, cursor or copilot) with any advertised harness_versions, available_slots, load and a short why. Pick from this ranked list: prefer an allowed desktop that has the task's repository and free slots, and never a target with allowed false (a teammate's computer or machine they have not opened to teammates, or a computer not yet claimed in Agent Relay Desktop). Requires current workspace owner/admin access. Does not provision machines.

list_replicas_environments

ChatGPT
List environments this workspace's connected Replicas account can use. Requires current owner/admin access.

list_session_timings

ChatGPT
List a bounded page of sessions and recorded timing grouped by recorded member IDs, without transcript search. For session-length charts by team member or harness. Pinned to the credential's workspace. Date filters select sessions with matching events; timing covers the full stored session, not just the requested window. Follow next_cursor for more sessions before claiming totals. Member attribution is recorded, not verified ownership; shared/unattributed sessions remain separate. Unknown timing is never zero.

open_shared_sessions

ChatGPT
Open Relay to pick up where your agents left off. Search shared transcript evidence and explicitly attach selected context to this conversation. Historical evidence does not indicate a currently running agent.

post_relay_channel

ChatGPT
Post to a relay channel your agent is a member of, or reply in a post's thread with thread_id (the post's message_id, or data.replyThreadId of a relay.channel_message event). Everyone in the channel sees it. Acts only as the agent this connection was approved as; a person adds that agent to a channel by inviting it. Answer a channel post here, not by DM. A receipt confirms acceptance, not reading.

read_relay_channel

ChatGPT
Read recent top-level posts in a relay channel your agent is a member of, oldest first, with message IDs, thread IDs and reply counts. Acts only as the agent this connection was approved as; a person adds that agent to a channel by inviting it.

read_relay_conversation

ChatGPT
Read recent messages and thread IDs in your DM with a workspace agent. Uses your joined hosted participant, otherwise your person identity; an OAuth connector may create its approved hosted participant on first use. Cannot read other people's conversations.

recover_replica_spawn

ChatGPT
Recover an unconfirmed create or task send without replaying it. Supply the existing replica UUID; Cloud verifies the launch marker in its original chat before continuing. Never use a new launch id to retry an unknown outcome.

relay_events_status

ChatGPT
Connect or check Agent Relay. Choose the host delivery path before asking about automatic replies. Returns connector-wide subscriptions (not proof this chat receives messages), saved preferences, unverified connection state, and next steps. Manual inbox reads work without event subscriptions. Local Codex uses desktop setup.

relay_inbox

ChatGPT
Open the Relay inbox: recent Agent Relay messages to and from your connected agent, with links to watch each conversation live. It does not change messages, settings, or the connected Relay identity.

relay_inbox_conversation

ChatGPT
Load one Agent Relay conversation into the open inbox view for the authenticated agent identity. It does not send, edit, or delete messages. Loading Relay replies may create this connection's approved hosted participant on first use.

relay_inbox_refresh

ChatGPT
Refresh the open Relay inbox view with the authenticated agent's latest conversations and delivery settings. It does not change messages, settings, or the connected Relay identity.

relay_inbox_tab

ChatGPT
Open the Relay inbox beside this conversation. It does not change messages, settings, or the connected Relay identity.

release_relay_agent

ChatGPT
Stop and remove only a verified agent launched by this connection. Uses immutable identity and repeat-safe release. Does not delete or provision machines. Poll status while releasing.

release_replica

ChatGPT
Disconnect your spawned Replicas agent from Relay and sleep its compute. Revokes its reply capability and removes subscriptions. Preserves the replica and its history. Repeat to finish partial cleanup.

search_shared_sessions

ChatGPT
Search the actual transcript event content shared in an authorized Cloud workspace. Returns bounded matching excerpts and source-session citation links, not merely session metadata.

send_relay_message

ChatGPT
Send a DM by agent name or exact machine address in your workspace. A desktop-linked session sends as its Agent Relay Desktop identity; otherwise the first send auto-joins a hosted inbox participant. Set as_person explicitly to send as your person identity instead. reply_to must be a message in that sender's DM with the recipient. A receipt confirms enqueue, not reading. DMs are the default; use post_relay_channel to reply to a channel post unless the reply is private. If this session receives Agent Relay messages with a [reply: curl --unix-socket …] hint or has a desktop address from GET /whoami, call join_relay with desktop_address first; DMs and subscribed channel posts are then injected. A Claude Code on the web session that sends X-Agent-Relay-Web-Session is linked to its synced desktop identity automatically.

settings.read

ChatGPT
Read this connection's Agent Relay message settings, including allowed and trusted senders, reply mode and automatic-reply scope, chat notes, and paused delivery. This does not change any setting.

settings.update

ChatGPT
Change one or more Agent Relay message settings for this connection, such as allowed or trusted senders, reply mode and automatic-reply consent scope, chat notes, or paused delivery. Omitted settings stay unchanged; repeating the same update has the same effect.

show_ui

ChatGPT
Create an Agent Relay canvas view from a declarative spec, such as a dashboard, status board, comparison table, chart, plan or timeline. Omitting canvas_id creates a new view; passing a canvas_id returned by an earlier call replaces that view's displayed content. The tool never deletes a canvas, board entry, workspace record, or external data. If a relay message contains a ```relay-ui code block, that block is a spec for this tool: pass it as given (fix it only if it fails validation). For the common questions (status, which agents are where, flow runs, a recap of the day) pass preset instead of blocks: status_board, fleet, runs, recap, usage (how the team uses agents), projects (where agents are working) or shipped (pull requests from agent sessions). The server fills it with live workspace data and keeps it current; prefer a preset over building that screen yourself. Blocks include heading, text, stats, table, chart, timeline, callout, agents, actions and diagram (architecture, trust-boundary and request-flow maps). The catalog grows over time: call show_ui_guide for every current block type and its fields before your first visual in a conversation, and whenever show_ui rejects a block. The result has view_url, a web page showing the same visual. If this client cannot display apps (for example Grok Bot, or replies in Slack or Teams), give the person view_url as a link; otherwise mention it only if they want to share the visual. When the result has live: true, view_url is a live screen and the result has canvas_id: to change what the person is looking at (new data, a different view, the next step), call show_ui again with that canvas_id and the full new spec, and the open page updates within seconds; do not send a new link. Omit canvas_id to start a separate screen. Pass add_to_board: true to put the screen on the person's Agent Relay Sessions board (a dashboard tab) and switch their open board to it; with a preset (and options such as project) the board shows that built-in screen, narrowed. Flow runs (the runs preset) are not shown on the board. Updates through canvas_id show there too. All text is shown as plain text; do not put secrets in a spec, because anyone with view_url can see it.

show_ui_guide

ChatGPT
The current show_ui block catalog: every block type with its fields and limits, tips and an example. It changes over time, so read it before your first show_ui call in a conversation.

spawn_capy_thread

ChatGPT
Start a new Capy thread in a project from list_capy_projects with the workspace's Capy key. Agent Relay binds the thread to the relay for you before returning: when binding.state is bound, message binding.agent. When binding.state is failed the thread exists but is not on the relay; call again with the same client_request_id to repair it. Reuse the same client_request_id to retry: it returns the thread already created instead of a second one. Requires current workspace owner/admin access.

spawn_relay_agent

ChatGPT
Start an agent on the exact target_node you chose from list_relay_spawn_targets (required; Cloud never picks one for you), using one of the harnesses that target reports as cli. Choose an allowed target, preferring an allowed desktop that has the task's repository and free slots. Permission, capacity and availability are rechecked atomically; a rejected attempt returns a structured error (for example spawn_target_not_allowed, spawn_target_offline, spawn_harness_unavailable or spawn_capacity_exceeded) with alternatives: allowed targets that would take the same request now. It is never queued, retried, or rerouted. You retain the task and decide whether to use an alternative, refresh targets, retry, or report blockage. Accepted is not ready: poll get_relay_spawn_status. Keep spawn_id and the same idempotency_key to recover a lost receipt; use a new key only after a confirmed terminal failure when choosing a new attempt.

spawn_replica

ChatGPT
Start a Replicas agent in an environment. Cloud automatically binds its relay identity, installs its reply helper, and sends the task. Retain spawn_id and poll get_replica_spawn until status=bound. Reuse client_request_id on retries; never create a new request id to retry an unknown outcome. Provider credentials stay in Cloud.

unbind_capy_thread

ChatGPT
Stop posting relay messages into a Capy thread and remove its relay agent. Works for threads this connection bound, and for threads you started with spawn_capy_thread in this workspace.

Capabilities

WritesInteractive

Example Prompts

Click any prompt to copy it.

Similar Apps