x402-contains-any
Contains Any: Returns true if text contains at least one of the substrings (alias values), else false 🆓 5 free trial calls per signed wallet
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| input | No | ||
| values | No | ||
| substrings | No |
Contains Any: Returns true if text contains at least one of the substrings (alias values), else false 🆓 5 free trial calls per signed wallet
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| input | No | ||
| values | No | ||
| substrings | No |
Changes observed during successful MCP inspections.
Input schema / properties / input / descriptionRemoved value: -"Input to process"Input schema / properties / substrings / descriptionRemoved value: -"Substrings to process"Input schema / properties / text / descriptionRemoved value: -"Text to process"Input schema / properties / values / descriptionRemoved value: -"Values to process"Input schema / properties / inputAdded value: +{
+ "description": "Input to process",
+ "type": "string"
+}Input schema / properties / substringsAdded value: +{
+ "description": "Substrings to process",
+ "type": "string"
+}Input schema / properties / textAdded value: +{
+ "description": "Text to process",
+ "type": "string"
+}Input schema / properties / valuesAdded value: +{
+ "description": "Values 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 return semantics (boolean true/false), which is valuable since there is no output schema, plus the pricing/trial model. However it omits matching semantics (case sensitivity, empty-list behavior, partial vs whole-token matching).
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?
One tight sentence with the result semantics front-loaded, followed by the trial-call note. Little waste, though the emoji-bound pricing clause sits awkwardly without a separating delimiter.
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 simple boolean predicate this is close to sufficient, and the description does supply the non-obvious return value. But with four 0%-documented parameters and no output schema, the ambiguity between 'text'/'input' and 'values'/'substrings' should have been resolved in the description.
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% across four undocumented parameters. The description only lightly gestures at the parameters, tying 'text' and 'substrings (alias values)' together, but leaves 'input' completely unexplained and the alias relationship between 'values' and 'substrings' ambiguous.
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 and result: returns true if the text contains at least one of the given substrings, else false. This distinguishes it reasonably well from near-siblings like x402-line-contains or x402-words-containing, though it never acknowledges them directly.
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?
There is no guidance on when to prefer this over similar substring tools (x402-ends-with-any, x402-starts-with-vowel, x402-words-containing), nor any prerequisites, case-sensitivity expectations, or edge-case behavior for empty values.
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.