Skip to main content

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.