Categories › Communication › Messaging apps & SMS
Business texting for AI agents: send texts, read threads, manage contacts and run campaigns.
Remote server: your requests and data go to mcp.codaphone.app. Claude Code: claude mcp add --transport http codaphone https://mcp.codaphone.app · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
get_account — Get the current CodaPhone account: its name and mode (live/test), the active number (if any), the current plan and its monthly/daily send casearch_numbers — Search available phone numbers to provision. Optionally filter by country, number kind (local or tollfree), and a 3-digit area code. Returnsprovision_number — Provision (set up) a phone number for the account from a candidate returned by search_numbers. Provide the exact msisdn in +1XXXXXXXXXX formsend_message — Send an SMS from the account's number. Provide the message 'body', and either 'to' (a recipient phone number, with optional 'name' to save tget_message_status — Get one message by id, including its delivery status, direction, body, segment count, and timestamp. Requires the 'read' scope.list_threads — List the account's conversation threads (the inbox), most recent first, with unread counts and last-message previews. Supports limit/offset get_thread — Get one conversation thread by id together with its messages. Requires the 'read' scope.mark_thread_read — Mark a conversation thread as read (clears its unread count) and return the account's new total inbox unread count. Requires the 'read' scoplist_contacts — List the account's contacts with opt-in status and timezone. Optionally filter by a search term or a list id, choose a sort, and paginate wiadd_contacts — Add a contact to the account. Provide the phone number (msisdn) and optionally a name, a list_id to file it under, and an opt_in_source notelist_campaigns — List the account's bulk-messaging campaigns with their status and progress counts, plus the remaining automation credit balance. Requires thget_campaign — Get one campaign by id, including its base message, audience, schedule, pacing, and send/failed/skipped counts. Requires the 'read' scope.create_campaign — Create a new bulk-messaging campaign with a name and an optional base message. After creating, use run_campaign to generate variations, set run_campaign — Advance a campaign through its lifecycle. Provide the campaign_id and an action: - generate: create message variations (optional base_messagNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.