Send iMessages from Claude
Use our Claude iMessage MCP to let Claude send and receive iMessages, talking directly with your end users like a human would.
claude mcp add linq -- npx -y @linqapp/sdk-mcp@latestTrusted by 1,000+ world-class teams





Capabilities of Claude iMessage MCP
Send and receive iMessages
Claude starts the chat, sends the message, and reads the reply, all natively in iMessage.
Claude can reply, react, and edit messages
The things that make a thread read like a person wrote it and give your AI assistant a personality.
Send files and rich links
Receipts, screenshots, PDFs, and link previews that unfurl into a real card in the thread. Point a media part at an HTTPS URL and Linq downloads and delivers it.
Control who can message the session
Every line carries a blocked-handles list Claude can read and write. Blocked senders are dropped before they ever reach your agent, and sends to them are refused.
Try our open source Claude iMessage agent
Claude Sullivan is our open-source example agent, running Claude on a real Linq line fully using tapbacks, screen effects, typing indicators while it thinks, image generation and analysis, voice-memo transcription, and group-chat handling.
linq-team/ai-agent-example →Get started with Claude iMessage Integration in 3 steps.
Claude → iMessage, in about five minutes.
Connect iMessage to Claude Code today.
claude mcp add linq -- npx -y @linqapp/sdk-mcp@latestFAQs
What can I do with your Claude iMessage connector?
The Linq MCP server gives Claude a real phone line. Claude can start conversations, send and receive iMessages, read replies, react with tapbacks, edit messages it already sent, attach files and photos, send rich link previews, and manage group chats — including typing indicators and read receipts.
Messages send over native iMessage where the recipient supports it, with automatic RCS and SMS fallback where they do not. Everything runs against the same Linq Partner API that powers our production customers, so what you prototype with Claude is what you ship.
Can I try the Claude iMessage MCP for free?
Yes. The MCP server is free and open source, and signing up through the Linq CLI gets you a free shared Linq line permanently, with up to 20 unique contacts. That free tier is built for hobbyist and personal projects.
Business projects should start in our sandbox instead, which includes unlimited lines for building. Linq does not charge per message on any plan.
How do I set up the MCP?
Copy the install instructions from the top of this page and paste them into Claude — the guide is written for an agent to run end to end, including getting you an API key and a working Linq line.
To do it by hand in Claude Code, run “claude mcp add linq -- npx -y @linqapp/sdk-mcp@latest”. In Claude Desktop, add the same command and args to your MCP config JSON with your Linq API key set in the env block, then restart the app. If you already signed in with the Linq CLI, the server picks up those credentials automatically and you can skip the key entirely.
Can Claude react to or edit messages?
Both. Claude can add or remove any of the standard tapbacks — love, like, dislike, laugh, emphasize, and question — or react with a custom emoji, and it can react to one specific part of a multi-part message rather than the whole bubble.
Claude can also edit the text of a message it already sent, matching the native iMessage behavior: within 15 minutes of sending, up to 5 edits per message. Note that deleting a message removes it from Linq only — the recipient still sees it in their thread. There is no unsend.
How does access control work with the Claude iMessage MCP?
Every line has a blocked-handles list Claude can read and write. Block a phone number, an email address, an SMS short code, or an alphanumeric sender ID, and inbound messages from it are dropped before they produce any event, while direct sends to it are rejected outright.
Access is also scoped at the key level: API keys are tied to your account and its lines, and sandbox keys can only message handles you have verified until the account is upgraded. Free shared lines are additionally capped to the contacts you explicitly add.
Does your MCP use my current iMessage account?
No. Claude sends from a dedicated Linq line, never your personal Apple ID. Nothing is installed on your Mac, and your own Messages history is never read or touched.
Because the messaging runs on Linq infrastructure rather than a local device, the MCP server works the same on macOS, Windows, and Linux — you do not need to own or keep a Mac running.
Do I need ngrok, port forwarding, or a webhook URL?
No. Claude reads replies directly from the API by listing the messages in a chat, so a local setup needs no tunnel, no public URL, and no inbound port open.
For production you will want webhook subscriptions so events are pushed to you in real time instead of polled. The Linq CLI also ships a Stripe-style webhook listener that forwards live events to a localhost endpoint, which covers local testing without exposing anything to the internet.
Does your Claude Code iMessage channel keep full iMessage history?
Claude can page through the full message history of any conversation on your Linq line, which is what lets it pick up a thread it has not seen in a while and answer with context.
That history covers conversations on your Linq line only — it is not a view into your personal iMessage account. For regulated or sensitive workloads, Linq offers an ephemeral tier that automatically deletes messages from our storage after a fixed 24-hour window.
Can your Claude iMessage integration receive photos?
Yes. Photos and files sent to your Linq line arrive as attachment parts on the inbound message, and Claude can fetch the file to work with it.
Sending works the same way in reverse: point a media part at a URL and Linq delivers it as a native attachment. Pre-uploading a file is optional and only worth doing when you want to reuse it or shave latency.
Is your Claude iMessage channel open source?
Yes. The Linq MCP server and the Linq CLI are both published under the Apache 2.0 license and are open to read, fork, and audit on GitHub.
So is a complete working agent: https://github.com/linq-team/ai-agent-example is Claude Sullivan, a Claude-powered agent running on a real Linq line, and the reference implementation for everything described on this page. You can text the running copy on +1 (415) 870-7772.
The Linq platform they connect to is a managed service — it is the SOC 2 Type II certified infrastructure that carries the messages, backed by a 99.95% uptime SLA.