Add RelayLink to Claude or ChatGPT in about two minutes

RelayLink is a remote MCP server, so there's nothing to install — point your assistant's custom-connector settings at the /mcp endpoint with your key and it gains nine correspondence tools.

6 min read Updated

RelayLink has no app, because your assistant is the app. It's a remote MCP server: you add it to the AI you already use as a custom connector, and your assistant gains a small set of correspondence tools. Setup is two values and a first prompt.

What you need

  • A RelayLink account and your personal API key.
  • An AI app that supports remote MCP servers over HTTP. Claude and ChatGPT both do via custom connectors; so do most agent frameworks. On ChatGPT there is one extra step before you can add anything at all — see below.

The key is yours, not the model's — whoever holds it can correspond as you, so treat it like a password.

Two ways in, and the endpoint is the same either way

The endpoint never changes: the RelayLink /mcp URL. What changes is how you prove who you are.

Sign in with RelayLink (OAuth). If your app offers to connect an account rather than asking for a header, use that. You paste the /mcp URL, the app discovers where to send you, and you approve the connection on a RelayLink page — signed in by a code emailed to you, because RelayLink has no passwords. Nothing is copied by hand, and the connection can be approved for one app without giving it anything another app holds.

A key in a header. X-RelayLink-Key: your-key. This is the path for anything that configures a connector by URL and headers — Claude Code, most agent frameworks, and any app whose connector form has a header field rather than a sign-in button.

In Claude and in ChatGPT, remote connectors live in the connector/integration section of settings. The menus move around as these apps evolve; the constant is that you supply the /mcp URL and then either sign in or paste a key. For an agent framework, use its standard MCP client configuration.

On ChatGPT, turn on developer mode first

This is the step people get stuck on, and the symptom is that there is simply no field to paste a URL into.

ChatGPT will only let you add an arbitrary MCP server when developer mode is on. It is a toggle in ChatGPT's own settings — the section it sits under has moved more than once, so look for developer mode rather than for a fixed menu path. It is currently in beta, on the web, for Plus, Pro, Business, Enterprise and Education accounts.

Three things worth being clear about, because the naming invites the wrong guess:

  • It is not about RelayLink. It is the gate on adding any custom connector. Every MCP server that isn't already in ChatGPT's own directory is behind the same toggle.
  • It is not about write access specifically. You may read that developer mode is what enables tools beyond search and fetch, which is true, but it undersells the situation: without it there is no custom connector to expose tools at all.
  • It is not a workaround or an unsupported hack. It is OpenAI's documented route for connecting your own server, and per-call confirmation for write actions stays on — which sits comfortably with how RelayLink works anyway, since nothing is delivered without your explicit confirm.

The alternative is one-click install from ChatGPT's directory, which needs no developer mode and no URL. That is a submission-and-review process on our side rather than a setting on yours, and RelayLink is not in the directory yet. Until it is, developer mode is the way in.

Claude needs none of this: custom connectors are available in its settings directly. If you use both apps, expect the ChatGPT side to take a minute longer the first time and to be identical afterwards — same account, same tools, same inbox.

Neither path is a downgrade. A key is a single long-lived credential you look after yourself; an OAuth connection is one you can approve per app. Both reach the same nine tools as the same account.

What your assistant can do once connected

Nine tools, in the language you'd already use:

  • check_inbox — what came in
  • get_package — read the full briefing
  • draft_package — compose, for your review
  • confirm_send — deliver, after you approve
  • cancel_draft — discard without sending
  • list_drafts — composed but unsent
  • thread_status — "did they reply yet?"
  • list_threads — everything in flight
  • list_contacts — who you can write to

Note the shape: reading and drafting are free, but nothing reaches another person without your explicit confirm. That separation is the point of the whole design, not a setup inconvenience.

First prompts to try

No new syntax to learn — just talk:

  • "Check my RelayLink inbox."
  • "Who are my RelayLink contacts?"
  • "Draft a briefing for Priya about the lease decision — I want her opinion by Friday." Review what it composed, fix anything wrong, then: "Send it."
  • Later: "Did Priya reply yet?"

The best first run is a real, low-stakes question to a real person. The recipient needs nothing — briefings arrive as normal email with a reply link, whether or not they have an assistant of their own.

If something doesn't work

  • The connection is rejected. On the key path it is almost always the header: the name must be exactly X-RelayLink-Key, with your key as the value, and a pasted space around the key counts. The server will not tell you which mistake you made — a missing header, a wrong key and an expired token all come back as a bare 401, because a request that can authenticate two ways cannot have one of them writing the explanation. On the OAuth path, a rejection usually means the approval never finished: start again from the app's connector settings rather than reloading the RelayLink page.
  • In ChatGPT, there's nowhere to paste the URL. Developer mode is off. That is the whole answer — see the section above. Nothing about the endpoint, the key or the account is involved yet, so don't start re-checking them.
  • The tools don't show up. Reconnect or refresh the connector in the app's settings, then start a fresh conversation — some apps only pick up new connectors on a new session. Confirm your app supports remote MCP servers, not only local ones.
  • list_contacts comes back empty. Contacts are mutual: a standing pair exists only once both sides accept it. Until then, writing to someone new travels as cold email — deliberately hard-capped per day, with the first message required to be a full briefing. Send one real briefing to someone you know; the pair forms from real correspondence, not from an address book import.
  • The assistant drafts but nothing arrives. Check list_drafts — a draft isn't a send. Review it and confirm, or cancel_draft if it shouldn't go.

Once connected, the habit that makes it click is small: the next time you catch yourself about to paste an AI conversation into an email, have the assistant draft the briefing instead.

Frequently asked questions

Do I need Claude specifically?
No. Anything that can talk to a remote MCP server over HTTP works — Claude via its connector settings, ChatGPT via its connector settings once developer mode is on, and most agent frameworks via their standard MCP client configuration.
Why does ChatGPT need developer mode and Claude doesn't?
Because ChatGPT only lets you type an arbitrary MCP server URL into settings when developer mode is on. It is not about RelayLink or about write access — it is the gate on adding any custom connector, and it applies to every MCP server that isn't already listed in ChatGPT's own directory. It is a toggle on paid plans on the web, and turning it on takes a few seconds.
Does this give my assistant access to my email account?
No. RelayLink is a separate correspondence channel and never touches your mailbox. The assistant gets the nine RelayLink tools and nothing else.
Can my assistant send something without me?
No. Drafting and sending are separate server-side steps. A draft sits unsent until you review the rendered package and explicitly confirm — there is no single call that composes and delivers.