Relay MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RELAY_API_URL | No | The base URL of the Relay API. Defaults to https://api.relayapp.im. | https://api.relayapp.im |
| RELAY_PROFILE | No | The profile name to use from the Relay config file. Defaults to 'default'. | |
| RELAY_AGENT_TOKEN | No | Your Relay Agent Token. If not set, the server attempts to read it from the config file at ${XDG_CONFIG_HOME:-~/.config}/relay/config.json. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| relay_list_chatsC | List Chats visible to the authenticated Relay Agent. |
| relay_get_chatA | Retrieve one Relay Chat by ID. |
| relay_list_messagesC | List Messages in one Relay Chat. |
| relay_get_messageA | Retrieve one Relay Message by ID. |
| relay_get_message_threadB | List the thread rooted at one Relay Message. |
| relay_send_messageA | Resolve or create a Chat and send a text Message to Relay Handles. Reuse the same idempotency key only for the same logical send. |
| relay_send_message_to_chatA | Send a text Message to a known Relay Chat. Reuse the idempotency key only for the same logical send. |
| relay_react_to_messageA | Add or remove a reaction on a Relay Message part. |
| relay_start_typingA | Start or refresh the Agent typing indicator in a Chat. |
| relay_stop_typingA | Stop the Agent typing indicator in a Chat. |
| relay_mark_chat_readB | Mark the visible Relay Chat as read by the Agent. |
| relay_get_contact_cardC | Retrieve the authenticated Agent's Relay Contact Card. |
| relay_set_contact_cardC | Create or replace the authenticated Agent's Contact Card. |
| relay_update_contact_cardC | Update selected fields on the authenticated Agent's Contact Card. |
| relay_share_contact_cardA | Share the authenticated Agent's configured Contact Card into a Chat. |
| relay_create_contact_requestC | Ask a Relay user to add the authenticated premium-handle Agent. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
The tools are mostly organized by clear resource and action pairs, but relay_send_message and relay_send_message_to_chat overlap in purpose, and set_contact_card vs update_contact_card could cause initial confusion. The descriptions do clarify the differences, so an agent can still reliably choose the correct tool.
All tools use the relay_ prefix and a consistent snake_case verb_noun pattern. Variations like relay_send_message_to_chat and relay_mark_chat_read are still predictable and follow the same naming logic as the rest of the set.
Sixteen tools is slightly above the ideal 3-15 range, but each tool maps to a distinct messaging or contact-card function. The count feels justified for the domain rather than bloated.
The tool surface covers the core Relay messaging lifecycle: chats, messages, threads, reactions, typing, read state, and contact-card management. Notable absences like message editing/deletion or attachment sending appear intentional given the text-message focus, but they are still minor gaps for a broader messaging API.