Skip to main content
Glama

Nepal/India phone check

south_asia_phone
Read-onlyIdempotent

Nepal (+977) and India (+91) phone number check: valid, mobile/landline, operator or region, E.164. Use to validate or normalise a Nepali or Indian phone number before saving or messaging it. Format rules only, no carrier lookup. Returns valid, type (mobile, landline, tollfree), operator (e.g. Nepal Telecom, Ncell), region, e164 and reason when invalid. Price: $0.001 per call from Exepal credit; not charged if the call fails. Includes free daily calls.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "phone": "<phone>"
    },
    "name": "south_asia_phone"
  }
}

Input Schema

NameRequiredDescriptionDefault
phoneYesPhone number in any common format, e.g. +977 984-123-4567, 9841234567, 01-4123456, +91 98765 43210
countryNoDefault: detected from the country code, else NP

Output Schema

NameRequiredDescriptionDefault
e164Noe.g. +9779841234567
typeNomobile, landline, tollfree or unknown
inputNo
validNo
reasonNoWhy it is invalid
regionNoArea or circle
countryNoNP or IN
nationalNo
operatorNoMobile operator, e.g. Nepal Telecom (NTC), Ncell
technologyNo
internationalNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "country": {
      +      "description": "NP or IN",
      +      "type": "string"
      +    },
      +    "e164": {
      +      "description": "e.g. +9779841234567",
      +      "type": "string"
      +    },
      +    "input": {
      +      "type": "string"
      +    },
      +    "international": {
      +      "type": "string"
      +    },
      +    "national": {
      +      "type": "string"
      +    },
      +    "operator": {
      +      "description": "Mobile operator, e.g. Nepal Telecom (NTC), Ncell",
      +      "type": "string"
      +    },
      +    "reason": {
      +      "description": "Why it is invalid",
      +      "type": "string"
      +    },
      +    "region": {
      +      "description": "Area or circle",
      +      "type": "string"
      +    },
      +    "technology": {
      +      "type": "string"
      +    },
      +    "type": {
      +      "description": "mobile, landline, tollfree or unknown",
      +      "type": "string"
      +    },
      +    "valid": {
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, and the description adds real value beyond them: format-rules-only scope, pricing at $0.001 per call, no charge on failure, and free daily calls. The only wrinkle is the pairing of 'operator (e.g. Nepal Telecom, Ncell)' with 'no carrier lookup', which leaves a small ambiguity about whether operator is prefix-derived or queried live.

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 scope, trigger, scope limits and pricing are front-loaded in a compact block with no filler. The enumerated return fields partly restate the output schema, which is mild redundancy but keeps the definition self-contained.

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?

Covers scope, error behavior ('reason when invalid'), cost model and billing exceptions, which is more than enough for a two-parameter read-only validator with an output schema. The operator-versus-no-carrier-lookup ambiguity is the one loose end an agent might still wonder about.

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%, so both `phone` and `country` are fully documented with examples and a default in the schema itself. The description adds no format or normalization detail beyond what the schema already says, so the baseline of 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 ('phone number check') and scopes it to Nepal (+977) and India (+91) with the exact outputs. It is clearly separable from siblings like south_asia_date, south_asia_forex, south_asia_id and south_asia_number.

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 to validate or normalise a Nepali or Indian phone number before saving or messaging it' gives a concrete trigger context. It does not name an alternative or state when not to use it, but no sibling covers the same resource, so the routing risk is low.

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