GuidesAgents
Agents
Hand Rasket to an AI agent and it can set up your account the way a person would: a key, a domain and its DNS, a first send, and on to campaigns and automations. There is one recipe of twelve steps, written once — this page, the skill, the rules file and the MCP server all read the same one.
Install it in your agent
Claude Code
The skill is a folder: SKILL.md with the recipe and its rules, three small Node scripts and the fetch client they share, and three references. Put it in the project and ask the agent to set Rasket up.
mkdir -p .claude/skills
cp -r rasket-setup .claude/skills/Download SKILL.md; its scripts/ and references/ sit beside it under /skills/rasket-setup/.
Cursor
Save the rules file as .cursor/rules/rasket.mdc. It carries the same recipe as REST calls, with the rules for calling the API directly: the SDK is not published yet, so the file tells the agent to use fetch rather than install it.
Windsurf
The same file, saved as .windsurf/rules/rasket.mdc.
Or connect over MCP
An MCP client needs no key: it signs in with OAuth and holds only the scopes you approve. The toolset parameter below narrows the server to the tools setting up and sending need; leave it out for the full tool catalogue.
claude mcp add --transport http rasket "https://api.rasket.com/mcp?toolset=setup,send"{
"mcpServers": {
"rasket": {
"url": "https://api.rasket.com/mcp?toolset=setup,send"
}
}
}Every script, sample and file here reads the key from RASKET_API_KEY. Export it in the agent's shell; never paste a key into a chat or a file.
The MCP server page covers the boundary, the budgets and every tool.
The recipe
Twelve steps, in order. Each names its call on every surface and what it needs: a scope for an MCP client, otherwise a key permission. What “done” looks like and the failure each step most often meets are in the skill.
| # | Step | REST | Node SDK (soon) | MCP tool | Needs |
|---|---|---|---|---|---|
| 1 | Create an API key | POST /api-keys | apiKeys.create | — | a full_access key |
| 2 | Add a domain | POST /domains | domains.create | create_domain | domains:write |
| 3 | Publish its DNS records | GET /domains/{domain_id} | domains.get | get_domain_records | domains:read |
| 4 | Verify the domain | POST /domains/{domain_id}/verify | domains.verify | verify_domain | domains:write |
| 5 | Set the sender identity | PATCH /team | team.update | update_team | team:write |
| 6 | Send an email | POST /emails | emails.send | send_email | emails:send |
| 7 | Add a webhook and check its signature | POST /webhooks | webhooks.create | create_webhook | webhooks:write |
| 8 | Create and publish a template | POST /templates/{id}/publish | templates.publish | publish_template | templates:write |
| 9 | Add a contact | POST /contacts | contacts.create | create_contact | contacts:write |
| 10 | Create a segment | POST /segments | segments.create | create_segment | segments:write |
| 11 | Send a broadcast | POST /broadcasts/{id}/send | broadcasts.send | send_broadcast | broadcasts:write |
| 12 | Create an automation | POST /automations | automations.create | create_automation | automations:write |
The Python client names every method the same way in snake_case — api_keys.create for apiKeys.create. A step marked “not yet” names something still on its way; an agent skips it and says so.
Where an agent reads the docs
| Address | What it is |
|---|---|
/openapi.json | The whole API as an OpenAPI document. |
/llms.txt | An index of every docs page, written for a model to read. |
/llms-full.txt | Every docs page, one after another, in one file. |
/docs/<page>.md | Any docs page as Markdown — or request the page itself with Accept: text/markdown. |
/skills/rasket-setup/ | The skill and the rules file on this page, as files. |
/.well-known/mcp.json | Where the MCP server is, the transport it speaks and how it signs in. |
/.well-known/agent-skills/index.json | The Agent Skills this site publishes. |
All of these are served by this site, not the API origin. The API serves the same OpenAPI document at /openapi.json on its own host too.
The SDKs
Coming soon: the rasket package is not published yet.
Until the Node and Python clients are published, an agent uses the REST column above, the skill's scripts or MCP. The Node SDK page describes the client that is on its way.