Skip to main content
Glama

Search SMS services

search_sms_services
Read-onlyIdempotent

Find US non-VoIP SMS verification services and prices in VoidMob MCP; narrow by service name to choose an OTP number to rent.

Instructions

Search US non-VoIP SMS services (OTP / phone verification) with your prices: the one-time verification price and, when offered, long-term rental prices. Shows up to 50 rows; pass query to narrow by service name. Next: show the user the price, then rent_number with the svc_ id and that price as max_price_cents.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoCase-insensitive substring of the service name (e.g. 'telegram').

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalYes
servicesYes
truncatedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.2.1
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "services": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "available": {
      +            "type": "boolean"
      +          },
      +          "base_price_cents": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "icon_url": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "ltr_14d_price_cents": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "ltr_30d_price_cents": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "ltr_3d_price_cents": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "ltr_7d_price_cents": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "price_ceiling_cents": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "quoted_price_cents": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "quoted_price_cents"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "truncated": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "services",
      +    "total",
      +    "truncated"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changedv1.1.8
    • changedInput schema / properties / query / description
      Previous value: -"Substring filter on service name (e.g. 'telegram')."New value: +"Case-insensitive substring of the service name (e.g. 'telegram')."
    • addedInput schema / properties / query / maxLength
      Added value: +80
  3. First observedv1.1.3

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare this a read-only, idempotent, non-destructive operation, so the safety profile is covered. The description adds genuinely new behavioral context: the result set is capped at 50 rows and the rows carry pricing fields, which the annotations do not convey.

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?

Three sentences, front-loaded with the resource and scope, then the result limit, then the recommended next action. No filler and every sentence carries actionable information.

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?

An output schema exists, so return-value documentation is not required, and the description still helpfully summarizes the key fields and the follow-up call. Minor gap: no guidance on what to do when the 50-row cap is hit or when no services match.

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 there is only one optional parameter, so the schema already documents query fully (substring match, example). The description's note that query narrows by service name restates the schema rather than adding syntax or edge-case meaning; 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 ('Search US non-VoIP SMS services') with the domain (OTP/phone verification) and what the results contain (one-time verification price plus optional rental prices). An agent can tell this apart from sibling searches like search_proxies or search_esim_plans 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?

Gives clear usage: pass query to narrow by service name, and explicitly routes the agent forward to rent_number with the svc_ id and price as max_price_cents. It does not spell out when NOT to use this tool or what to do if more than 50 services match, but the workflow context is strong.

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