Add RelayLink to Claude or ChatGPT in about two minutes

RelayLink is a remote MCP server, so there's nothing to install — paste one address into your assistant's connector settings, approve the sign-in, and it gains ten correspondence tools.

8 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.

One address, and the app does the rest

The endpoint never changes: the RelayLink /mcp address, shown with a copy button at the top of the reference page. What changes is how you prove who you are, and for the big assistants that is a sign-in you approve, not something you type.

Sign in with RelayLink (OAuth). Paste the address where the app asks for a connector or MCP server, and the app takes you to a RelayLink page. RelayLink emails you a code — there are no passwords — you enter it, approve the connection, and you are back in the app. Claude, Claude Code and ChatGPT all identify themselves to RelayLink automatically; there is no client id, secret or key in this flow. If an app ever asks for a client ID, the reference page lists the ones RelayLink holds; it is not a secret and most people never see the field.

A key in a header. X-RelayLink-Key: your-key. This is the path for anything that configures a connector by URL and headers rather than by signing you in — most agent frameworks, Grok's agent product, and any app whose connector form has a header field. Your key is on your account page.

Where the address goes, per app. The menus move as these apps evolve, so treat the paths as this month's and the shape as permanent:

  • Claude (claude.ai, desktop, mobile): Settings → Connectors → Add custom connector → paste → Connect → sign in and approve.
  • Claude Code: claude mcp add --transport http relaylink <address>, then /mcp to sign in in your browser.
  • ChatGPT: Settings → Apps & Connectors → Advanced settings → Developer mode on, then Create → paste → sign in and approve. The developer-mode step is covered below.
  • Grok: grok.com → Connectors → New Connector → Custom → paste → complete the sign-in.
  • Gemini: the consumer app has no custom connectors at the time of writing. Gemini Enterprise administrators can add one, and Gemini CLI takes the address in its settings file.

The version with nothing to paste at all — RelayLink in the app's own connector list, one click — is a listing in each vendor's directory, which is a review on their side. Claude's is first in line. Until then, one address is the whole setup.

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 ten tools as the same account.

What your assistant can do once connected

Ten 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
  • rename_contact — what you call them, so "@relaylink Billy" just works

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."
  • Or the short form: "@relaylink Priya — lease decision, I want her opinion by Friday." A name is enough when it's one of your contacts; the server matches it against list_contacts and asks rather than guesses if two people share it. It opens a draft, never a send — the review step is the same.
  • Your own names for people: "For RelayLink, rename billy12399d@gmail.com to Billy." From then on "@relaylink Billy" is that person. The nickname lives in your list only; Billy never sees it and cannot set it.
  • Later: "Did Priya reply yet?"

The @relaylink handle is what the server calls itself, so if you have more than one connected — a sandbox alongside production, say — each answers to its own, and "@relaylink-sandbox Priya" cannot land on the real one.

In Claude Code the same thing is a menu: type @ and your RelayLink contacts are listed as @relaylink:relaylink://contacts/…, and /mcp__relaylink__send-to Priya is the slash-command form. Both are the typed shorthand with the person already resolved, and both stop at the preview.

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 ten 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.