Send iMessages from Cursor
The short answer
Yes, you can wire Blue Reacher into whatever you're building from inside Cursor. Blue Reacher ships an MCP server, so once it's in your .cursor/mcp.json, Cursor's agent can send a real blue-bubble iMessage, check whether a number can receive one, and read back delivery states without you leaving the editor. A texting integration stops being a two-week ticket and becomes an afternoon: you describe the outreach flow, the agent writes the calls against a live line, and your sales team gets the channel that books 2-3x more appointments. No A2P registration required.
Key takeaways
- Five tools: send, check availability, list history, get status, list lines.
- Cursor reads .cursor/mcp.json (project) and ~/.cursor/mcp.json (home); project wins on collision.
- Point at one real send first so it learns the API shape, then let it write the scale code.
- In reviewed code, not chat. MCP is build/test time: fire one send, check delivery, verify handler.
How a message falls back
The Blue Reacher MCP server
Five tools: send, check availability, list history, get status, list lines. Bearer token auth (same REST API key). Authorization: Bearer brk_live_your_key.
- MCP isn't your runtime. Replies, delivery states, STOP opt-outs arrive as webhooks to your endpoint where sequence logic belongs. Campaigns, schedules, sequences exist in the platform. You write routing, CRM writeback, reply classification, reporting.
send_message
- What Cursor can do with it
- Send an iMessage to a phone number or email, with automatic RCS then SMS fallback
lookup_imessage
- What Cursor can do with it
- Check whether an address can receive iMessage before you spend a send on it
get_conversation
- What Cursor can do with it
- Read a thread's full history with delivery states
get_message_status
- What Cursor can do with it
- Get the current delivery status of one sent message
list_devices
- What Cursor can do with it
- List your dedicated iMessage lines with status and remaining daily capacity
Add Blue Reacher to .cursor/mcp.json
Cursor reads .cursor/mcp.json (project) and ~/.cursor/mcp.json (home); project wins on collision. Blue Reacher is remote: URL plus Bearer header.
- Use ${env:BLUEREACHER_API_KEY} to keep keys out of files. Cursor resolves variables in url, headers, command, args, env. Save it, server appears in settings with a toggle, tools show in the agent. Cursor asks for approval by default. Keep approval on while pointing at a live line.
- Project scope in .cursor/mcp.json, global scope in ~/.cursor/mcp.json, project wins on a name collision
- Key referenced as ${env:BLUEREACHER_API_KEY}, never pasted into the file
- Toggle the server off in settings when you want the agent working on code instead of sends
- Keep tool approval on so no message goes out without you clicking it
Build with the agent
Point at one real send first so it learns the API shape, then let it write the scale code. Encode rules into .cursor/rules as .mdc files: message intent, who gets texted, what STOP does. Plan Mode earns keep before the send path. Keep MCP roster lean.
- "Using the bluereacher tools, check whether my number can receive iMessage, send it our demo follow-up copy, then show me the delivery state."
- "Write a TypeScript module that sends through the Blue Reacher API, retries on 5xx with backoff, and stores the returned message id on the contact so a retry never duplicates a thread."
- "Read our webhook handler and split reporting by channel, imessage, rcs, and sms, so we stop treating three channels as one number."
- "Our suppression list lives in Postgres. Add a check before every send and a test that fails if the check gets skipped."
Production sends
In reviewed code, not chat. MCP is build/test time: fire one send, check delivery, verify handler. Wrong for 5,000 contacts (no review, no rollback, no suppression proof). Use Cursor to write and verify, then let the sender send.
- You probably don't need to build one. Campaigns, schedules, sequences, STOP auto-detect, per-message states exist in the platform. GoHighLevel is native. Setup is white-glove, line arrives working.
- $249 per line per month with unlimited iMessages (50 opted-in / 30 cold new contacts a day), or $1,949 per line per year, about $162.50 a month
- $449 white-glove activation waived on annual billing
- One onboarding call covers implementation consultation and message intent configuration, most teams send within a week
- Mobile-validated B2B leads add-on at $0.03 per contact from a 700M+ database, billed monthly with the line
Frequently asked questions
Does Cursor support MCP servers?
Yes. Cursor reads MCP config from .cursor/mcp.json in a project or ~/.cursor/mcp.json globally. Blue Reacher is a remote server, so the entry is a url plus an Authorization header. Once saved, its tools appear in the agent's available tools and Cursor asks for approval before running one.
How do I keep the API key out of my repo?
Reference it as ${env:BLUEREACHER_API_KEY} instead of pasting it. Cursor resolves variables in command, args, env, url, and headers, so the config file holds a pointer and your environment holds the secret. Gitignore any local env file, and rotate the key from the dashboard if it ever lands in a commit.
Can the Cursor agent text real leads?
The Cursor agent can text real leads, and past a test send to your own phone it shouldn't. Approval prompts are on by default, so keep them on. Production sending belongs in reviewed code with suppression checks, rate limits, and a deploy you can roll back. The agent is there to write that code and prove it works, not to be the send path.
Do I need to write a sender at all?
Often no. Campaigns, sequences, scheduled sends, STOP auto-detection, and per-message delivery states ship in the platform, and GoHighLevel connects natively. Most teams write code only for the edges: CRM writeback, reply routing, and internal reporting.
What does Blue Reacher cost for a Cursor build?
$249 per line per month with unlimited iMessages, or $1,949 per line per year, about $162.50 a month. Lines pace at 50 opted-in / 30 cold new contacts a day to stay deliverable; replies are never metered. The $449 white-glove activation is waived on annual billing, and the Cursor side costs nothing beyond your existing subscription. Pricing is public, so you can check the math before booking a call.
See it working in your editor
Book a demo and bring your project. We'll add Blue Reacher to your .cursor/mcp.json on the call, have the agent send a real blue-bubble text to your phone, and show the delivery state coming back seconds later. White-glove setup, public pricing, no A2P registration required, and most teams are sending within a week.