We use cookies to improve your experience on this site and serve more relevant content to you. By continuing to browse our site you agree to our use of cookies, revised Privacy Policy and Terms of Service.  More information about cookies

Tools reference

The MCP server exposes ten tools. Each section below documents one tool: required scope, parameters, an example natural-language prompt that triggers it, and the JSON response shape.

send_sms

Billable. Send an SMS message to one or more recipients. Charges your account at the per-operator rate for the destination.

Required scope: sms:send

Parameters
Field
Type
Description
Fieldto
Typestring
DescriptionRecipient phone number in E.164 format. Required.
Fieldfrom
Typestring
DescriptionSender ID (max 11 alphanumeric chars) or a registered phone number. Required.
Fieldmessage
Typestring
DescriptionMessage body. Long messages are split into multi-part SMS automatically. Required.
Fieldpriority
Typeenum
DescriptionOne of high, normal, low.
Fieldscheduled
Typestring
DescriptionISO 8601 datetime to schedule delivery.
FieldcorrectBy
Typestring
DescriptionISO 3166-1 alpha-2 country code; auto-correct the recipient number for that country.
Fieldcoding
Typeint
DescriptionEncoding: 0=GSM-7, 1=8-bit, 2=UCS-2.
FieldexpireIn
Typeint
DescriptionMessage expiry in seconds (360 – 432000).

Example prompt

"Send 'Your verification code is 4815' from VERTEXSMS to +37069555555."

Example response

{
  "message_id": "abc-123-...",
  "status": "sent",
  "parts": 1,
  "destination": "+37069555555"
}

Tool-specific errors: VERTEX_SEND_FAILED for rejected messages (bad sender, blacklisted number, etc.). The vertex_error_code field on the envelope often disambiguates — cross-reference with REST API errors.

get_sms_rates

Look up the per-operator SMS rate for a country. Read-only. Server-side cached for one hour.

Required scope: sms:rates

Parameters
Field
Type
Description
Fieldcountry
Typestring
DescriptionISO 3166-1 alpha-2 code, e.g. LT, US, DE. Required.

Example prompt

"What does it cost to send an SMS to Lithuania?"

Example response

{
  "country": "LT",
  "country_name": "Lithuania",
  "rates": [
    { "operator": "BITE", "network": "Bite", "rate_eur": "0.045", "mcc": "246", "mnc": "020" },
    { "operator": "Telia", "network": "Telia", "rate_eur": "0.045", "mcc": "246", "mnc": "010" }
  ],
  "cache_age_seconds": 412
}

correct_phone_number

Validate and normalize phone numbers to E.164. Classifies each as mobile, landline, or unknown. Read-only. Up to 100 numbers per call.

Required scope: numbers:read

Parameters
Field
Type
Description
Fieldnumbers
Typearray
DescriptionArray of { number, country } objects. country is ISO 3166-1 alpha-2. Required.

Example prompt

"Validate these numbers as Lithuanian: 861860698, (370)-618-60698, 6186 0698."

Example response

{
  "count": 3,
  "results": [
    { "input_number": "861860698", "country": "LT", "number_type": "mobile", "mobile": true, "number_e164": "+37061860698", "error": null },
    { "input_number": "(370)-618-60698", "country": "LT", "number_type": "mobile", "mobile": true, "number_e164": "+37061860698", "error": null }
  ]
}

get_operator

Look up an operator by its internal VertexSMS operator ID. Returns name, country, MCC, and the list of MNCs. Read-only.

Required scope: numbers:read

Parameters
Field
Type
Description
Fieldoperator_id
Typestring|int
DescriptionInternal VertexSMS operator identifier (e.g. 493). Required.

Example prompt

"Which operator does VertexSMS ID 493 correspond to?"

Example response

{
  "operator_id": 493,
  "name": "BITE",
  "country": "LT",
  "mcc": "246",
  "mnc": ["020", "028"]
}

get_mcc_mnc_list

