x402-phone-validator
x402-phone-validator: 电话号码格式校验(E.164 全局格式为主,国家码可选)。只验格式与位数规则,不做运营商查询/真号验证。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| phone | No | ||
| region | No |
x402-phone-validator: 电话号码格式校验(E.164 全局格式为主,国家码可选)。只验格式与位数规则,不做运营商查询/真号验证。
| Name | Required | Description | Default |
|---|---|---|---|
| phone | No | ||
| region | No |
Changes observed during successful MCP inspections.
Input schema / properties / regionAdded value: +{
+ "type": "string"
+}Input schema / properties / regionRemoved value: -{
- "type": "string"
-}Input schema / properties / regionAdded value: +{
+ "type": "string"
+}Input schema / properties / regionRemoved value: -{
- "type": "string"
-}Input schema / properties / regionAdded value: +{
+ "type": "string"
+}Input schema / properties / phone / descriptionRemoved value: -"Phone to process"Input schema / properties / regionRemoved value: -{
- "description": "Region to process",
- "type": "string"
-}Input schema / properties / regionAdded value: +{
+ "description": "Region to process",
+ "type": "string"
+}Input schema / properties / regionRemoved value: -{
- "description": "Region to process",
- "type": "string"
-}Input schema / properties / regionAdded value: +{
+ "description": "Region to process",
+ "type": "string"
+}Input schema / properties / regionRemoved value: -{
- "description": "Region to process",
- "type": "string"
-}Input schema / properties / regionAdded value: +{
+ "description": "Region to process",
+ "type": "string"
+}Input schema / properties / regionRemoved value: -{
- "description": "Region to process",
- "type": "string"
-}Input schema / properties / regionAdded value: +{
+ "description": "Region to process",
+ "type": "string"
+}Input schema / properties / regionRemoved value: -{
- "description": "Region to process",
- "type": "string"
-}Input schema / properties / regionAdded value: +{
+ "description": "Region to process",
+ "type": "string"
+}Input schema / properties / regionRemoved value: -{
- "description": "Region to process",
- "type": "string"
-}Input schema / properties / phoneAdded value: +{
+ "description": "Phone to process",
+ "type": "string"
+}Input schema / properties / regionAdded value: +{
+ "description": "Region to process",
+ "type": "string"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the important limitation that only format and digit-count rules are checked and no carrier/real-number verification occurs, which prevents over-trust in results. It says nothing about side effects, permissions, or what the response contains (valid boolean, normalized E.164 output, error reasons).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences: capability first, scope limitation second. The only waste is restating the tool name as a prefix, which adds no information for an agent that already knows the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter validator with no annotations and no output schema, the definition covers what is and isn't checked but leaves the agent guessing at return shape and the format of the 'region' argument. Adequate to invoke, not adequate to predict the result confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for both parameters. It hints that the number should be E.164 and that the country code is optional (mapping loosely to the 'region' parameter), but it never names 'phone' or 'region' nor specifies the expected region format (ISO alpha-2?) or what happens when region is omitted for a non-E.164 input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (phone number format validation) with the standard targeted (E.164, optional country code) and an explicit scope boundary (format/digit-length only, no carrier or real-number lookup). It does not, however, distinguish itself from the sibling x402-validate-phone / x402-is-phone, which appear to do the same thing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exclusion '不做运营商查询/真号验证' tells the agent this is a cheap syntactic check rather than a verification service, which is useful negative guidance. But it never says when to pick this over x402-validate-phone, x402-is-phone, or x402-phone-* siblings, leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.