Ranla MCP

Ranla MCP connects Cursor, Claude Code, and compatible agents to:

  • Ranla for growth strategy, lifecycle analysis, audience work, and approvals.
  • Transactional mail, domain, template, and deliverability tools when you need them.

Use Ranla for growth work so conversation, memory, and approval flow stay in one place. Installing MCP does not require changing your product’s transactional mail.

Hosted connection

The hosted server needs no API key. Add the URL:

{
  "mcpServers": {
    "ranla": {
      "url": "https://mcp.ranla.ai/mcp"
    }
  }
}

In Claude Code:

claude mcp add --transport http ranla https://mcp.ranla.ai/mcp

On first connect your client opens a browser (in Claude Code, run /mcp). Sign in on app.ranla.ai and click Allow access. Use a Bearer header (Authorization: Bearer rnl_…) only for an advanced setup that cannot sign in.

Add Ranla to ChatGPT

ChatGPT connects to the same hosted server. To add it yourself:

  1. In ChatGPT, open Settings → Security and login and turn on Developer mode.
  2. Open Plugins, select +, and enter https://mcp.ranla.ai/mcp as the server URL. Choose OAuth for authentication.
  3. Sign in on app.ranla.ai and click Allow access.

Then ask in a new chat, for example "How is growth going in Ranla this week?" or "What is waiting on my approval in Ranla?". ChatGPT asks before it runs a step that changes your workspace, and anything that sends, spends, or publishes still waits for your approval in Ranla.

To disconnect, remove Ranla from ChatGPT's plugins. That ends its access to your workspace.

Install in Cursor

Create an API key in Settings → API keys, then add this to .cursor/mcp.json or your global Cursor MCP configuration:

{
  "mcpServers": {
    "ranla": {
      "command": "npx",
      "args": ["-y", "ranla-mcp@latest"],
      "env": {
        "RANLA_API_KEY": "rnl_your_key_here"
      }
    }
  }
}

Restart Cursor after changing the configuration.

Install in Claude Code

claude mcp add --transport stdio ranla -- npx -y ranla-mcp@latest

Export RANLA_API_KEY in the environment where Claude Code runs.

Tools

Ranla agent tools

  • arc_ensure_thread / arc_list_threads — find or create a durable thread, or list threads (most recent first; pass nextBefore as before for older ones).
  • arc_get_thread — read a thread's messages, including the tools Ranla used, what it made, and approvals waiting on you. Pass earlierBefore as before for older messages.
  • arc_message — send a request to Ranla and wait for the turn. It returns Ranla’s reply (text), the drafts, plans, and documents it made or opened (artifacts), and pendingApproval when a step needs your yes.
  • arc_list_approvals, arc_approve, arc_reject — answer approvals without opening the dashboard.
  • arc_ranla — run one of Ranla's commands yourself: command is a noun and a verb, such as campaign list, segment create, page propose, or connection request, and input holds its fields. The tool's description lists every command, and help <noun> returns a noun's commands with every field. They are the same commands Ranla runs, under the same rules: anything that sends, spends, or publishes comes back as pendingApproval and does nothing until you answer it with arc_approve. The list comes from your workspace, so new commands appear without upgrading. Links in results are full app URLs.

Recommended flow: arc_ensure_thread, then arc_message for anything that needs Ranla's judgement or research ("draft a re-activation campaign"), or arc_ranla when you know the step ("campaign list"). If a step needs approval, arc_list_approvals, then arc_approve or arc_reject.

These tools need a full-access API key. OAuth sign-in and keys created in Settings → API keys have full access; a sending-only key gets a 403 on every arc_* tool.

Mail tools

  • Send: send_email (now, or later with scheduled_at), cancel_email, list_emails, get_email.
  • Inbound: list_received_emails, get_received_email.
  • Domains: list_domains, get_domain, create_domain, apply_domain_dns, verify_domain.
  • Templates: list_templates, get_template, create_template, publish_template.
  • Webhooks: list_webhooks, create_webhook, delete_webhook, send_test_webhook_event.
  • Suppressions and deliverability: list_suppressions, add_suppression, remove_suppression, get_deliverability.

Until your domain is verified, send from [email protected] to your account email only.

Choosing tools

For growth work, message Ranla and let it choose the appropriate read tools or request an approval. For application integration, use the Ranla SDK and the ranla skill to add Audience contacts and lifecycle events.

Transactional mail is available through the same server. Use those tools only when the user asks to send, inspect, or configure mail.

See Agent Skills and the instrumentation quickstart.