Relay MCP server
MCP serverCommunicationBusiness phone and SMS for teams: calls, texts, transcripts, contacts and call flows.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use Relay MCP server
Install Relay MCP server
The server’s own address, for the clients that take one directly. Or connect ahel onceand every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http relay-mcp-server 'https://api.yesrelay.com/api/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://api.yesrelay.com/api/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=relay-mcp-server&config=eyJ1cmwiOiJodHRwczovL2FwaS55ZXNyZWxheS5jb20vYXBpL21jcCJ9Open the link and Cursor adds the server at that address.
ChatGPT
https://api.yesrelay.com/api/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add relay-mcp-server --url 'https://api.yesrelay.com/api/mcp'Run it once, then sign in with codex mcp login relay-mcp-server if the server asks for an account.
From the project's README
As published by yesrelay/relay-mcp in README.md.
Remote Model Context Protocol server for Relay, a business phone and SMS app for teams, built in Montreal.
It lets Claude, or any MCP client, work with your team's phone: list calls and texts, read call transcripts, search and update contacts, send an SMS from the team number, and draft call-routing flows.
| Endpoint | https://api.yesrelay.com/api/mcp |
| Transport | Streamable HTTP (spec 2025-06-18), stateless |
| Authentication | Authorization: Bearer <Relay API key> |
| Tools | 16 |
| Plans | Every plan, free included |
| Documentation | https://yesrelay.com/en/api-docs |
This repository holds no server code: the server is hosted by Relay. Nothing to install on the server side.
Get an API key
- Create a free account at https://app.yesrelay.com.
- In the app, open Administration, then Integrations & API, and create a key.
- The key starts with
rk_live_and is shown once. Keep it in a secrets manager.
Revoking the key in the app cuts MCP and REST access at the same instant.
Connect a client
Claude Code
claude mcp add --transport http relay https://api.yesrelay.com/api/mcp \
--header "Authorization: Bearer rk_live_..."
Claude Desktop
claude_desktop_config.json, through mcp-remote:
{
"mcpServers": {
"relay": {
"command": "npx",
"args": ["mcp-remote", "https://api.yesrelay.com/api/mcp",
"--header", "Authorization:${AUTH}"],
"env": { "AUTH": "Bearer rk_live_..." }
}
}
}
Any other client
Point it at https://api.yesrelay.com/api/mcp with the Authorization header above.
Tools
Calls and messages
| Tool | What it does |
|---|---|
relay_list_numbers | Lists the organization's teams and their phone numbers |
relay_list_calls | Recent calls of a team, newest first |
relay_get_transcript | Transcript of a call, with the AI summary and action items |
relay_list_messages | Recent texts of a team, newest first, filterable by contact |
relay_send_sms | Sends a text from the team number. Real, billed and irreversible |
Contacts and team
| Tool | What it does |
|---|---|
relay_search_contacts | Searches a team's address book by first name, last name or company |
relay_create_contact | Adds a contact to the team's address book |
relay_update_contact | Replaces the fields of an existing contact |
relay_list_members | People in the organization and their identifiers |
Flow (call routing, Business and Scale plans)
| Tool | What it does |
|---|---|
relay_list_flows | Lists the organization's call flows |
relay_get_flow | Reads the live graph and the draft of a flow |
relay_flow_schema | Block types, expected fields and routing-engine rules |
relay_create_flow | Creates a number's flow from a template |
relay_save_flow_draft | Replaces the draft. Changes nothing callers hear |
relay_check_flow | Tests a graph without writing anything |
relay_discard_flow_draft | Throws away the draft and returns to what is live |
No tool publishes a flow. An agent can draft and check a call path; a person puts it live from the app.
Safeguards
A text sent through MCP goes through the same checks as a text sent from the app:
| Refusal code | When |
|---|---|
recipient_opted_out | The recipient replied STOP (or ARRET, UNSUBSCRIBE) to this team |
daily_limit_reached | The team's daily cap is reached (the customer's own limit, or the automatic one) |
workspace_budget_reached | The team's spending cap is reached |
sending_suspended | Outbound sending is paused by the circuit breaker; receiving continues |
What you can do also follows your plan: sending texts needs a paid plan, and the Flow tools need Business or Scale.
Limits
| Plan | Requests per minute per key | Keys |
|---|---|---|
| Free | 30 | 2 |
| Paid | 120 | 5 |
Each message in a JSON-RPC batch counts as one request.
Troubleshooting
The client shows a read error, or curl fails with error 56 ("chunk hex-length"). Some
antivirus software that inspects HTTPS traffic corrupts MCP responses; we have seen it with
Avast. The server answered correctly. Exclude api.yesrelay.com from your antivirus HTTPS
scanning, then try again.
401 Invalid API key. The key is missing, revoked or expired. Create a new one in the app.
Also available
- REST API:
https://api.yesrelay.com/api/v1, reference at https://api.yesrelay.com/docs - Signed webhooks (HMAC SHA-256) for call and SMS events
Support
Advanced
- Delivery
- relay MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
- Catalog kind
- mcp-server
- Gateway key
io-github-yesrelay-relay- Source
- github.com/yesrelay/relay-mcp
- Hosted endpoint
https://api.yesrelay.com/api/mcp