Skip to main content
Glama

sms-verify

Server Details

SMS Verify: SMS Verify API is a secure and easy-to-integrate service that sends verification codes.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 68 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation4/5

The two pricing tools could be confused at first glance, but descriptions clearly distinguish a country-level price list from a number-specific estimate. The send tool is clearly separate from pricing, giving each tool a distinct role.

Naming Consistency4/5

All tools use snake_case with a verb_noun structure (get_pricing, post_estimate_cost, post_send_numeric_verify). The get/post prefixes are consistent as HTTP-style verbs, though post_send_numeric_verify stacks multiple verbs and is slightly less predictable.

Tool Count5/5

Three tools are well-scoped for an SMS verification service: a price list, an exact cost estimate, and the send operation. Each tool earns its place without redundancy.

Completeness4/5

The surface covers pricing discovery, per-number cost estimation, and sending a verification code, which are the core operations. Minor gaps exist around delivery status or a dedicated verification-check endpoint, but returning the code enables external comparison.

Available Tools

3 tools
get_pricingPrice ListAInspect

What a verification SMS costs in every country it can be sent to, in credits, sorted by country name. Each country is priced for a typical mobile number and checked at least once a day (checked_at, UTC); carriers within a country can differ, so use Estimate Cost for an exact number. Countries SMS cannot be sent to are left out. Group: Pricing. Billing per call: Requests: metered (~0.41 avg).

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: it discloses that prices are in credits, that values are approximate (typical mobile number, carrier variance), that data is refreshed at least daily via `checked_at` in UTC, and that billing is metered (~0.41 avg per request). It stops short of describing pagination or the full response shape, but the behavioral profile is unusually rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence is front-loaded and earns its place: content first, then freshness caveat, then the sibling routing, then exclusions, then group and billing metadata. No filler or repetition of the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description must supply everything, and it does: what is returned, in what unit, sorted how, how fresh it is, what is omitted, and the cost of calling it. An agent can call this correctly with no further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the rubric the baseline is 4. The description instead adds semantic meaning to the returned fields (credits, checked_at, per-country typical-number basis), which goes beyond an empty schema without being a parameter explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool returns — per-country credit pricing for verification SMS, sorted by country name — which is a specific resource and scope. It implicitly distinguishes itself from the cost-estimation sibling by noting that countries are priced for a 'typical mobile number' while 'Estimate Cost' gives an exact number.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the alternative tool explicitly ('use Estimate Cost for an exact number') and gives the condition that selects it (carrier-level precision needed). It also states the exclusion rule — countries SMS cannot be sent to are omitted — so an agent knows what absence of a country means.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_estimate_costEstimate CostAInspect

What a verification SMS to this phone number would cost, in credits, and the number's country (region_code, ISO 3166-1 alpha-2; null when the number belongs to no assigned range). Nothing is sent. The price is for this number's carrier, so it can differ from the country's price in the price list. Group: Pricing. Billing per call: 0 Credits, Requests: metered (~0.36 avg).

NameRequiredDescriptionDefault
bodyNoJSON request body.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it declares no side effects ('Nothing is sent'), explains that cost varies by carrier and may diverge from the price list, and quantifies the billing profile ('0 Credits', 'metered ~0.36 avg'). It also explains the `null` region_code edge case.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the tool's output (cost in credits) before qualifiers, and every clause adds information. The trailing parentheticals are dense but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description must cover both behavior and return shape; it does — return values (credits, region_code with null semantics), safety (nothing sent), and billing. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single `target` parameter's format is fully documented in the schema, so baseline 3 applies. The description adds meaning about the *result* (credits, region_code) rather than the input, which is useful but not parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise outcome: the credit cost of a verification SMS to a given number, plus the number's country as `region_code`. It implicitly separates itself from `get_pricing` by noting the price is carrier-specific rather than the country-list price, so an agent can route correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Nothing is sent' clearly signals this is the dry-run counterpart to `post_send_numeric_verify`, which is the key usage decision. It stops short of naming the sibling or stating an explicit when-not rule, but the context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_send_numeric_verifySend Verify SMSAInspect

Sends a six-digit verification code to a phone number by SMS and returns the code, so you can compare it with what the user types. The message reads 123-456 is your verification code. Don't share. The request is charged the message's cost in credits (cost), which depends on the destination country and carrier; a message that would cost more than 10,000 credits is not sent (max_cost_exceeded). Failed requests are not charged. Group: Verification. Billing per call: Credits: metered (~518.21 avg).

NameRequiredDescriptionDefault
bodyNoJSON request body.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden and does so well: it discloses the exact message template, credit metering with an average cost, the 10,000-credit cap and its failure mode, and that failed requests are not charged. Gaps remain around rate limits, code TTL/expiry, and retry/idempotency behavior, which matter for a send operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action and the returned code are front-loaded, and each sentence carries substantive information about cost and failure. The trailing 'Group: Verification. Billing per call: Credits: metered (~518.21 avg)' partially restates the cost sentence, which is minor redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description fills the critical gaps by explaining that the code is returned and what failures look like. It is nearly complete for a one-parameter tool, missing only code lifetime and rate-limit expectations for an SMS-sending operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema coverage is 100%, so the schema already documents international format, separators, and the missing-plus behavior. The description repeats only 'phone number' without adding format or edge-case detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (sends a six-digit SMS verification code to a phone number) and clarifies it also returns the code for comparison. The scope is narrow and unambiguous enough to distinguish it from get_pricing and post_estimate_cost without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the usage context ('so you can compare it with what the user types') and states the failure condition where the send is blocked (max_cost_exceeded). It does not explicitly say when to prefer get_pricing or post_estimate_cost first, but that is inferable from the cost discussion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Addedget_pricing
    • Changedpost_estimate_cost3 fields changed
      • changedInput schema / properties / body / description
        Previous value: -"JSON request body. Example: {\"target\":\"+44 7459 034784\"}"New value: +"JSON request body."
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "target": {
        +    "description": "The phone number in international format, with its country calling code, for example `+1 201 555 0123`. Spaces and dashes are allowed; a missing `+` is added.",
        +    "example": "+1 201 555 0123",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "target"
        +]
    • Changedpost_send_numeric_verify3 fields changed
      • changedInput schema / properties / body / description
        Previous value: -"JSON request body. Example: {\"target\":\"+44 7459 034784\"}"New value: +"JSON request body."
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "target": {
        +    "description": "The phone number in international format, with its country calling code, for example `+1 201 555 0123`. Spaces and dashes are allowed; a missing `+` is added.",
        +    "example": "+1 201 555 0123",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "target"
        +]
  2. 2 tool updates
    • First observedpost_estimate_cost
    • First observedpost_send_numeric_verify

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Send and verify one-time passcodes over SMS, WhatsApp and Telegram from any MCP client. Ten tools: send, verify, extend, delivery status, account, usage report, and agent account creation with credit top-ups over a 402. Hosted endpoint or run locally.
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables compatible agents to access the complete TextVerified API v2 for SMS and voice verification workflows, including creating and checking verifications, sending and querying SMS, managing voice calls, rentals, services, pricing, inventory, billing, backorders, wake requests, webhooks, and pagination. It provides secure credential handling, idempotency support, and bounded retries for temporary network errors and API rate or server failures.
    11
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources