Guides

Hosted iMessage MCP Server: No Mac Required

Written by ZeroSettle. We run the hosted MCP server described here.

A hosted iMessage MCP server lets Claude, Cursor or another AI client work with an iMessage number through a URL, with no Mac to keep running. ZeroSettle's is at https://portal.zerosettle.io/mcp (Streamable HTTP, OAuth 2.1), and it sets up and tests a dedicated iMessage number that ZeroSettle Pro provides for $49/month. Local iMessage MCP servers do a different job: they read the Messages database (chat.db) on your own Mac, under your personal Apple ID.

Key takeaways

  • Two kinds: local iMessage MCP servers run on your Mac and read ~/Library/Messages/chat.db; a hosted one, like ZeroSettle's, is a remote URL your AI client signs in to.
  • Local is for your own texts: searching and answering your personal messages, on your number, with Full Disk Access granted on that Mac.
  • Hosted is for a business number: ZeroSettle's connector gets you a dedicated number, mints your server's API key, and registers and tests your webhook. Your server or ZeroSettle's hosted AI agent runs the customer conversation.
  • Sign-in: OAuth 2.1 with dynamic client registration and PKCE, so the URL is all a client needs; you sign in with your phone number. Scripts can use a static bearer token instead.
  • Price: no separate charge for the MCP server. ZeroSettle Pro is $49/month for one dedicated iMessage number, and Pro opens 5 new contacts a day per number.

What is the difference between a hosted and a local iMessage MCP server?

A local iMessage MCP server runs on a Mac and works with the messages already on that Mac. A hosted iMessage MCP server runs on the provider's servers and works with a number the provider runs for you. The Model Context Protocol (MCP) is the standard that lets an AI client such as Claude or Cursor call outside tools; the two kinds differ in where the server runs, whose number it uses and which clients can reach it.

Local chat.db MCP servers vs ZeroSettle's hosted MCP server (project pages and ZeroSettle docs, checked October 25, 2026)
QuestionLocal chat.db MCP serverZeroSettle hosted MCP server
Where it runsOn the Mac where Messages is signed inAt https://portal.zerosettle.io/mcp
Whose numberYour personal Apple ID and numberA dedicated iMessage number on your ZeroSettle account
What it readsYour message history in ~/Library/Messages/chat.dbOnly the conversations on your ZeroSettle number
Permissions or sign-inFull Disk Access for the app that launches it; Automation permission for Messages to send, on servers that sendOAuth 2.1 sign-in with your phone number, or a static bearer token
Clients that can reach itClients on that same Mac (for example Claude Desktop, Claude Code or Cursor)Any client that supports remote MCP servers, including Claude on web and mobile
Built forSearching and answering your own textsGetting a business number and wiring your server to it
CostThe projects we looked at are open source; you supply the MacNo separate charge; Pro is $49/month for the number

The two kinds are not substitutes. If you want an assistant that reads your own texts, a local server is the right tool, and ZeroSettle does not do that. If you want a business number your code texts customers from, a local server would put your personal number and your Mac in the middle of it.

How do local chat.db iMessage MCP servers work?

A local iMessage MCP server reads the Messages database that macOS keeps at ~/Library/Messages/chat.db and exposes it to an AI client on the same Mac as MCP tools. Open-source examples include iMessage Max and imessage-mcp. Their own READMEs describe the same requirements:

  • The Mac stays in the loop. imessage-mcp "must run on the same Mac where your iMessages are loaded and Apple ID is configured." iMessage Max lists macOS 15 or later.
  • Full Disk Access. iMessage Max says Full Disk Access is "Required to read ~/Library/Messages/chat.db"; imessage-mcp says the server "needs permission to read your iMessage database." The permission goes to the app that launches the server, such as your terminal or Claude Desktop.
  • Sending goes through Messages on that Mac. iMessage Max lists "Automation permission for Messages.app (send only)".
  • Your number, your history. The server sees every conversation on your Apple ID, which is what makes it useful for a personal assistant and what makes it a poor fit for a shared business line.

Running a Mac as an always-on iMessage server has its own upkeep; self-hosting iMessage vs a managed API covers cost, setup and reliability in detail.

How does ZeroSettle's hosted iMessage MCP server work?

ZeroSettle's MCP server is a remote endpoint at https://portal.zerosettle.io/mcp that speaks MCP's Streamable HTTP transport and works with one thing: the iMessage number on your ZeroSettle account. That number is a real phone number on real iMessage, running on Apple hardware ZeroSettle operates in a server facility, so there is no Mac on your side.

Sign-in follows the MCP authorization spec, so a client needs only the URL:

  1. The client calls /mcp without a token and gets a 401 that points to ZeroSettle's protected-resource metadata.
  2. It finds the sign-in endpoints from that metadata and registers itself with dynamic client registration; clients are public and use PKCE (S256), with no client secret.
  3. You sign in in the browser with your phone number and an SMS code.
  4. The client trades the code for a bearer token. Each client gets its own token, refreshed automatically and revocable from the ZeroSettle console.

For a CI job or a script, mint a static token in the console and send it as Authorization: Bearer <token>. Keep it in the environment, never in source. The MCP docs have the reference.

Which tools does ZeroSettle's MCP server offer?

ZeroSettle's MCP server offers 24 tools in five groups (a number with group chats enabled also gets three group-chat tools), plus five prompts (get-started, build-support-bot, build-agent, build-retention-flow and build-sign-in) that walk an AI coding agent through one build each.

ZeroSettle MCP tools (MCP docs and the live tool list, checked October 25, 2026)
GroupToolsWhat they do
Status and sign-upget_line, sign_up, set_profile, send_test_message, subscribeShow where you stand, claim a number, set the brand name and photo, text your own number, and return a Stripe Checkout link
Buildingread_docs, create_api_key, set_webhook, clear_webhook, test_webhookRead the API reference, mint your server's bearer token (shown once), register the webhook and send it one signed test event
Verificationsend_imessage, list_conversations, list_messages, show_typingCheck the round trip against your own number
Hosted AI agentget_agent, set_agent, start_conversation, list_agent_connectors, add_agent_file, add_mcp_server, update_mcp_server, remove_agent_connectorHand the number to ZeroSettle's hosted agent (Beta), open conversations, and give it files and MCP servers to use
Chat backgroundslist_background_presets, set_chat_backgroundBrowse and set iMessage chat backgrounds (iOS 26)

get_line, sign_up, set_profile, send_test_message, subscribe and read_docs work before you pay; the rest need an active subscription. On an account with more than one number, the send, read, typing, profile and agent tools take an optional line argument.

What can't a hosted iMessage MCP server do?

A hosted iMessage MCP server can't see your personal messages, and ZeroSettle's is not meant to run customer conversations from a chat window. Specifically:

  • No personal history. It only knows the conversations on your ZeroSettle number. Your own Apple ID's texts stay on your devices.
  • A setup tool, not an inbox. ZeroSettle's server instructions say the send and read tools "exist for that verification, not for messaging customers: the server you build owns the conversation." With no server, the hosted AI agent answers instead, at one credit per text it sends.
  • The same limits as the API. send_imessage is the same call as POST /api/imessage/send, so the new-contact limits, the 2-unanswered-messages rule, STOP opt-outs and consent rules bind the agent and the code it writes.
  • iMessage only. There is no SMS fallback: a first message to someone not on iMessage returns 422 not_on_imessage.
  • No payment inside the chat. subscribe returns a Stripe Checkout link that you open in a browser.

ZeroSettle is not the only managed provider with tooling for AI agents: Linq documents a plugin for AI coding agents, for example. Compare providers on the number and its rules first; the MCP layer sits on top.

Which kind of iMessage MCP server should you use?

Use a local chat.db server for your own texts and a hosted server for a business number.

  • Pick a local server if you want Claude to search, summarize or draft replies to your personal messages, you have a Mac that stays signed in to Messages, and you are comfortable granting Full Disk Access to the app that runs it.
  • Pick ZeroSettle's hosted server if you want a dedicated business number, want to set it up from Claude, Claude Code or Cursor without a Mac, and plan to run the conversation from your own server or ZeroSettle's hosted agent. For a private assistant you text from your own phone, see building a personal AI assistant you text on iMessage.

What does the hosted iMessage MCP server cost?

ZeroSettle charges nothing extra for the MCP server; you pay for the number. ZeroSettle Pro is $49/month for a dedicated iMessage number that can message first. No managed iMessage API we checked publishes a lower price for a dedicated number (checked October 25, 2026). Courio also lists $49 (Starter: 500 outbound/month, then $0.02/message). Pro is $49/month flat, no per-message fees on API texts, with no setup fee, month to month, and a 30-day money-back guarantee.

Pro opens 5 new contacts a day per number, fewer than the 30–50 most $99+ plans allow; people who text first are never limited. Each number handles up to 10,000 messages a day with known contacts, and Pro includes 500 credits a month for the hosted AI agent. Growth is $599/month for 3 numbers, plus $199 per extra number, with 50 new contacts a day per number.

