Preview: SendMock has no stable release yet. These docs follow develop.

MCP reference

Numbers tools

sendmock_messaging_service_create

Add a Messaging Service.

Toolset numbers.

    InputTypeDescription
    friendly_namerequiredstring
    A name for the service.Example: Notifications
    number_idsrequiredstring[]
    The virtual numbers in the sender pool, by ID.Example: ["01JB7T9Q2R5W8X3Y6Z1A4B7C9D"]
    inbound_moderequiredstring
    What happens to inbound messages: webhook (call inbound_url), defer_to_sender (each number's own webhook) or drop.One of: webhook, defer_to_sender, dropExample: webhook
    inbound_urlstring
    Used when inbound_mode is webhook.Example: http://localhost:3000/sms/inbound
    inbound_fallback_urlstring
    Called when inbound_url fails.Example: http://localhost:3000/sms/inbound-fallback

    Example call

    {
      "name": "sendmock_messaging_service_create",
      "arguments": {
        "friendly_name": "Notifications",
        "number_ids": [
          "01JB7T9Q2R5W8X3Y6Z1A4B7C9D"
        ],
        "inbound_mode": "webhook",
        "inbound_url": "http://localhost:3000/sms/inbound",
        "inbound_fallback_url": "http://localhost:3000/sms/inbound-fallback"
      }
    }

    Result: MessagingService

    API
    POST/api/v1/messaging-services
    CLI
    sendmock sms services create
    In the app
    Numbers > Messaging Services > New Messaging Service

    sendmock_messaging_service_delete

    Delete a Messaging Service.

    Toolset numbers.

    • Destructive
    • Idempotent
    InputTypeDescription
    service_sidrequiredstring
    The service SID: MG... for a Messaging Service, VA... for a Verify service.Example: MG00000000000000000000000000000001

    Example call

    {
      "name": "sendmock_messaging_service_delete",
      "arguments": {
        "service_sid": "MG00000000000000000000000000000001"
      }
    }

    Result: nothing

    API
    DELETE/api/v1/messaging-services/{serviceSid}
    CLI
    sendmock sms services delete <serviceSid>
    In the app
    Numbers > Messaging Services > Delete

    sendmock_messaging_service_list

    Messaging Services that pool numbers.

    Toolset numbers.

    • Read only

    No inputs.

    Example call

    {
      "name": "sendmock_messaging_service_list",
      "arguments": {}
    }

    Result: MessagingService[]

    API
    GET/api/v1/messaging-services
    CLI
    sendmock sms services list
    In the app
    Numbers > Messaging Services

    sendmock_messaging_service_update

    Change a Messaging Service.

    Toolset numbers.

    • Idempotent
    InputTypeDescription
    service_sidrequiredstring
    The service SID: MG... for a Messaging Service, VA... for a Verify service.Example: MG00000000000000000000000000000001
    friendly_namerequiredstring
    A name for the service.Example: Notifications
    number_idsrequiredstring[]
    The virtual numbers in the sender pool, by ID.Example: ["01JB7T9Q2R5W8X3Y6Z1A4B7C9D"]
    inbound_moderequiredstring
    What happens to inbound messages: webhook (call inbound_url), defer_to_sender (each number's own webhook) or drop.One of: webhook, defer_to_sender, dropExample: webhook
    inbound_urlstring
    Used when inbound_mode is webhook.Example: http://localhost:3000/sms/inbound
    inbound_fallback_urlstring
    Called when inbound_url fails.Example: http://localhost:3000/sms/inbound-fallback

    Example call

    {
      "name": "sendmock_messaging_service_update",
      "arguments": {
        "service_sid": "MG00000000000000000000000000000001",
        "friendly_name": "Notifications",
        "number_ids": [
          "01JB7T9Q2R5W8X3Y6Z1A4B7C9D"
        ],
        "inbound_mode": "webhook",
        "inbound_url": "http://localhost:3000/sms/inbound",
        "inbound_fallback_url": "http://localhost:3000/sms/inbound-fallback"
      }
    }

    Result: MessagingService

    API
    PATCH/api/v1/messaging-services/{serviceSid}
    CLI
    sendmock sms services update <serviceSid>
    In the app
    Numbers > Messaging Services > Edit

    sendmock_number_delete

    Delete a number.

    Toolset numbers.

    • Destructive
    • Idempotent
    InputTypeDescription
    number_idrequiredstring
    The virtual number's ID, from GET /api/v1/numbers.Example: 01JB7T9Q2R5W8X3Y6Z1A4B7C9D

    Example call

    {
      "name": "sendmock_number_delete",
      "arguments": {
        "number_id": "01JB7T9Q2R5W8X3Y6Z1A4B7C9D"
      }
    }

    Result: nothing

    API
    DELETE/api/v1/numbers/{numberId}
    CLI
    sendmock numbers remove <numberId>
    In the app
    Numbers > Delete

    sendmock_number_list

    Fake numbers your app sends from, with their webhooks.

    Toolset numbers.

    • Read only

    No inputs.

    Example call

    {
      "name": "sendmock_number_list",
      "arguments": {}
    }

    Result: VirtualNumber[]

    API
    GET/api/v1/numbers
    CLI
    sendmock numbers list
    In the app
    Numbers

    sendmock_number_upsert

    Add a number. Change a number.

    Toolset numbers.

      InputTypeDescription
      numberrequiredstring
      E.164, without a channel prefix; channels says whether WhatsApp works.Example: +15550001111
      labelrequiredstring
      A name for the number, e.g. the app or feature that uses it.Example: Support line
      channelsrequiredstring[]
      Where the number works: sms, whatsapp or both.One of: sms, whatsappExample: ["sms"]
      inbound_urlstring
      Reply webhook (Twilio "A message comes in"); null means rules only.Example: http://localhost:3000/sms/inbound
      inbound_methodrequiredstring
      The HTTP method of the reply webhook.One of: POST, GETExample: POST
      inbound_fallback_urlstring
      Called when the reply webhook fails, with ErrorCode and ErrorUrl added, as Twilio does.Example: http://localhost:3000/sms/inbound-fallback
      inbound_template_idstring
      Payload template for the inbound webhook, e.g. twilio.inbound_sms.Example: twilio.inbound_sms
      status_callback_urlstring
      Your app's URL for status changes of messages sent from this number.Example: http://localhost:3000/sms/status
      messaging_service_sidstring
      The Messaging Service this number belongs to, MG...; null for none.Example: MG00000000000000000000000000000001
      number_idstring
      The virtual number's ID, from GET /api/v1/numbers.Example: 01JB7T9Q2R5W8X3Y6Z1A4B7C9D

      Example call

      {
        "name": "sendmock_number_upsert",
        "arguments": {
          "number": "+15550001111",
          "label": "Support line",
          "channels": [
            "sms"
          ],
          "inbound_method": "POST",
          "inbound_url": "http://localhost:3000/sms/inbound",
          "inbound_fallback_url": "http://localhost:3000/sms/inbound-fallback"
        }
      }

      Result: VirtualNumber

      API
      without number_idPOST/api/v1/numberswith number_idPATCH/api/v1/numbers/{numberId}
      CLI
      sendmock numbers add, sendmock numbers update <numberId>
      In the app
      Numbers > Add number; Numbers > Edit