How to give Claude a phone number (iMessage and SMS) with MCP
Connect Claude to the Comms hosted MCP server with OAuth or a scoped API key, and it can send and read iMessage and SMS from a real phone number. No Mac required.
What a messaging connector gives Claude
To let Claude text people, connect it to the Comms hosted MCP server at https://comms.osis.co/api/v1/comms/mcp with OAuth or a scoped osis_ API key.
Claude can then send iMessage and SMS from your Comms line and read your conversations. There is no Mac or local bridge to run, and the connector works within your workspace permissions.
The hosted MCP endpoint is https://comms.osis.co/api/v1/comms/mcp. It supports OAuth or a scoped API key. Inspect tools/list for the current tool inventory; use webhooks for event-driven inbound processing.
Connect and inspect permissions
In claude.ai or Claude Desktop, add the endpoint as a custom connector under Settings › Connectors and sign in with OAuth. In Claude Code, run claude mcp add --transport http comms https://comms.osis.co/api/v1/comms/mcp. For a server-side integration, send a scoped API key instead.
Grant only the operations you intend to use. Start with read access when evaluating conversations. Grant send access only to a client allowed to contact recipients, and verify workspace and recipient boundaries before a live test.
Endpoint: https://comms.osis.co/api/v1/comms/mcp
Authorization: Bearer osis_<your-scoped-key>Use the current tool inventory
Once connected, run tools/list to see what Claude can do with your granted scopes: send messages, reply in conversations, react, send polls and contact cards, list conversations and manage agents and webhooks.
Use a consenting test recipient. Confirm request acceptance, a delivery receipt where supported and an inbound reply separately. Provisioning a dedicated line is a gated operation, not a promise an assistant can make before the API succeeds.
Production replies need a backend
Connecting Claude does not cause an idle coding assistant to wake whenever a customer texts. Receive signed webhooks, persist events, resolve tenant and conversation state, and invoke a restricted worker. Keep human ownership and opt-outs outside the model.
An assistant with privileged coding tools should not treat inbound customer text as administrative instructions. Separate drafting from the authority to send. A human takeover must pause the automatic send path.