Shared numbers and services that run on your own iPhone or Mac cost less. See what a dedicated iMessage number costs at each provider, iMessage API pricing compared and the ZeroSettle iMessage API.

How do you connect it?

In Claude Code, one command adds the server; then run /mcp, pick zerosettle and choose Authenticate.

bash
claude mcp add --transport http zerosettle https://portal.zerosettle.io/mcp

In Claude on web, desktop or mobile, add the same URL under Customize → Connectors → Add custom connector. In Cursor, put the URL in .cursor/mcp.json; Cursor finds the OAuth flow from it. The step-by-step setup, the build prompts and how to fix a failing webhook test are in how to connect Claude Code or Cursor to an iMessage number with MCP and ZeroSettle's connect-your-AI-agent docs. To skip MCP entirely, send an iMessage from code without a Mac with one HTTPS request.

How we checked

We checked everything on this page on October 25, 2026.

  • ZeroSettle: the MCP and connect-your-AI-agent sections of the API docs, the MCP server's source and live tool list, and the OAuth metadata it publishes.
  • Local servers: the README pages of iMessage Max and imessage-mcp on GitHub. We did not install or test them.
  • Prices: ZeroSettle's signup page and the competitor pricing pages behind our price comparison.

We will update this page when ZeroSettle's MCP tools change and log it in the changelog.

Frequently asked questions

Do I need a Mac to use an iMessage MCP server?

Only for a local one. Local iMessage MCP servers read the Messages database on the Mac where Messages is signed in, and need Full Disk Access there. ZeroSettle's MCP server is a URL, https://portal.zerosettle.io/mcp, and the number it works with runs on Apple hardware ZeroSettle operates in a server facility.

Can ZeroSettle's MCP server read my personal iMessages?

No. It only sees the dedicated iMessage number on your ZeroSettle account and the conversations on that number. To let an AI client search or answer your own texts, use a local chat.db MCP server on your own Mac.

Can Claude text my customers through ZeroSettle's MCP server?

ZeroSettle built the connector for setup and testing: its send and read tools exist to check your server against your own number. The customer conversation runs on the server you build, or on ZeroSettle's hosted AI agent. The connector's send_imessage is the same call as POST /api/imessage/send, so the same new-contact limits, STOP handling and consent rules apply.

What does the hosted iMessage MCP server cost?

There is no separate charge for the MCP server; you pay for the number. ZeroSettle Pro is $49/month for one dedicated iMessage number that can message first, with no setup fee and a 30-day money-back guarantee. The status, docs and sign-up tools work before you pay; the rest need an active subscription.

Sources

  1. MCP and Connect your AI agent, ZeroSettle iMessage API docs. Checked October 25, 2026.
  2. ZeroSettle iMessage API reference (markdown), including "Errors, limits, and compliance". Checked October 25, 2026.
  3. Authorization, Model Context Protocol specification (2025-06-18). Checked October 25, 2026.
  4. Transports, Model Context Protocol specification (2025-06-18), section "Streamable HTTP". Checked October 25, 2026.
  5. iMessage Max, GitHub README. Checked October 25, 2026.
  6. imessage-mcp, GitHub README. Checked October 25, 2026.
  7. Get started with custom connectors using remote MCP, Claude Help Center, Anthropic. Checked October 25, 2026.
  8. Connect Claude Code to tools via MCP, Claude Code docs, Anthropic. Checked October 25, 2026.
  9. AI coding agents, Linq docs. Checked October 25, 2026.
  10. Courio home page, Courio (Starter plan). Checked October 25, 2026.
  11. ZeroSettle signup and ZeroSettle iMessage API Terms of Service. Checked October 25, 2026.

Changelog

  • First published.

Written by the ZeroSettle team. ZeroSettle is an iMessage API: a real phone number on real iMessage, running on Apple hardware we operate for you, that your code texts customers from and hears back on through a bearer token and signed webhooks.

Product facts on this page come from ZeroSettle's API docs and MCP server as of October 25, 2026. Facts about local iMessage MCP servers come from their own README pages, checked the same day.

Text your customers from your own iMessage number

ZeroSettle gives your business its own phone number on real iMessage, running on Apple hardware we operate for you in a server facility. Your code sends with one API call and hears every reply on a signed webhook.

Pro is $49 a month with a 30-day money-back guarantee. Growth, for several numbers working as one, is from $599/mo.