Skip to main content
Glama

VanityNumbers.com

Check if a phone number is available

check_number
Read-onlyIdempotent

Check one US or Canadian phone number, toll free or local, by digits or by its spelling (877-393-7552 or 877-EYES-LLC). Use it when someone asks whether a number is available, what it costs, or what it is today. Returns its status (available, backorder, rent to own, with another vendor, in use, or for a local number the phone company first given its block, when, and the company that has it today, with each company's page on NewLocalNumbers.com), its price when it has one, and links to its history and to finish on VanityNumbers.com. When the number spells a word, it also names the word and lists numbers like it that can be ordered.

Input Schema

NameRequiredDescriptionDefault
emailNoOptional: the person's email, if they have a confirmed notification with VanityNumbers.com. The lookup is then connected to their notifications, so their emails' suggestions fit what they're looking for, and a local number's answer also says whether it's in use today, from their own, larger allowance of lookups.
numberYesA 10-digit number or a vanity spelling, like 877-393-7552 or 877-EYES-LLC.

Output Schema

NameRequiredDescriptionDefault
kindYes
noteNo
pageYes
as_ofNo
labelYes
priceNo
sinceNo
stateNo
todayNo
numberYes
spellsNo
statusYes
carrierNo
contactNoQuestions? Bill Quimby, 1-800-MARKETER (1-800-627-5383).
held_byNo
meaningYes
summaryNo
site_pageNo
watch_hintNo
data_sourceNo
deeper_pageNo
carrier_pageNo
history_pageNo
matching_siteNo
data_source_urlNo
numbers_like_itNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / $defs / LikeNumber
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "category": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Category"
      +    },
      +    "digits": {
      +      "title": "Digits",
      +      "type": "string"
      +    },
      +    "number": {
      +      "title": "Number",
      +      "type": "string"
      +    },
      +    "page": {
      +      "title": "Page",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "number",
      +    "digits",
      +    "page"
      +  ],
      +  "title": "LikeNumber",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / LikeTier
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "more_page": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "More Page"
      +    },
      +    "numbers": {
      +      "default": [],
      +      "items": {
      +        "$ref": "#/$defs/LikeNumber"
      +      },
      +      "title": "Numbers",
      +      "type": "array"
      +    },
      +    "title": {
      +      "title": "Title",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "title"
      +  ],
      +  "title": "LikeTier",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / NumbersLikeIt
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "LocalVanityNumbers.com's own numbers like a checked local number, closest first (Bill 10-22).",
      +  "properties": {
      +    "category": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Category"
      +    },
      +    "page": {
      +      "title": "Page",
      +      "type": "string"
      +    },
      +    "price": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Price"
      +    },
      +    "tiers": {
      +      "default": [],
      +      "items": {
      +        "$ref": "#/$defs/LikeTier"
      +      },
      +      "title": "Tiers",
      +      "type": "array"
      +    },
      +    "word": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Word"
      +    }
      +  },
      +  "required": [
      +    "page"
      +  ],
      +  "title": "NumbersLikeIt",
      +  "type": "object"
      +}
    • addedOutput schema / properties / numbers_like_it
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/NumbersLikeIt"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / site_page
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Site Page"
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / email / description
      Previous value: -"Optional: the person's email, if they have a confirmed watch with VanityNumbers.com. The lookup is then connected to their watch, so its emails' suggestions fit what they're looking for, and a local number's answer also says whether it's in use today, from their own, larger allowance of lookups."New value: +"Optional: the person's email, if they have a confirmed notification with VanityNumbers.com. The lookup is then connected to their notifications, so their emails' suggestions fit what they're looking for, and a local number's answer also says whether it's in use today, from their own, larger allowance of lookups."
    • addedOutput schema / properties / watch_hint
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Watch Hint"
      +}
  4. Changed3 schema fields changed
    • addedOutput schema / $defs / SpellOption
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "label": {
      +      "title": "Label",
      +      "type": "string"
      +    },
      +    "nearby": {
      +      "default": false,
      +      "title": "Nearby",
      +      "type": "boolean"
      +    },
      +    "number": {
      +      "title": "Number",
      +      "type": "string"
      +    },
      +    "page": {
      +      "title": "Page",
      +      "type": "string"
      +    },
      +    "price": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Price"
      +    }
      +  },
      +  "required": [
      +    "label",
      +    "number",
      +    "page"
      +  ],
      +  "title": "SpellOption",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Spells
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "What a checked number spells, and numbers like it to get (Bill 10-19).",
      +  "properties": {
      +    "category": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Category"
      +    },
      +    "category_page": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Category Page"
      +    },
      +    "local": {
      +      "default": [],
      +      "items": {
      +        "$ref": "#/$defs/SpellOption"
      +      },
      +      "title": "Local",
      +      "type": "array"
      +    },
      +    "more_page": {
      +      "title": "More Page",
      +      "type": "string"
      +    },
      +    "toll_free": {
      +      "default": [],
      +      "items": {
      +        "$ref": "#/$defs/SpellOption"
      +      },
      +      "title": "Toll Free",
      +      "type": "array"
      +    },
      +    "word": {
      +      "title": "Word",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "word",
      +    "more_page"
      +  ],
      +  "title": "Spells",
      +  "type": "object"
      +}
    • addedOutput schema / properties / spells
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/Spells"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  5. Changed3 schema fields changed
    • addedOutput schema / $defs / TodayCarrier / properties / activity_level
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Activity Level"
      +}
    • removedOutput schema / $defs / TodayCarrier / properties / activity_score
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "title": "Activity Score"
      -}
    • addedOutput schema / $defs / TodayCarrier / properties / activity_why
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Activity Why"
      +}
  6. Changed3 schema fields changed
    • changedInput schema / properties / email / description
      Previous value: -"Optional: the person's email, if they have a confirmed watch with VanityNumbers.com. A local number's answer then also says whether it's in use today, from their own, larger allowance of lookups. The email is used for nothing else."New value: +"Optional: the person's email, if they have a confirmed watch with VanityNumbers.com. The lookup is then connected to their watch, so its emails' suggestions fit what they're looking for, and a local number's answer also says whether it's in use today, from their own, larger allowance of lookups."
    • addedOutput schema / properties / data_source
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Data Source"
      +}
    • addedOutput schema / properties / data_source_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Data Source Url"
      +}
  7. Changed4 schema fields changed
    • addedInput schema / properties / email
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional: the person's email, if they have a confirmed watch with VanityNumbers.com. A local number's answer then also says whether it's in use today, from their own, larger allowance of lookups. The email is used for nothing else.",
      +  "title": "Email"
      +}
    • addedOutput schema / $defs / TodayCarrier / properties / activity
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Activity"
      +}
    • addedOutput schema / $defs / TodayCarrier / properties / activity_score
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Activity Score"
      +}
    • addedOutput schema / $defs / TodayCarrier / properties / note
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Note"
      +}
  8. Changed3 schema fields changed
    • addedOutput schema / $defs / TodayCarrier
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "carrier": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Carrier"
      +    },
      +    "detail": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Detail"
      +    },
      +    "headline": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Headline"
      +    },
      +    "how": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "How"
      +    },
      +    "moved": {
      +      "default": false,
      +      "title": "Moved",
      +      "type": "boolean"
      +    },
      +    "page": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Page"
      +    }
      +  },
      +  "title": "TodayCarrier",
      +  "type": "object"
      +}
    • addedOutput schema / properties / deeper_page
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Deeper Page"
      +}
    • addedOutput schema / properties / today
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/TodayCarrier"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  9. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description goes further by enumerating the possible statuses returned (available, backorder, rent to own, with another vendor, in use, or block-holder detail) and noting price and links. The return-state explanation is genuinely useful, though the garbled phrasing of the local-number case weakens it.

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

Conciseness2/5

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

The core purpose is front-loaded, but the second and third sentences are run-on and tangled — 'or for a local number the phone company first given its block, when, and the company that has it today' is barely parseable. Substantial length is spent re-describing return values that an output schema already covers.

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 annotations handling safety and an output schema handling return structure, the description covers what an agent needs to invoke it: accepted input forms, when to choose it, and what answers look like. Only the missing sibling routing keeps it from full completeness.

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 coverage is 100% and the schema already documents both the 10-digit/vanity spelling format and the email parameter's effect on notifications and lookup allowance. The description's format example ('877-393-7552 or 877-EYES-LLC') merely restates the schema, adding no new semantics.

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

Purpose4/5

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

States a specific verb and resource with explicit scope: 'Check one US or Canadian phone number, toll free or local,' and shows both accepted input forms. It does not name any sibling tool, so the agent gets no direct disambiguation from search_vanity_numbers, number_history, or watch_number, but the 'one number' scope is clear enough to infer separation.

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?

'Use it when someone asks whether a number is available, what it costs, or what it is today' gives concrete triggering intents. It stops short of exclusions or pointing to alternatives — e.g., nothing says to use search_vanity_numbers instead when the user has no specific number in mind.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources