Any MCP client works with Relm if it can do two things:
- Connect to a remote server over Streamable HTTP (sometimes labelled "HTTP" or "streamable-http").
- Either send a custom header,
Authorization: Bearer relm_sk_..., on every request, or sign in to MCP servers (often labelled OAuth).
With sign-in, choose it in the client and sign in with your Relm account when the client opens Relm's page. Clients that only offer "no authentication" cannot connect.
For the header you need a Relm API key. See Create an API key. The steps below use a key.
Cursor
Open Cursor Settings and its MCP section (called Tools & MCP in recent versions) and add a new MCP server, or edit the file directly: ~/.cursor/mcp.json for all projects, .cursor/mcp.json for one project.
{
"mcpServers": {
"relm": {
"url": "https://api.relm.ai/mcp/",
"headers": { "Authorization": "Bearer relm_sk_..." }
}
}
}
Relm then appears in that MCP section with its tools. In Agent chat, ask "What Relm tools do you have?" to check.
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json. Windsurf uses serverUrl:
{
"mcpServers": {
"relm": {
"serverUrl": "https://api.relm.ai/mcp/",
"headers": { "Authorization": "Bearer relm_sk_..." }
}
}
}
Any other client
Look for these settings in the client's MCP section and fill them in:
| Setting | Value |
|---|---|
| Transport or type | Streamable HTTP (http) |
| URL | https://api.relm.ai/mcp/ (with the final slash) |
| Header name | Authorization |
| Header value | Bearer relm_sk_... |
If a client only runs local (stdio) servers, use the mcp-remote bridge shown in the Claude Desktop steps. It runs on your computer and adds the header for you.
Check the connection from a terminal
To confirm your key works before blaming the client, ask the server for its tool list:
curl -s https://api.relm.ai/mcp/ \
-H "Authorization: Bearer relm_sk_..." \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
A working key returns a list of tools. invalid_api_key means the key is wrong, revoked or expired; plan_ineligible means the workspace is not on a paid plan. See Troubleshooting.