# Aerosend MCP > Connect ChatGPT, Claude, Cursor, VS Code or any MCP client to an Aerosend account. This page is documentation. The live MCP protocol is `https://mcp.aerosend.io/mcp`, not this API host. Manage cold email infrastructure: add domains and mailboxes, get SMTP/IMAP credentials, organize inventory with tags, and check warmup, inbox placement and domain burn. ``` https://mcp.aerosend.io/mcp ``` Transport: Streamable HTTP. When you add that URL, sign-in opens by itself. New users can create an account on that page (Google or email). Cursor and scripts can send `X-API-Key: aero_...` instead. ## Things to ask it - "Which of my domains are burnt or at risk, and what should I do about each one?" - "How many free domain and mailbox slots do I have?" - "Add these 10 domains and redirect them all to acme.com." - "Create 3 mailboxes on every active domain that has none yet, using Sarah Lee and Tom Park." - "Tag every domain for client Acme with `acme`, including their mailboxes." - "Give me the SMTP and IMAP settings for sarah@acme-mail.com." - "What was my inbox rate on Outlook in the last placement test?" ## Connect ### Claude (claude.ai, desktop, mobile) Settings > Connectors > Add custom connector, then paste `https://mcp.aerosend.io/mcp` and sign in to Aerosend. ### Claude Code ```bash claude mcp add --transport http aerosend https://mcp.aerosend.io/mcp ``` Then run `/mcp` inside Claude Code to sign in. To use an API key instead: ```bash claude mcp add --transport http aerosend https://mcp.aerosend.io/mcp --header "X-API-Key: aero_your_key" ``` ### ChatGPT Settings > Apps & Connectors > Advanced, turn on developer mode, then create a connector with the URL `https://mcp.aerosend.io/mcp` and sign in. ### Cursor `~/.cursor/mcp.json`: ```json { "mcpServers": { "aerosend": { "url": "https://mcp.aerosend.io/mcp" } } } ``` Cursor will prompt you to sign in. To use a key instead, add `"headers": { "X-API-Key": "aero_your_key" }`. ### VS Code `.vscode/mcp.json`: ```json { "servers": { "aerosend": { "type": "http", "url": "https://mcp.aerosend.io/mcp", "headers": { "X-API-Key": "${input:aerosend-key}" } } }, "inputs": [ { "type": "promptString", "id": "aerosend-key", "description": "Aerosend API key", "password": true } ] } ``` ### Any other MCP client Use URL `https://mcp.aerosend.io/mcp`, transport `streamable-http`, header `X-API-Key: aero_your_key`. Get an API key at [app.aerosend.io](https://app.aerosend.io) > Developer. Each account has one key, and regenerating it revokes the old one. ## Agent rules - Aerosend is a cold email inbox provider (domains, mailboxes, warmup, placement, domain burn). It is not a sequencer and does not send campaigns. - Call `get_me` first. Respect slot limits. Max 3 mailboxes per domain. - Brand-new account or not enough slots: `preview_domain_slot_purchase` then `purchase_domain_slots` (min 10 domain slots, step 10; 1 domain slot = 3 mailboxes). Existing subscriptions charge the saved card; new accounts get a checkout URL. - Deletes of pending items cannot be undone. Ask the user before deleting. Active domains: `request_domain_deletion` (notifies the team; does not delete immediately). - Never ask for Smartlead or Instantly API keys. Send them to https://app.aerosend.io/connect-sequencer - For a lead scrape, call `list_lead_scrapers` and use only that scraper's `id` and input keys. Preview the price, then pay after the user confirms. ## Tools | Tool | What it does | Changes data? | |---|---|---| | `get_me` | Account status and free domain/mailbox slots | No | | `preview_domain_slot_purchase` | Price and flow for adding domain slots | No | | `purchase_domain_slots` | Buy domain slots (charges saved card, or returns a pay URL) | Adds | | `list_domains`, `get_domain` | Domains, status, warmup, DNS, tags, mailboxes | No | | `list_mailboxes`, `get_mailbox` | Mailboxes, optionally with SMTP/IMAP credentials | No | | `list_tags`, `get_tag` | Tags and how many domains/mailboxes use them | No | | `list_warmup_scores` | Warmup score per mailbox | No | | `get_inbox_placement_analytics` | Latest inbox placement test, per ESP and per domain | No | | `get_domain_burn_report`, `get_domain_burn_detail`, `get_domain_burn_scan_status` | Domain burn status, issues and recommended action | No | | `get_domain_burn_sequencers`, `list_domain_burn_keys`, `get_domain_burn_connect_url` | Which Smartlead/Instantly accounts are connected | No | | `add_domains` | Add domains (they start as pending, with warmup on) | Adds | | `add_mailboxes` | Add mailboxes to active domains (max 3 per domain) | Adds | | `create_tags`, `map_tags_to_domains`, `map_tags_to_mailboxes` | Create and attach tags | Adds | | `update_domain_redirect_urls`, `update_tag` | Change redirect URLs, rename or recolor tags | Changes | | `remove_tag_from_domains`, `remove_tag_from_mailboxes`, `delete_tags` | Detach or delete tags | Removes | | `delete_domains`, `delete_mailboxes` | Delete pending domains/mailboxes only | Removes | | `request_domain_deletion` | Ask the Aerosend team to delete active domains | Sends a request | | `list_lead_scrapers` | Every scraper id and the input keys for that scraper | No | | `preview_lead_scraper_payment` | Amount due for one scrape | No | | `upload_email_verification_file` | Upload a CSV and return `file_id` | Adds | | `submit_lead_scraper` | Validate one scraper's params | No | | `pay_lead_scraper` | Pay for a scrape (saved card or checkout URL) | Charges | Input keys for each scraper id are in [llms.txt](https://api.aerosend.io/llms.txt) under Lead scrapers. `GET /api/v1/lead-scrapers` returns the same list. Send `id` as `scraper_id` and each input `key` inside `params`. Your MCP client asks you to confirm before running tools that change or remove data. ## Good to know - Domains go from `pending` to `in_progress` to `active`. Mailboxes can only be added once a domain is `active`. - Only `pending` domains and mailboxes can be deleted directly. For active domains, the assistant files a deletion request with the Aerosend team. - The assistant never asks for your Smartlead or Instantly API keys. You connect those at [app.aerosend.io/connect-sequencer](https://app.aerosend.io/connect-sequencer). - The API behind the server allows 60 requests per minute per account. ## Links - [MCP and API docs for LLMs (llms.txt)](https://api.aerosend.io/llms.txt) - [REST API reference](https://api.aerosend.io/) - [OpenAPI spec](https://api.aerosend.io/api-docs) - [Setup guide](https://www.aerosend.io/mcp/) - [Official MCP Registry](https://registry.modelcontextprotocol.io/): `io.aerosend/mcp` - Support: support@aerosend.io