Skip to content
CodaPhone logo

CodaPhone MCP server

Which servers in the official MCP registry are CodaPhone's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-13

← Back to CodaPhone

Whose server it is
  • Registry nameapp.codaphone/mcpverified in the MCP registry

The registry name sits under codaphone.app. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-13
  • Stateanswerschecked 2026-10-13
  • Tools14
  • Server calls itselfCodaPhone
  • Server version1.0.0
  • Protocol version2025-06-18

On 2026-10-13 the server answered initialize and tools/list without a sign-in. First answer in 65 ms.

Tools it offers14 tools · read 2026-10-13
  • 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 caps, usage so far, and remaining automation credits. Requires the 'read' scope.

  • search_numbers

    Search available phone numbers to provision. Optionally filter by country, number kind (local or tollfree), and a 3-digit area code. Returns candidate numbers with a formatted display, city/region, and monthly price. Does not buy…

  • provision_number

    Provision (set up) a phone number for the account from a candidate returned by search_numbers. Provide the exact msisdn in +1XXXXXXXXXX form and the number kind; optional label and business registration details may be included. An account…

  • send_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 the contact) or an existing 'thread_id' to reply within a conversation. Opted-out contacts are…

  • get_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 pagination. Requires the 'read' scope.

  • 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' scope.

  • list_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 with limit/offset. Requires the 'read' scope.

  • add_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 note. Adds one contact per call. Requires the 'contacts' scope.

  • list_campaigns

    List the account's bulk-messaging campaigns with their status and progress counts, plus the remaining automation credit balance. Requires the 'read' scope.

  • get_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 the audience, schedule, and launch it. Requires the 'campaigns' scope.

  • run_campaign

    Advance a campaign through its lifecycle. Provide the campaign_id and an action: - generate: create message variations (optional base_message, count) - variations: save edited variations (variations: [{body, active}]) - audience: set the…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "codaphone": {
      "type": "http",
      "url": "https://mcp.codaphone.app"
    }
  }
}

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.