List MCC/MNC entries for a country, with their VertexSMS operator IDs. Read-only. Paginated.

Required scope: numbers:read

Parameters
Field
Type
Description
Fieldcountry
Typestring
DescriptionISO 3166-1 alpha-2 country code. Required.
Fieldpage
Typeint
DescriptionOptional 1-based page number.

Example prompt

"List the mobile networks in Lithuania."

Example response

{
  "country": "LT",
  "page": 1,
  "count": 2,
  "entries": [
    { "country": "LT", "mcc": "246", "mnc": "01", "operator_id": "1891" },
    { "country": "LT", "mcc": "246", "mnc": "02", "operator_id": "493" }
  ]
}

get_mobile_prefixes

List mobile number prefixes for a country, mapped to VertexSMS operator IDs. Read-only.

Required scope: numbers:read

Parameters
Field
Type
Description
Fieldcountry
Typestring
DescriptionISO 3166-1 alpha-2 country code. Required.

Example prompt

"Which operator owns Lithuanian numbers starting with 3706000?"

Example response

{
  "country": "LT",
  "count": 2,
  "prefixes": [
    { "prefix": "3706000", "country": "LT", "operator_id": "2536" },
    { "prefix": "3706001", "country": "LT", "operator_id": "2536" }
  ]
}

lookup_hlr

Billable. Synchronous Home Location Register lookup. Returns the operator, country, MCC/MNC, IMSI, and ported information for a phone number. Charged per query whether the result is "found" or "unknown."

Required scope: hlr:lookup

Parameters
Field
Type
Description
Fieldmsisdn
Typestring
DescriptionInternational subscriber number, e.g. 37069912345. Required.

Example prompt

"Run an HLR lookup on +37069912345."

Example response

{
  "msisdn": "37069912345",
  "id": "1203877133",
  "error_code": "0",
  "imsi": "246021005160001",
  "country": "LT",
  "mcc": "246",
  "mnc": "021",
  "operator_id": null,
  "ported": null
}

register_sender_id

Submit an alphanumeric Sender ID for VertexSMS approval. The registration goes through manual human review and may take several business days. Status updates can be received via the optional notification webhook.

Required scope: sender:write

Parameters
Field
Type
Description
Fieldname
Typestring
DescriptionSender name, 3–11 alphanumeric characters. Required.
Fieldcategory
Typeenum
DescriptionOne of Company, Product, Brand, Shortcode, Landline, Other. Required.
Fieldcategory_description
Typestring
DescriptionDescription / comments shown to the reviewer. Required.
Fieldnotification_url
Typestring
DescriptionOptional webhook URL for status-change notifications.

Example prompt

"Register 'ACMECORP' as a brand sender for our outgoing notifications."

Example response

{
  "sender_id": "1234",
  "status": "submitted"
}

register_msisdn_sender

Register a mobile number as a Sender ID. VertexSMS sends a 5-digit PIN via SMS to the number; you must follow up with confirm_msisdn_sender to complete registration.

Required scope: sender:write

Parameters
Field
Type
Description
Fieldmsisdn
Typestring
DescriptionMobile number in E.164 format without leading +, e.g. 37069555555. Required.

Example prompt

"Register +37069555555 as a sender."

Example response

{
  "sender_id": "5678",
  "status": "pending_confirmation",
  "next_step": "Call confirm_msisdn_sender with the 5-digit PIN delivered via SMS."
}

confirm_msisdn_sender

Confirm a pending MSISDN Sender ID by submitting the 5-digit PIN that VertexSMS sent to the registered phone number.

Required scope: sender:write

Parameters
Field
Type
Description
Fieldsender_id
Typestring
DescriptionSender ID returned by register_msisdn_sender. Required.
Fieldcode
Typestring
Description5-digit PIN from the verification SMS. Required.

Example prompt

"Confirm sender 5678 with PIN 12345."

Example response

{
  "sender_id": "5678",
  "status": "confirmed"
}