MCP Server
Point Claude, Cursor, or any MCP client at the hosted Blue Reacher MCP endpoint and an AI assistant can send, read, react, and manage the account with no package to install.
What it is
The Model Context Protocol is an open standard for connecting AI assistants to outside systems. Blue Reacher ships a hosted MCP server: stateless JSON-RPC 2.0 over Streamable HTTP (MCP protocol 2026-07-28, with the initialize handshake supported for 2025-06-18 and older clients), at
https://api.bluereacher.com/v1/mcpThere is no npm package, no local process, and nothing to keep running. Any MCP-capable client with the URL and your API key gets the full tool set. brk_test_ sandbox keys work on every tool (simulator only, zero real sends), which makes this the fastest way to evaluate the platform: connect Claude with a test key and try things.
Connect
Claude Code
claude mcp add --transport http bluereacher https://api.bluereacher.com/v1/mcp \
--header "Authorization: Bearer brk_your_api_key"Confirm with /mcp or claude mcp list.
Any MCP client (generic JSON)
{
"mcpServers": {
"bluereacher": {
"type": "http",
"url": "https://api.bluereacher.com/v1/mcp",
"headers": {
"Authorization": "Bearer brk_your_api_key"
}
}
}
}Use your client's secret facility for the key where available, and never commit a live key. For a zero-risk setup check, substitute a brk_test_ sandbox key: tool discovery and calls return realistic simulated results and nothing real is written.
Tools
The server exposes the API surface as tools; discovery (tools/list) is always the authoritative catalogue. The set includes:
| Area | Tools |
|---|---|
| Messaging | send_message (1:1, existing group, or new group, with drip/instant and effects), send_voice_memo, check_message_status |
| Reading | get_conversation (1:1 or group), list_groups, list_devices |
| Signals | send_reaction, remove_reaction, send_typing_indicator, mark_read |
| Contacts | list_contacts, create_contact, update_contact, lookup_imessage, get_opt_out_status, opt_out |
| AI assistant | get_bot_status, set_bot_status |
| Calling | list_calling_lines, prepare_call, get_call_status, end_call |
Tool inputs and outputs for the messaging surface match the REST endpoints one-to-one, so anything in the API reference applies. The calling tools are MCP-only and deliberately human-gated: prepare_call never dials on its own — it returns a short-lived confirmation URL that a signed-in person must open and press to start the call. Rate limits: the MCP endpoint itself is 60/min per key, and each tools/call also pays the underlying route's limit.
Example workflows
Qualify a list before spending sends
Check which of these 40 numbers can receive iMessage, then tell me the percentage and list the ones that can't.
lookup_imessage, grouped and summarized. Nothing is sent.
Hold a natural conversation
When Dana replies, wait a beat, show typing, then answer from the same line.
get_conversation, send_typing_indicator, send_message with send_mode: "instant".
Check line health before a push
How much capacity is left on my lines today?
One list_devices call: daily_cap, cold_outreach_today, available_today per line.
Hand a thread to a human
Pause the assistant for this contact while I take over.
set_bot_status with snooze.
Safety and scoping
- Keep bulk sending human-approved. Research, segmentation and drafting are safe to automate; approving outbound to real people is a product decision. Build on a test key first.
- Use a scoped key. A separate key for assistant use means one revoke kills it without touching your production integration.
- Consent rules do not change. Opt-outs are enforced platform-wide, so an assistant cannot message an opted-out contact any more than your code can.
- Pacing is enforced underneath. Drip-lane sends from an assistant inherit the same caps and windows as everything else, so an over-eager agent queues rather than burns.
Troubleshooting
Tools do not appear. Confirm the URL is exactly https://api.bluereacher.com/v1/mcp and the Authorization header carries a brk_ key. The transport is Streamable HTTP (stateless POST); SSE-only clients need a bridge.
401 on every call. Key missing, malformed, or revoked; Blue Reacher keys start with brk_.
Sends queue instead of dispatching. That is the drip default working as intended; pass send_mode: "instant" for conversational replies.
CRM integrations
Wire any CRM to Blue Reacher: the send API for outbound, webhooks for inbound replies, and contact custom_fields for record matching, with worked patterns for HubSpot, Salesforce, and no-code tools.
Migrating from another platform
Move an existing iMessage program onto Blue Reacher without losing conversation history, suppression records, or line health.

