https://app.alpacarelay.com/api/mcp over Streamable HTTP. Every client below connects to that one URL. You sign in through your browser (OAuth) or send an API key:
Sign in whenever your client supports it. There’s no secret to leak from a config file, and it works for members who aren’t owners. The setups below use sign-in. Connect with an API key covers the alternative.
Add the server
Pick your client. Menu names change between app versions, so if a path doesn’t match exactly, look for the app’s Connectors or MCP servers settings.- Claude
- ChatGPT
- Claude Code
- Cursor
- VS Code
- Codex
- Gemini CLI
- OpenCode
- Cline
- Goose
- Grok
- Devin Desktop
- Manus
- Other clients
For Claude Desktop and Claude on the web (claude.ai). Both use the same connector, so adding it once makes it available in both.
- Open Customize → Connectors → + Add → Add custom connector.
-
Name it
AlpacaRelay, paste the server URL, and click Continue: - Click Connect, sign in to AlpacaRelay, and approve the connection.
- In a conversation, open + → Connectors and turn AlpacaRelay on.
On a Claude Team or Enterprise plan, an owner or admin adds the connector first, under Organization settings → Connectors. Free Claude accounts can add only one custom connector.
Sign in
The first time the client connects, it opens a browser window where you sign in to AlpacaRelay and approve the connection.Choose a workspace
A sign-in identifies you, not a workspace, so the URL has to say which workspace to use. Add?org= with the workspace’s ID:
?org=.
To use two workspaces side by side, add the server twice under different names, each with its own ?org=.
How long a sign-in lasts
Your client refreshes access on its own every hour. The refresh lasts seven days, so after a week without connecting you’ll be asked to sign in again.There’s no screen yet that lists or revokes the clients you’ve approved. An approved client keeps access until its sign-in expires. If you lose a device with an approved client, tell support.
Connect with an API key
Use a key for CI and other unattended setups, for shared machines, and for clients that can’t sign in. Create one under Settings → API keys and copy it, because it’s shown only once. Keys are owner-only. See Authentication. A key belongs to one workspace, so it never needs?org=. Send it as an Authorization header. Replace ar_live_… in each example with your key.
- Claude Code
- VS Code
- Codex
- Cursor, Cline, and others
Clients that only run local servers
Some clients, including older Claude Desktop versions, can only start local (stdio) servers. Bridge them withmcp-remote, which needs Node.js so that npx is available:
--header and env to sign in instead: mcp-remote opens the browser sign-in for you.
Keep your key out of the repo
A key in a pushed commit is a leaked key, even if you delete it in the next commit. If that happens, delete the key in Settings → API keys and create a new one. Deleting a key takes effect immediately.Check it worked
Your client should listalpacarelay-email with its tools. In chat apps, check that AlpacaRelay is turned on for the conversation.
Then ask for something free and read-only, such as “list my AlpacaRelay brands”. Generating or editing an email costs a credit, so it isn’t a good first test. Head to Tools for what else to ask.
Troubleshooting
The server doesn't appear at all
The server doesn't appear at all
Restart the client, because most read MCP config only at startup. If it still isn’t there, check that you edited the file your client reads, and that the JSON is valid. Cursor’s
~/.cursor/mcp.json applies to every project, while .cursor/mcp.json and VS Code’s .vscode/mcp.json apply to one.There's no option to add a custom connector or MCP server
There's no option to add a custom connector or MCP server
Your plan or your organization’s settings may not allow it. In ChatGPT, Claude, Grok, and GitHub Copilot, team and enterprise plans usually need an admin to add or allow the server first.
The server is listed but needs authentication
The server is listed but needs authentication
Adding a server only saves its config. Sign in from the client’s MCP settings or with its login command, such as
claude mcp login alpacarelay-email or codex mcp login alpacarelay-email. If the client can’t sign in, connect with an API key instead.A tool call says the connection is ambiguous
A tool call says the connection is ambiguous
You belong to more than one workspace and the URL doesn’t say which one to use. The message lists a URL for each workspace. Copy one into your client and reconnect.
"You do not have access to that organization"
"You do not have access to that organization"
The
?org= in your URL names a workspace you’re not a member of, or one that doesn’t exist. Remove ?org= to get the list of workspaces you can use.Every call fails on authentication (API key)
Every call fails on authentication (API key)
Check the header is exactly
Authorization: Bearer ar_live_…: the word Bearer, a space, then the key. Then confirm the key still exists under Settings → API keys. A key stops working immediately when it’s deleted, and also when the owner who created it leaves the workspace.mcp-remote won't start
mcp-remote won't start
npx has to be on the PATH your desktop app sees, which isn’t always the PATH in your terminal. Install Node.js system-wide, or put the full path to npx in command.New tools don't show up
New tools don't show up
Some clients cache the tool list. Restart the client, or refresh the server’s tools in its MCP settings. In ChatGPT, refresh the plugin’s tools; on a Business plan, an admin may need to publish the update.
It connected before and stopped
It connected before and stopped
With a key, the most common cause is a key that was deleted or rotated, or an owner who left the workspace. Create a new key and update the config. With sign-in, sign in again from your client.