Product documentation

From agent output to a clean handoff

DraftRelay is a review inbox for the finished result of an AI-agent session. It stores the artifact you intend to use—not the full transcript—and keeps review, provenance, revisions, safety findings, and destination-ready copy together.

01Choose a mode

Hosted when you move between clients. Local when the machine is the boundary.

The hosted service gives remote MCP clients one OAuth-protected endpoint at https://draftrelay.onrender.com/mcp. It is useful when Claude Code, Codex, and a browser should see the same review inbox. Sign in, authorize each client, and revoke a connection from account settings when it is no longer needed.

The open-source local edition runs on loopback and stores its data in SQLite. It has no hosted account or cloud sync. Use it when output must remain on one computer, or when you want to inspect and operate the full local stack yourself. Do not expose that unauthenticated local HTTP process to a LAN or the public internet.

Pick one first.

Hosted and local storage are separate. Neither silently syncs artifacts into the other.

02Connect

Give the client one remote MCP endpoint.

Claude Code and Codex can register the hosted Streamable HTTP endpoint from the command line. The first use opens an authorization flow; the client receives revocable OAuth access rather than a long-lived API key pasted into shell history.

Claude Code

claude mcp add --transport http --scope user draftrelay https://draftrelay.onrender.com/mcp

Codex

codex mcp add draftrelay --url https://draftrelay.onrender.com/mcp
codex mcp login draftrelay

See the Claude Code setup or Codex setup for verification and troubleshooting. For another client, register https://draftrelay.onrender.com/mcp as a remote Streamable HTTP MCP server with OAuth discovery enabled.

03Save

Ask for a deliverable, not a dump.

A good request names the artifact, project, destination, and any evidence the result should carry. The agent should finish the work first, then call save_output with one concise, self-contained result.

Save the final launch update to DraftRelay under the Acme project. Make it concise for Slack, include the verification result and next action, and attach the current branch and commit as provenance.

Typed recipes are available for Slack updates, client emails, GitHub pull requests, incident summaries, decisions, and command sets. Free-form Markdown remains available for replies, summaries, actions, snippets, and notes. The service instructs clients not to save chain-of-thought, raw logs, credentials, duplicate drafts, or whole conversations.

04Review

The human controls the last mile.

  1. Open the receipt.The MCP response includes the artifact ID, revision, status, and a direct review URL.
  2. Check source and safety.Review supplied provenance and any redacted secret finding. Scanning is a guardrail, not a guarantee.
  3. Revise without erasing history.Edits create immutable revisions and stale writes are rejected instead of silently overwriting newer work.
  4. Choose the destination.Prepare Slack, email, GitHub, Markdown, or plain text. Conversion warnings call out likely fidelity loss.
  5. Copy, then finish.A successful copy can be recorded and the artifact can move through new → reviewed → copied → done.

05Tool model

Five narrow tools, each with a visible job.

save_output
Creates one polished artifact, optionally using a typed recipe and provenance.
list_outputs
Finds concise metadata by project, lifecycle, kind, tag, or text query.
read_output
Reads the current content and revision before a follow-up action.
revise_output
Creates a new immutable revision using a concurrency guard.
mark_output_used
Checks review and secret policy, records use for a destination, and can complete the artifact.