Open source

Keep the handoff on your own machine

The local edition behind DraftRelay is an MIT-licensed delivery outbox. It runs as a Node.js CLI, lets Claude Code or Codex launch an stdio MCP server, and keeps artifacts, revisions, policies, and receipts in SQLite.

01Choose local

A local tool is useful when locality is part of the requirement.

Choose the local edition when the artifacts should remain on one workstation, when you prefer an inspectable SQLite file, or when your AI clients can launch stdio MCP processes directly. The browser UI, lifecycle, immutable revisions, provenance, recipes, destination transformations, secret policies, backup, and export workflows work without a hosted account.

Choose hosted DraftRelay when multiple computers or remote MCP clients need the same inbox, or when you need an authenticated, OAuth-protected HTTP endpoint. The local and hosted stores do not automatically synchronize.

02Install

Build the current release from a source checkout.

The source repository ships the primary local CLI as draftrelay and requires Node.js 22.12 or newer plus pnpm 10. The former cutline executable remains a compatibility alias for existing scripts. Until an npm registry release is confirmed, build and link an existing checkout rather than assuming the package is published.

Build and start the local edition

cd path/to/draftrelay
pnpm install
pnpm build
npm link
draftrelay setup --dry-run
draftrelay setup
draftrelay serve --open

draftrelay setup --dry-run shows the filesystem and client-registration actions before applying them. draftrelay serve --open starts the review UI and optional loopback HTTP MCP endpoint. The stdio registration does not require a server to remain running; the client launches it when needed.

03Connect

Stdio is the recommended local transport.

Equivalent local client registrations

claude mcp add --transport stdio --scope user draftrelay -- draftrelay mcp --client claude-code
codex mcp add draftrelay -- draftrelay mcp --client codex

The setup command can manage those registrations for you. If a client specifically requires Streamable HTTP, run draftrelay serve and register http://127.0.0.1:3939/mcp. That endpoint is unauthenticated and intentionally refuses non-loopback hosts.

04Data ownership

SQLite makes inspection and backup ordinary.

The local database contains artifacts, all revisions, project policy, supplied provenance, redacted finding records, destination representations, and event receipts. The CLI can create a consistent backup and export filtered artifacts as JSON or Markdown.

Backup, export, and copy examples

draftrelay backup
draftrelay export --format json --output ./draftrelay-export.json
draftrelay latest --project Acme --copy slack

Backups and exports can contain sensitive client or project material. Protect them like the database, and verify a backup before deleting the original. Uninstall preserves data unless the explicit purge and confirmation flags are supplied.

05Boundary

Self-hosting transfers operational responsibility to you.

The current local process has no accounts, remote authorization, cloud sync, or third-party delivery integration. Keep it bound to loopback. Do not publish it through a tunnel, reverse proxy, container port, LAN address, or public hostname. Container packaging alone would not add the authentication and tenant isolation needed for remote use.

The source license permits use, inspection, modification, and redistribution under the MIT terms. Trademark rights and the hosted service are separate from the source-code license. Review the repository license included with your checkout for the controlling text.