The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Relay listing page.
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.
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.
claude_desktop_config.json, through mcp-remote:
Point it at https://api.yesrelay.com/api/mcp with the Authorization header above.
| 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 |
| 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 |
| 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.
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.
| Plan | Requests per minute per key | Keys |
|---|---|---|
| Free | 30 | 2 |
| Paid | 120 | 5 |
Each message in a JSON-RPC batch counts as one request.
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.
https://api.yesrelay.com/api/v1, reference at https://api.yesrelay.com/docs