Agent Onboarding
Nitrosend is built MCP-first, so an AI agent can run the whole email stack — campaigns, flows, contacts, transactional sends, deliverability — as native tools. This page is the human-readable overview. The full, machine-readable onboarding skill lives in a single file your agent can fetch and follow:
The canonical agent onboarding skill: vocabulary, all 25 `nitro_*` tools, send modes, the response envelope, the delivery lifecycle, and the headless signup-to-send path. Point your agent here.Two ways in
MCP (recommended)
Connect the MCP server and the agent gets 25 native tools. Best for Claude, ChatGPT, Cursor, Codex, Gemini, and any MCP client.
Headless REST
For builder stacks with no MCP client (Replit, Lovable, v0, Bolt) or CI runners: sign up, mint a key, and send over plain HTTP.
MCP path
One command (or a custom connector) plus OAuth sign-in:
claude mcp add --transport http nitrosend https://api.nitrosend.com/mcpCall nitro_get_status first for account context, then read the nitro://guide resource. Full per-client setup is in the Quickstart and MCP integrations.
Headless path (no dashboard, no MCP client)
Create an account
POST /v1/signup with { "user": { "email", "password" } }. Returns a 15-day JWT in the Authorization response header.
Mint an API key
POST /v1/my/api_keys with that JWT returns nskey_live_.... Store it as a secret.
Send from the sandbox
POST /v1/my/messages with { "channel": "email", "to", "subject", "html" } and an Idempotency-Key header. A new free account sends from the shared sandbox (<brand>@nitr-o.com) with no DNS, capped at 50 emails/month. The send is async — poll GET /v1/my/messages/{id} for status.
Go to production
Hand the user two links: a domain verify link (DNS) and the Stripe checkout_url from POST /v1/my/subscription/checkout. $0 plans need no card.
Node and Python fetch / requests calls work as-is. Only the bare Python-urllib user agent is blocked by the WAF.
For the complete reference, always defer to nitrosend.com/skill.md and the REST API docs.
