Using Rinda from an AI agent
Rinda ships an MCP server, so an AI agent can create queues, send and inspect messages, redrive failures, and write your integration code — without you leaving the editor.
Setup
Claude Code
claude mcp add rinda --env RINDA_API_KEY=rk_prod_... -- npx -y @rindahq/mcp-server
Cursor, Windsurf, Claude Desktop — add to ~/.cursor/mcp.json,
~/.codeium/windsurf/mcp_config.json or claude_desktop_config.json:
{
"mcpServers": {
"rinda": {
"command": "npx",
"args": ["-y", "@rindahq/mcp-server"],
"env": { "RINDA_API_KEY": "rk_prod_..." }
}
}
}
Zed calls them context servers — add to ~/.config/zed/settings.json:
{
"context_servers": {
"rinda": {
"source": "custom",
"command": "npx",
"args": ["-y", "@rindahq/mcp-server"],
"env": { "RINDA_API_KEY": "rk_prod_..." }
}
}
}
The dashboard's Connect → MCP page writes the right one for your agent,
and creates the key. To make one by hand, use API keys → Create key, with messages:read,
messages:write, and queues:read. Add queues:write if you want the agent
to create queues for you.
Then ask your agent: "check my Rinda connection".
What this is good for
Setting up. "Create a FIFO queue called orders and show me the code to send
to it." The agent creates it and generates the integration code against that
queue's real id — including the groupId a FIFO queue rejects sends without,
which is the detail an agent writing from memory leaves out.
Debugging. "Why are messages failing on the orders queue?" The agent can read the status breakdown, inspect dead-lettered messages, and show you the error attached to each one. This is the part most queues cannot answer at all.
Recovering. "I fixed the bug, put the failed orders back." One redrive call, with the retry allowance reset.
Learning. rinda_search_docs works before you have an account, so an
agent can answer "how does deduplication work in Rinda?" without guessing.
What it will not do
It cannot create API keys, issue compatibility credentials, change your plan, or manage your team. Those need a dashboard session, and an API key cannot reach them.
That boundary is deliberate. An agent reads things — a web page, an error, a message body you asked it to inspect — and any of those can carry instructions. If this server could mint a credential, a prompt injection would become a lasting one. Account setup stays with a person.
A note on receiving
rinda_receive_messages is for looking, not for consuming. Receiving hides a
message from other consumers and counts as a delivery attempt, so a loop of
agent receives can dead-letter messages that were fine.
For a real consumer, use the SDK worker — see Workers.