GadgetHumans API Hub
Server Details
47 MCP tools free (rate-limited) + x402 pay-per-call REST on Base. Flagship: Token Verdict, $0.02.
- Status
- Healthy
- Uptime
- 19.7% over 75 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 49 tools
The catch-all call_api proxy explicitly duplicates most of the named tools (password strength, JSON tools, etc.), so an agent can rarely tell whether to use a dedicated tool or route through call_api. The memory cluster (agent_memory, memory_list, memory_search, agent_profile) also overlaps heavily, since agent_memory already exposes a 'search' action that memory_search re-implements. Outside those clusters tools are mostly distinct, which keeps this above a 1.
Many tools follow a readable verb_noun or verb pattern (generate_uuid, convert_units, analyze_sentiment, hash_text, encode_base64), but a large parallel group uses noun-suffix names (bmr_calculator, loan_calculator, mortgage_calculator, tip_calculator, compound_interest, word_count), conflicting with verb-style siblings like calculate_bmi and percentage_calculator. It's mixed but still decipherable, so mid-range.
49 exposed tools is far too many for what is essentially a grab-bag utility hub, and call_api advertises access to 122 additional REST tools hidden behind one name, which signals serious surface bloat. Individual tools are cheap, but the count approaches the 'too many' threshold and creates selection load.
Because the server is a generic 'API Hub' rather than a focused domain, there is no coherent lifecycle to be complete against; it offers broad scattered coverage (text, math, conversion, geo, weather, crypto, prediction markets) with no obvious dead-end but also arbitrary gaps. call_api partly compensates by proxying further tools, keeping this borderline rather than failing.
Available Tools
49 toolsaffiliate_searchBInspect
Search Amazon products and get affiliate links. Find products across 40+ categories. Returns buying guides and Amazon search links with your affiliate tag.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Product search query | |
| category | No | Optional category filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden, and it partially discharges that by disclosing the return shape (buying guides and Amazon search links with your affiliate tag). It still omits prerequisites such as whether an affiliate tag must already be configured, rate limits, or whether the query accepts keywords vs. ASINs.
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?
Three short sentences with no padding, and the core capability is front-loaded in the first sentence. The third sentence is the only slightly redundant one, restating the affiliate-tag aspect already implied.
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?
With no output schema and no annotations, the description does step in to explain the return values, which is genuinely useful. It remains incomplete for a search tool, though: no pagination, result-count, failure-mode, or query-syntax information is offered.
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 description coverage is 100%, so both parameters are already documented in the schema, making a baseline 3 appropriate. The description adds only the "40+ categories" breadth claim on top of the schema's "Optional category filter" and gives no example category values, so it does not meaningfully deepen parameter understanding.
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 resource set ("Search Amazon products and get affiliate links") and scopes the breadth ("40+ categories"), which distinguishes it from generic search siblings by resource. However, it never names the closest sibling, search_web, so the reader must infer the boundary themselves.
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?
No when-to-use or when-not-to-use guidance is given. With search_web in the sibling list, the agent gets no explicit signal that this tool is only for Amazon product/affiliate use cases and that general web queries belong elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_memoryAInspect
VAULT: Persistent agent memory — the KEY tool. Store and retrieve data across sessions. Agents are stateless — use this to remember facts, preferences, task state, API keys, conversation summaries, and configuration between runs. Data persists indefinitely in KV storage. Once stored, data is yours forever — only accessible through this server. Call with action='get' to read, action='set' to write, action='delete' to remove, action='search' to find by keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Memory key (e.g. 'conversation_summary', 'user_preferences', 'task_state', 'api_keys') | |
| value | No | JSON value to store (required for action='set') | |
| action | No | get (default), set, delete, search (find by keyword in values), list (show all keys) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavioral traits: indefinite persistence in KV storage and access scoping to this server only. It omits the destructive/reversibility profile of action='delete' and gives no sense of what search returns or how errors surface, which holds it below 5.
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?
Front-loaded with the core capability and action map, and every section is on-topic. Slight waste in the persistence claim being stated twice ("persists indefinitely in KV storage" then "data is yours forever") but the size is appropriate for a five-mode tool.
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 multi-action tool with no annotations and no output schema, the description covers intent and durability but leaves real gaps: it never explains that the required 'key' may not be meaningful for action='list', and it ignores the overlapping memory_list/memory_search siblings, which is the biggest selection risk.
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 description coverage is 100% and the enum already documents get/set/delete/search/list in detail, so baseline is 3. The description's glosses ("action='get' to read, action='set' to write") add no meaning beyond the schema, and it drops action='list' entirely despite listing the other four.
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 (store and retrieve data across sessions) and identifies itself as persistent KV memory. However, it never differentiates itself from the sibling tools memory_search and memory_list, which duplicate its action='search' and action='list' modes, leaving an ambiguity the agent must resolve by schema inspection.
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?
Gives clear positive context for when to call it ("Agents are stateless — use this to remember facts, preferences, task state, API keys, conversation summaries, and configuration between runs"), which is an unusually explicit usage motivation. It stops short of any when-not guidance or explicit routing to the memory_list/memory_search siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_profileBInspect
VAULT: View your agent profile — see your agent ID, total stored data items, usage stats, and subscription status. Shows what data you have stored in our vault.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | summary (default) or all_keys |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does convey the read-only nature implicitly ("View", "see", "Shows") and discloses the categories of data exposed. It stops there, saying nothing about permissions/auth requirements, per-call cost, or whether the profile is scoped to the calling agent versus a shared vault.
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 short sentences, front-loaded with the tool's context. There is mild redundancy: the trailing "Shows what data you have stored in our vault" restates "total stored data items" from the prior sentence, so it is efficient but not waste-free.
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 zero-required-parameter, single-enum read tool with no output schema, the description covers purpose and exposed fields sufficiently. The one gap is that the 'detail' mode is never explained, leaving the agent to infer what 'all_keys' widens the response to.
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 description coverage is 100% for the single 'detail' enum, so the baseline is 3. The description adds nothing about what 'summary' vs 'all_keys' actually returns, so it neither compensates nor detracts; the schema does all the work.
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?
Specific verb+resource ("View your agent profile") with an enumeration of exactly what is returned: agent ID, stored data item count, usage stats, and subscription status. That is clear and self-contained, but it never positions itself against the closely related siblings agent_memory, memory_list, and memory_search, so an agent cannot rule them out from the text alone.
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?
No when-to-use guidance and no exclusions. The description never explains when an agent should call agent_profile rather than agent_memory, memory_list, or memory_search, despite those siblings clearly overlapping in the 'stored data' space.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_readabilityCInspect
Calculate Flesch-Kincaid readability score and grade level
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses what is computed (score and grade level) but says nothing about input constraints, language assumptions, length limits, error behavior, or what the numeric scale means.
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?
A single tight sentence with no filler, front-loaded with the tool's function. However, the brevity comes at the cost of completeness rather than being purely efficient.
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 single-input, stateless calculation tool with no output schema, naming the two outputs is adequate. It leaves minor gaps around language/input handling that a modest addition would close.
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?
One parameter with 0% schema description coverage, and the description adds nothing about the 'text' argument — not its expected language, size, or format. Since the schema is silent, the description should have compensated but does not.
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 ('Calculate'), resource ('readability score'), and names the exact metric ('Flesch-Kincaid') plus the grade level output. This clearly separates it from siblings like word_count, proofread_text, and analyze_sentiment, though it doesn't explicitly name a contrasting sibling.
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?
No guidance on when to choose this over alternatives such as proofread_text or word_count, no stated prerequisites, and no note on text language or length expectations. The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_sentimentCInspect
Analyze the tone, emotion, and sentiment of text
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does not disclose what the results look like (labels? numeric scores? per-sentence granularity?), how long text can be, or which languages are supported. Only the functional purpose is conveyed, leaving behavior opaque for a tool with zero structured disclosure.
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?
A single short sentence with the action verb front-loaded and zero filler. It is efficient, though its brevity reflects under-specification rather than disciplined trimming.
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?
With no output schema and no annotations, the description should at minimum indicate the shape of the result and input expectations. It omits both, so an agent cannot anticipate the response or validate its input.
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 description coverage is 0% and the single 'text' parameter is undocumented, so the description must compensate. It says nothing about the expected format, length limits, or language of the input text, adding no meaning beyond the bare property name.
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 ('Analyze') and resource ('text') and enumerates the analysis dimensions ('tone, emotion, and sentiment'), which distinguishes it from near-siblings like analyze_readability and detect_language. It stops short of explicitly contrasting itself with those tools, so it is clear but not sibling-differentiating.
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 use this tool versus alternatives such as analyze_readability or detect_language, no input constraints (language, length), and no prerequisites. The agent is left to infer the call context entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bmr_calculatorCInspect
Calculate Basal Metabolic Rate using Mifflin-St Jeor equation
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | ||
| sex | No | ||
| height | Yes | Height in cm | |
| weight | Yes | Weight in kg |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries full burden. It states the equation used, which is genuinely useful context, but discloses nothing about units handling, default sex when omitted, output format, or how missing sex affects the result.
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?
A single tight sentence with no waste, front-loaded with verb+resource+method.
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?
A 4-param calculator with no annotations, no output schema, and 50% schema coverage. The description should explain the sex requirement and units more, especially since sex is an enum but not marked required, which creates ambiguity.
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 50%: height and weight are documented in cm/kg, but age and sex have no schema descriptions. The description doesn't clarify sex semantics (required by equation yet not in required list) or age/sex units, leaving a notable gap.
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 (Calculate) and resource (Basal Metabolic Rate) plus the method (Mifflin-St Jeor). It's clear what it does, though it doesn't differentiate from sibling calculate_bmi or calorie_burn.
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?
No guidance on when to use this vs calculate_bmi or calorie_burn, nor any prerequisites. Only implied usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_bmiCInspect
Calculate BMI from weight and height
| Name | Required | Description | Default |
|---|---|---|---|
| height | Yes | Height in cm | |
| weight | Yes | Weight in kg |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about the operation's nature. It does not state that this is a pure, side-effect-free computation, nor what the result represents (raw BMI number, rounded value, or a category label such as underweight/obese).
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?
A single front-loaded sentence with no filler or redundancy, appropriately sized for a trivial two-parameter tool. It is terse to the point of omitting units, though that information lives in the schema.
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 deterministic calculator with fully documented parameters this is close to adequate. The remaining gap is the unspecified return value—BMI number versus interpreted category—which matters because there is no output schema to answer that question.
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 100% and the schema already documents units for both parameters ('Height in cm', 'Weight in kg'). The description names weight and height but adds no unit, range, or format detail beyond what the schema provides, so the baseline of 3 applies.
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?
Names a specific verb ('Calculate') and resource ('BMI') and identifies the two inputs, so the operation is unambiguous. It does not distinguish itself from nearby computational siblings like bmr_calculator or calorie_burn, leaving an agent to infer from the name alone which health metric applies.
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 description gives no when-to-use context, no prerequisites, and no pointer to alternatives such as bmr_calculator for metabolic rate or calorie_burn for activity expenditure. An agent must guess which calculator fits a health-related query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
call_apiBInspect
UNIVERSAL PROXY: Call any API Hub tool by name. Access 122 REST tools through this single MCP endpoint. Tools include: email verification, color converter, QR decode, HTML entities, regex test, MIME types, HTTP codes, country list, currency list, public holidays, paper sizes, chemical elements, JSON tools, password strength, named entities, keyword density, text complexity, macros, ideal weight, body fat, heart rate zones, sleep calculator, ovulation calculator, and 250+ more. Use tool_name to specify which tool and params for its arguments.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | JSON string of parameters for the tool, e.g. '{"color":"#ff0000"}' | |
| tool_name | Yes | REST tool to call. Examples: verify_email, convert_color, lookup_html_entity, test_regex, lookup_mime_type, lookup_http_code, list_countries, list_currencies, get_public_holidays, paper_size_reference, chemical_elements, process_json, check_password_strength, extract_entities, keyword_density, text_complexity, macro_calc, ideal_weight_calc, body_fat_calc, heart_rate_zones, sleep_calc, ovulation_calc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It discloses the routing mechanism (tool_name selects the target, params carries its arguments) and the breadth of coverage, but says nothing about invalid tool_name handling, argument validation, error propagation, or rate limits. Mechanism is clear; edge behavior is not.
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?
The key routing instruction is front-loaded, which is good. However, the 22-item inline tool list is padding that bloats the definition while covering only a fraction of the claimed 250+ tools, so it neither fully informs nor stays tight.
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?
There is no output schema and no annotations, so the description must carry more than it does. It adequately explains the call mechanism but leaves return shape, error semantics, and the proxy-vs-direct-tool relationship unaddressed for a tool with such broad surface area.
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 description coverage is 100% and both parameters are documented there, including the JSON-string format for params and example tool names. The description restates 'Use tool_name to specify which tool and params for its arguments' without adding syntax or format detail beyond the schema, so the baseline 3 applies.
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 ('Call any API Hub tool by name') and frames itself as a universal proxy. The 'UNIVERSAL PROXY' framing and the count (122 REST tools via one endpoint) let an agent distinguish it from the forty-plus single-purpose siblings at a glance.
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?
No guidance on when to use this proxy versus the direct sibling tools. Critically, several examples listed (check_password_strength, generate_qr_code-adjacent tools) also exist as direct siblings, yet the description never explains which route to prefer or under what conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calorie_burnCInspect
Estimate calories burned during physical activities
| Name | Required | Description | Default |
|---|---|---|---|
| weight | Yes | Weight in kg | |
| activity | Yes | e.g. running, walking, cycling | |
| duration | Yes | Duration in minutes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. "Estimate" hints that the result is approximate, but nothing states the method (e.g. MET-based), assumptions about intensity, accuracy caveats, or the units of the returned value. That is a meaningful gap for a numeric calculator with zero structured coverage.
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?
A single, front-loaded sentence with no filler or redundancy. It is efficient, though somewhat under-specified rather than deliberately tight.
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?
With no output schema and no annotations, the description should at least indicate what is returned (a calorie figure and its unit) and that the value is an approximation. It implies estimation but leaves the return shape undocumented, which is the main completeness gap for such a simple tool.
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 description coverage is 100% – weight (kg), activity (with examples), and duration (minutes) are all documented in the schema, so the baseline of 3 applies. The description adds no additional meaning such as supported activity values or expected ranges.
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 ("Estimate") and resource ("calories burned during physical activities"), so an agent can immediately tell this is a calorie-expenditure calculator. It is distinguishable from siblings like bmr_calculator and calculate_bmi, but it never names them or clarifies the boundary explicitly.
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 description gives no when-to-use guidance, no prerequisites, and no alternatives. An agent cannot tell from this text whether to prefer calorie_burn over bmr_calculator or calculate_bmi for an energy-expenditure question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_password_strengthBInspect
Check password strength with score and crack time estimate
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose the return content (a score and a crack-time estimate), which is meaningful given there is no output schema; however it says nothing about whether the password is stored or transmitted, repeat-call behavior, or limits on input. Useful but incomplete behavioral disclosure.
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 sentence, no filler, and the key value proposition (score plus crack time) is front-loaded. Nothing to trim.
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 single-parameter, side-effect-free utility with no output schema, the description covers the essential contract by naming the two outputs. It is close to complete, missing only any caveat about how the password is handled.
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% and the single parameter (password, required) is undocumented in the schema. The description implies the input is a password being evaluated but adds no format, length, or encoding constraints, so it only marginally compensates for the coverage gap.
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 (check) and resource (password strength) plus the outputs it produces (score, crack time). It is distinguishable from the sibling generate_password, though it never explicitly contrasts itself with it.
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?
No indication of when to use this versus generate_password, no prerequisites, and no note about whether it validates an existing password or is just advisory. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_ssl_certificateCInspect
Check SSL certificate for a domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose that this is a read-only outbound network call, what aspects of the certificate are evaluated (expiry, issuer, chain validity, hostname match), or how failures/non-SSL hosts are reported.
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?
A single short sentence with the verb and target front-loaded; nothing is wasted. It is terse to the point of under-specification, but as a structure/conciseness measure it is efficient.
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?
With no output schema and no annotations, the description should explain what the check returns (validity, expiry date, issuer) and any failure modes, but it does none of that. For a network-dependent diagnostic tool, the agent lacks the information needed to interpret results or set expectations.
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?
With a single parameter and 0% schema description coverage, the phrase 'for a domain' is the only signal that the input is a domain name, which adds a little meaning beyond the bare 'domain' property name. However, it gives no format guidance (bare hostname vs. URL, port handling, wildcards), so it only partially compensates for the coverage gap.
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 (check) and resource (SSL certificate) scoped to a domain, so an agent immediately understands the operation. It does not differentiate from the nearest sibling, dns_lookup, which also takes a domain and performs a network lookup, leaving some ambiguity about which to pick.
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 use this tool versus alternatives such as dns_lookup, nor any prerequisites (e.g., domain must be publicly resolvable). The description only restates the operation, leaving all selection logic to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compound_interestCInspect
Calculate compound interest growth over time
| Name | Required | Description | Default |
|---|---|---|---|
| rate | Yes | Annual rate e.g. 5.0 | |
| years | Yes | ||
| principal | Yes | ||
| contributions | No | Optional monthly contribution (default: 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only states it computes growth. It omits compounding frequency assumed, whether rate is a percentage or decimal (beyond the schema hint), and what the return looks like. A mutation-free calculator needs less, but key behavioral assumptions go unstated.
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?
A single short front-loaded sentence that is efficient but under-specified; it earns its place yet leaves obvious gaps that could have been filled in the same sentence.
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 4-parameter financial calculator with no annotations, no output schema, and two undocumented parameters, the description is too thin to let an agent call it confidently. It should specify compounding assumptions, rate format, and the years unit.
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 only 50%: rate and contributions are described in the schema, but principal and years are bare, and the description adds no parameter meaning at all. It doesn't compensate for the coverage gap, e.g. by clarifying units for years or how contributions compound.
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 (Calculate) and resource (compound interest) with scope (growth over time), which distinguishes it from sibling calculators like loan_calculator or mortgage_calculator. It doesn't explicitly name an alternative or clarify it's the general-purpose compounding tool, but an agent can select it correctly.
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 use this versus loan_calculator, mortgage_calculator, or percentage_calculator, nor any prerequisites. The agent must infer from the name alone that this is the recurring-growth tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_currencyBInspect
Convert between currencies using real-time rates
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target currency code e.g. EUR | |
| from_ | Yes | Source currency code e.g. USD | |
| amount | Yes | Amount to convert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose that rates are real-time, which implies an external rate feed and values that vary by request time — useful context beyond the schema. It says nothing about handling of invalid/unsupported currency codes, rate freshness/timestamp, or fees.
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?
A single sentence with no filler, and the key behavior ('real-time rates') is front-loaded. It is appropriately sized, though the brevity leaves nothing for the other five dimensions to draw on.
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?
There is no output schema, so the description is responsible for describing what comes back (converted amount, applied rate, timestamp). It never mentions the return shape, and with no annotations it also omits error behavior for invalid currency codes — a meaningful gap for a 3-required-param tool.
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 description coverage is 100%, so all three parameters (from_, to, amount) are already documented with examples like 'USD' and 'EUR'. The description adds no parameter-level detail, so the baseline 3 applies.
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 ('Convert') and resource ('currencies'), and adds the source of truth ('real-time rates'). However, it does not distinguish itself from near-neighbor siblings like convert_units, convert_number_base, convert_timestamp, or convert_timezone, so an agent must infer the boundary itself.
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?
No when-to-use, when-not-to-use, or alternative guidance is given. With several sibling 'convert_*' tools present, the description provides no routing signal about which conversion tool applies to a given input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_number_baseCInspect
Convert numbers between bases (hex, decimal, octal, binary)
| Name | Required | Description | Default |
|---|---|---|---|
| num | Yes | ||
| to_base | No | Target base (default: 16) | |
| from_base | No | Source base (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about output format, how invalid input is handled, whether prefixed strings like '0x1F' are accepted, or whether results are returned as strings or numbers. For a no-annotation tool this is a significant gap.
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?
A single tight sentence with the core capability front-loaded and zero padding. It is appropriately sized, though it is sparse enough that it arguably under-specifies rather than over-truncates.
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 conversion utility with no output schema, the description covers the core purpose but omits input-format expectations (e.g. prefixes, negative numbers) and error behavior. Adequate but with clear gaps for a tool that takes arbitrary string input.
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 67%: to_base and from_base are documented in the schema with defaults (16 and 10), while 'num' has no description. The description's mention of hex/decimal/octal/binary loosely hints at base values but never ties them to the parameters or explains that base codes must be integers. Baseline 3 given the schema does most of the work.
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 resource ('Convert numbers between bases') and enumerates the common bases, so the agent knows exactly what operation is performed. It is distinguishable from siblings like convert_units or convert_currency by the 'bases' framing, though it doesn't explicitly name those alternatives.
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 when-to-use or when-not-to-use guidance, and no conditions under which an alternative sibling (e.g. convert_units) would be preferred. The description offers only the bare capability, leaving routing entirely to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_timestampCInspect
Convert Unix timestamp to date or vice versa
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Unix timestamp or date string | |
| format | No | iso (default), unix, rfc2822 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it says nothing about how the conversion direction is determined (auto-detect vs. explicit), whether timezones are assumed (e.g., UTC), or what the output looks like. These are meaningful gaps for a conversion tool.
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?
A single efficient sentence, front-loaded with the verb and resource. It is tight, though the brevity comes at the cost of specification rather than from ruthless editing.
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?
No annotations and no output schema, so the description must explain behavior and results, but it omits direction-detection logic, timezone assumptions, and return format. For a conversion tool with real ambiguity against convert_timezone, this is under-specified.
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 description coverage is 100%, so both parameters are already documented (value as timestamp/date string, format with iso/unix/rfc2822). The description adds only the notion of direction, not any syntax or format detail beyond the schema.
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?
The description states a clear verb and resource ("Convert Unix timestamp to date or vice versa") and even covers bidirectionality. However, it does not distinguish itself from the sibling convert_timezone, which an agent could easily confuse with this tool.
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?
No guidance on when to use this versus convert_timezone or convert_number_base, no stated prerequisites, and no exclusions. The agent must infer the appropriate context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_timezoneCInspect
Convert timestamps between any timezones
| Name | Required | Description | Default |
|---|---|---|---|
| to_tz | No | Target timezone e.g. EST | |
| from_tz | No | Source timezone e.g. UTC | |
| timestamp | No | ISO date string (default: now) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but discloses almost nothing: no DST handling, no output format, no note that timestamp defaults to now, no statement about invalid timezone behavior. 'Any timezones' is the only scope hint.
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?
A single front-loaded sentence with zero padding that communicates the essential operation. It is efficient, though the extreme brevity leaves important details unstated.
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 utility this is roughly adequate, but with no output schema and no annotations the description should state the return shape and DST/default behavior. The gaps are not severe for a 3-param converter but leave the agent guessing on output.
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 description coverage is 100%, so all three parameters (to_tz, from_tz, timestamp) are already documented in the schema with examples. The description adds no syntax, format, or edge-case detail beyond that baseline.
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 (Convert) and resource (timestamps between timezones), so the core function is unambiguous. However, it does nothing to distinguish itself from the near-identical sibling 'convert_timestamp', which an agent must disambiguate against.
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 description offers no when-to-use guidance, no prerequisites, and no mention of the close alternative convert_timestamp. The agent is left to infer when this tool beats its sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_unitsCInspect
Convert between measurement units (temperature, length, weight)
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| to_unit | Yes | e.g. f, ft, lb | |
| from_unit | Yes | e.g. c, m, kg |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about which specific unit symbols are accepted, how ambiguity is handled (does 'c' mean Celsius or cup, 'm' meter or mile?), rounding/precision, or the response shape. For a tool with no annotations and no output schema, this is a substantial gap.
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?
A single, front-loaded sentence with zero waste. It is efficient, though the brevity contributes to the gaps flagged elsewhere rather than being a virtue in itself.
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?
With no annotations, no output schema, no enums, and only three vague symbol examples in the schema, the definition is not complete enough for reliable invocation. An agent cannot tell which unit identifiers are valid or how ambiguous short symbols are resolved, which is the central risk for a unit converter.
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 67%, with examples already given for from_unit/to_unit ('c, m, kg' / 'f, ft, lb') and no description at all for value. The description's category list (temperature, length, weight) restates exactly the dimensions those schema examples already convey, so it adds no meaning beyond structured data.
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 ('Convert') and resource ('measurement units') and scopes the domain via the parenthetical (temperature, length, weight). This implicitly separates it from the other convert_* siblings (currency, number base, timestamp, timezone), but it never names them explicitly, so disambiguation is inferred rather than stated.
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 category list (temperature, length, weight) implies when the tool applies, which is a form of scope guidance. However, there is no explicit when-to-use statement, no exclusions, and no routing to the many sibling converters (convert_currency, convert_number_base, convert_timestamp), which an agent would need to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_jwtCInspect
Decode a JWT token into header, payload, signature
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it omits the most important trait: whether this merely base64-decodes the token or also verifies the signature. It also says nothing about behavior on malformed/expired tokens or whether a 'Bearer ' prefix is tolerated.
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?
A single front-loaded sentence with no filler, and the output parts are listed first. It is sized correctly, though the brevity comes at the cost of the missing behavioral detail rather than being a deliberate trim.
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?
There is no output schema, so the description is the only source of return-shape information; listing header/payload/signature partially covers that. But it omits the decode-vs-verify distinction and any error behavior, leaving meaningful gaps for a security-relevant tool.
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% for the single 'token' parameter, so the description must compensate and does not. It never states that the value is the raw dot-separated JWT string, nor any format or length expectations.
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 (decode) and resource (JWT token) and enumerates the output parts (header, payload, signature), so an agent knows exactly what comes back. It doesn't explicitly contrast with the semantically closest sibling, token_verdict, but among the mostly unrelated utility siblings the purpose is unambiguous.
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 use this versus alternatives, and the sibling list includes 'token_verdict', which an agent could easily confuse with decoding. No prerequisites, no statement about whether an encoded/verified token is needed first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_languageBInspect
Detect the language of provided text with confidence score
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full behavioral burden. It does disclose one useful trait — that a confidence score is returned — but says nothing about supported language set, handling of ambiguous/short/mixed text, or error behavior.
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?
A single front-loaded sentence with no filler; the purpose and the key output detail are both stated immediately.
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?
The tool is simple (one param, no annotations, no output schema), but the description omits the confidence scale/return shape and any statement about supported languages or ambiguous-input behavior, leaving notable gaps for an agent.
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 description coverage is 0% and there is one required parameter, so the description must compensate. It only refers to 'provided text' and adds no format, length, or content constraints beyond the schema's bare string type.
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 ('Detect the language of provided text') and adds the output trait (confidence score). It is clearly distinguishable from overlapping siblings like analyze_sentiment or analyze_readability, though it never explicitly names them.
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?
No when-to-use guidance, no prerequisites, and no mention of alternatives or edge conditions. For a single-purpose utility the usage is largely self-evident, but the description supplies no routing or exclusion information at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dns_lookupCInspect
Look up DNS records for any domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | e.g. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose whether the lookup is recursive, which record types (A, AAAA, MX, TXT, etc.) are returned, whether it hits a live nameserver or cache, or any rate limits. A read-only network call is implied but never stated.
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?
A single efficient sentence with the key information front-loaded. Appropriately sized for a one-parameter tool, though it is thin on substance.
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 network lookup tool with no annotations and no output schema, the agent needs to know what record types come back, whether errors are possible (NXDOMAIN, timeouts), and what the response shape is. None of that is covered.
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 description coverage is 100% (the domain field documents its own format with an example), so the baseline is 3. The description adds no syntax or format details beyond what the schema already provides.
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?
Clear verb (look up) plus resource (DNS records) and scope (any domain). It doesn't differentiate from siblings like check_ssl_certificate or get_forecast, which also touch network/domain lookups, but the purpose itself is unambiguous.
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?
No when-to-use guidance, no mention of which record types are retrievable, and no routing to alternatives. The agent must infer everything from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encode_base64CInspect
Encode or decode text using Base64
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | encode (default) or decode | |
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but discloses almost nothing: no default mode, no handling of invalid Base64 input, no character-set/padding/URL-safe variant behavior, and no statement of what is returned. It only restates that both directions exist.
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?
A single short sentence with the operation front-loaded and zero waste. It is efficient, though arguably too terse for the disclosure the tool needs.
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?
No annotations and no output schema, so the description should explain the return value and failure modes for malformed input; it does neither. For a conversion tool the agent cannot know whether invalid Base64 raises an error or returns a best-effort result.
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 50%: the 'mode' parameter is documented as 'encode (default) or decode', while 'text' has no description. The description confirms that both modes are supported, which corroborates the mode enum semantics, but adds no format or validation detail beyond the schema.
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 pair (encode/decode) and resource (text, Base64), which is enough to distinguish it from siblings like hash_text or convert_number_base. It is clear but does not explicitly name or exclude any alternative sibling.
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 description offers no when-to-use guidance, no prerequisites, and no pointer to alternative tools (e.g. hash_text, decode_jwt) for related transformation needs. The agent must infer applicability entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_mathCInspect
Evaluate a mathematical expression safely
| Name | Required | Description | Default |
|---|---|---|---|
| expression | Yes | e.g. 3.14 * 2^10 / (5+3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The adverb 'safely' hints at sandboxed/non-code-executing evaluation, which is genuinely useful, but it is never elaborated: supported operators/functions, numeric precision, error behavior, or any limits are all unstated.
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?
A single front-loaded sentence with no filler or repetition. It is tight rather than over-trimmed, though the same brevity is what leaves the other dimensions thin.
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 math evaluator with no annotations and no output schema, the description should at minimum sketch the supported expression grammar (operators, functions, precedence) and result type. None of that is present, so an agent cannot reliably predict what expressions will be accepted.
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?
Only one parameter and schema description coverage is 100%, with the schema supplying an example expression ('3.14 * 2^10 / (5+3)'). The description adds nothing beyond the schema, which is the expected baseline when the schema does the work.
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 (Evaluate) and resource (mathematical expression), so an agent knows this computes a result from an expression string. It is distinguishable from specialized siblings like percentage_calculator or bmr_calculator by virtue of being general-purpose, though the description never explicitly says so.
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?
No when-to-use guidance and no routing against the many calculator siblings (tip_calculator, compound_interest, convert_number_base, etc.). Usage is only implied by the word 'expression', leaving the agent to infer that this is the general fallback versus the specialized tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_headlinesCInspect
Generate 5 compelling headlines from content
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses only the fixed output count of 5; it says nothing about output format, whether headlines are deterministic across calls, what 'compelling' entails, or any auth/rate-limit behavior.
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?
A single short sentence with the key verb and count front-loaded and no wasted words. It is efficient, though that efficiency comes at the cost of necessary detail.
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?
No annotations, no output schema, and 0% parameter coverage leave significant gaps for an agent: the return shape (list? JSON?), input format expectations, and any limits are all unspecified. The description is too thin for the tool's ambiguity.
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 description coverage is 0% for the single required 'text' parameter, so the description must compensate. 'from content' only loosely implies the parameter is the source material; it gives no guidance on expected length, format (article body vs. URL vs. title), or constraints.
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 ('Generate'), resource ('headlines'), and quantity (5) sourced from content. It is clearly distinguishable from siblings like summarize_text or generate_seo_metadata in intent, though it never explicitly names or contrasts an alternative.
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 when-to-use guidance, no preconditions, and no routing to alternatives such as summarize_text for a plain summary versus this tool for headline output. The phrase 'from content' implies the input but gives no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_passwordCInspect
Generate secure random passwords
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of passwords (default: 1) | |
| length | No | Password length (default: 16) | |
| numbers | No | ||
| symbols | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Secure random' hints at a cryptographic source but does not disclose entropy guarantees, output format, or whether generated values are stored or returned. For a security-sensitive generator with zero annotation coverage, this is thin.
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?
A single short, front-loaded sentence with no filler. It is efficient, though arguably too terse given the tool's configuration surface.
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?
Four parameters, no annotations, no output schema, and half the parameters undocumented. The description should at least sketch the output (list vs. single string) and defaults, but leaves the agent to infer everything from the schema alone.
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 only 50% – 'numbers' and 'symbols' booleans have no descriptions anywhere. The description adds nothing about count, length, or what those booleans default to, so it fails to compensate for the coverage gap.
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 (Generate) and resource (secure random passwords) that an agent can act on immediately. It does not, however, distinguish itself from the sibling check_password_strength or clarify scope (bulk generation, character sets).
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?
No when-to-use context, no exclusions, and no mention of the adjacent check_password_strength tool that an agent might reasonably confuse this with. The agent gets no help deciding whether this is the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_qr_codeCInspect
Generate QR code as base64 PNG image
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Size in pixels (default: 300) | |
| text | Yes | Text or URL to encode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It discloses the output format (base64 PNG) but omits default size behavior, error handling, determinism, or rate limits. Minimal beyond the schema.
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?
A single efficient sentence that front-loads the action and output. It earns its place, though it could be more specific about the encoding target.
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 two-parameter tool with full schema coverage and no output schema, the description is adequate but lacks behavioral details that would help an agent understand return format and edge cases.
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 100%, so the schema already fully documents both parameters including defaults. The description adds no parameter detail beyond stating the output format, so baseline 3 applies.
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 ('Generate QR code') and specifies the output format ('base64 PNG image'), which is concrete and distinguishing. It doesn't reference siblings, but the purpose is unambiguous.
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?
No indication of when to use this tool versus alternatives like encode_base64 or generate_uuid. The encoding target (QR vs base64 string) is implied but no explicit usage guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_seo_metadataCInspect
Generate SEO-optimized title, meta description, keywords, and slug
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Topic or keyword |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and falls short. It never states whether a network call or API key is needed, whether output length/format is constrained, or what the returned structure looks like, despite listing four output artifacts.
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?
A single front-loaded sentence with zero filler; the verb comes first and the outputs follow. It is efficient, though its brevity borders on under-specification for a generator tool.
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 one-parameter generator with no annotations and no output schema, listing the produced artifacts partially compensates, but the description never clarifies usage context or output constraints. Adequate but with clear gaps.
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?
Only one parameter exists and the schema documents it at 100% coverage ('Topic or keyword'). The description adds no syntax, format, or example beyond what the schema already says, so the baseline 3 applies.
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 (generate) plus the resource and enumerates the exact artifacts produced: title, meta description, keywords, slug. The enumerated outputs distinguish it reasonably well from the closest sibling generate_headlines, though no sibling is named explicitly.
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 when-to-use guidance, no prerequisites, and no exclusions. The agent is left to infer that this is a content/SEO task tool and must decide on its own versus generate_headlines or search_web.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_uuidBInspect
Generate UUID v4 identifiers
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of UUIDs (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. Specifying 'v4' usefully signals random, non-time-based generation, but nothing is said about the return shape (a single string vs. a list when count > 1) or uniqueness guarantees. That is a real gap for a tool whose only variable behavior is volume.
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?
A single front-loaded sentence with zero filler; it is exactly the size the purpose warrants and wastes no words.
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 trivial one-parameter utility with full schema coverage, the description is close to sufficient. It still leaves the count > 1 return contract unspecified and there is no output schema to fall back on, so an agent cannot be fully certain what comes back.
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 description coverage is 100% and the single 'count' parameter is documented with its default in the schema, so the baseline is 3. The description adds no syntax, range, or format meaning beyond what the schema already provides.
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 resource with the algorithm version ('Generate UUID v4 identifiers'), so an agent immediately knows the output. It does not distinguish itself from near-neighbors like generate_password or hash_text, but the purpose is unambiguous on its own.
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 use this versus generate_password or other ID-producing siblings, and no mention of constraints or prerequisites. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocodeAInspect
Forward geocode an address to coordinates
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Address or place name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It gives no information about provider ambiguity, accuracy/precision, multiple-match behavior, rate limits, or errors for unresolvable addresses.
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?
A single front-loaded sentence with no filler; every word earns its place and the direction of conversion is stated immediately.
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 one-parameter tool this is minimally viable, but with no annotations or output schema the description should explain return format or at least what happens on no-match. It is adequate but leaves clear gaps.
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 description coverage is 100%; the single query parameter is fully documented in the schema as 'Address or place name'. The description adds no format details, so baseline 3 is appropriate.
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 (forward geocode) and both endpoints (address to coordinates), making the resource and direction unambiguous. It also distinguishes from the sibling geolocate_ip, which handles the reverse/IP case.
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 word 'forward' implies this converts addresses to coordinates rather than the reverse, and the sibling geolocate_ip frames the alternative. However, there is no explicit when-to-use statement, prerequisites, or named alternative tool, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geolocate_ipCInspect
Get geolocation data for any IP address
| Name | Required | Description | Default |
|---|---|---|---|
| ip_address | No | IP address (optional, defaults to requester IP) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It does not state whether the lookup is cached, accuracy limits, or whether it requires authentication. Only the safe read nature is implied.
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?
Single short sentence, front-loaded and free of fluff. It is appropriately sized for a simple tool.
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 one-parameter read-only lookup with high schema coverage, the description is minimally adequate. It omits return data shape, accuracy, and rate-limit context that would help an agent use it correctly.
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 description coverage is 100% and the optional default is documented in the schema, so the description does not need to add parameter detail. It adds nothing beyond the schema, yielding the baseline 3.
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 resource: get geolocation data for any IP address. It is distinguishable from geocode and dns_lookup, though it does not explicitly name those siblings. Clear but minimal sibling differentiation.
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?
No when-to-use guidance or alternatives mentioned. The description does not tell the agent when to choose geolocate_ip over geocode or dns_lookup, and there are no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_air_qualityBInspect
Get current air quality data for any city (AQI, PM2.5, PM10)
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add real value by scoping the data as 'current' (versus forecast/historical) and by naming the returned metrics in the absence of an output schema, but it says nothing about permissions, rate limits, data source, or units.
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?
A single front-loaded sentence with no filler; the returned metrics are placed in parentheses where they belong. It is efficient and appropriately sized for a one-parameter lookup tool.
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 single-parameter read tool with no annotations and no output schema, the description conveys the resource, the temporal scope, and the key return fields. Missing only minor details such as units, data provider, and city-name format expectations.
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 description coverage is 100%, so the single 'city' parameter is already fully documented by the schema. The phrase 'for any city' adds only marginal confirmation that the parameter accepts arbitrary city names; the description does not clarify expected format (e.g., 'Paris, FR' vs. coordinates).
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?
Names a specific verb (Get) and resource (air quality data), and even enumerates the returned metrics (AQI, PM2.5, PM10), so the agent knows exactly what this retrieves. It does not, however, explicitly distinguish itself from close siblings like get_weather or get_forecast, which is the only thing keeping it from a 5.
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 when-to-use or when-not-to-use guidance and no named alternatives, despite the catalog containing get_weather, get_forecast, and geocode that an agent might confuse with this lookup. The word 'current' is the only weak usage signal, implying it is not for forecasts or historical trends.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crypto_pricesBInspect
Get real-time cryptocurrency prices from Binance
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | e.g. bitcoin, ethereum, solana (comma-separated) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose two meaningful traits: the data source (Binance) and freshness ('real-time'). However, it says nothing about rate limits, whether an API key is required, what currency prices are quoted in, or the response shape. Useful but incomplete for a tool with zero annotation coverage.
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?
A single clause that front-loads the action, the object, and the source with zero filler. Nothing in the sentence is redundant or padding.
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 one-parameter, optional-argument read tool with full schema coverage and no output schema, the definition covers the essentials: what it returns (prices), from where, and how fresh. Only minor gaps remain, such as the quoted currency and any usage limits.
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 description coverage is 100% and the single 'symbol' parameter already carries its own example ('e.g. bitcoin, ethereum, solana (comma-separated)'). The description adds nothing beyond that, so the baseline 3 applies.
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?
The description gives a specific verb and resource ('Get real-time cryptocurrency prices') plus a named data source ('from Binance'), which is far more informative than a tautology. It doesn't explicitly contrast itself with siblings, but the crypto-price domain is unambiguous against neighbors like convert_currency or prediction_odds.
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 when-to-use guidance, no mention of alternatives (e.g. convert_currency for fiat conversion), and no scope or limitation stated. The agent must infer the tool's place in the catalog entirely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_forecastCInspect
7-day weather forecast for any city
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses one useful trait (the 7-day horizon), but says nothing about units, city-name format or ambiguity handling, geographic coverage, or failure behavior for unknown cities.
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?
A single front-loaded phrase with zero padding; the forecast horizon and input scope come first. It is a fragment rather than a sentence, but nothing is wasted.
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 one-parameter tool with no output schema this is close to adequate, but with no annotations and a directly competing sibling (get_weather), the description should at minimum clarify the return shape and how it differs from current-conditions weather.
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 description coverage is 100% for the single 'city' parameter, so the baseline is 3. The phrase 'any city' loosely signals that free-form city names are accepted, but adds no format or disambiguation detail beyond the schema.
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 resource and scope: '7-day weather forecast for any city' tells the agent exactly what is returned and the forecast horizon. However, it makes no attempt to distinguish itself from the sibling get_weather, so an agent cannot tell which of the two weather tools to pick from the description alone.
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 when-to-use guidance, no mention of the sibling get_weather, and no exclusion criteria. The agent is left to infer that this is the multi-day option while get_weather is presumably current conditions, which is an assumption, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weatherBInspect
Current weather for any city
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City name (e.g. London) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and delivers almost none of it. It does not disclose units (metric/imperial), data source, freshness/latency, rate limits, or error behavior for unknown cities, all of which matter for a live weather lookup.
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?
A single four-word phrase with zero filler and the scope qualifier ('Current') front-loaded. It is efficient, though its extreme terseness sits close to under-specification rather than model conciseness.
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?
The tool is simple (one required param, no nested objects, no output schema), so the description is minimally adequate. However, with no annotations and no output schema, nothing tells the agent what the response looks like or in what units, leaving a real gap.
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 description coverage is 100% and the single 'city' parameter is documented with an example ('London'), so the schema does the heavy lifting. The description only adds 'any city', which conveys no format or disambiguation guidance beyond the schema.
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?
The description gives a specific verb+resource ('get... weather') and narrows scope with 'Current' and 'any city', which implicitly separates it from the sibling get_forecast. It stops short of naming or explicitly contrasting that sibling, so it is clear but not fully differentiated.
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?
Usage is only implied: 'Current' suggests now-conditions rather than a forecast, which is the natural contrast with get_forecast. No explicit when-to-use statement, exclusions, or named alternative is provided, so an agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hash_textCInspect
Generate cryptographic hash of input text (SHA-256, SHA-512, MD5)
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| algorithm | No | SHA-256 (default), SHA-384, SHA-512, SHA-1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It signals one-way/cryptographic behavior implicitly but says nothing about determinism, irreversibility, output encoding (hex vs base64), input size limits, or that weaker algorithms like SHA-1/MD5 are unsuitable for security purposes.
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?
A single front-loaded sentence with zero filler; the supported algorithm hint is parenthetical and easy to scan. Nothing needs trimming.
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 tool with no annotations and no output schema, the description should specify the output format (hex string length, case) and reconcile the algorithm set. Neither is present, and the algorithm mismatch with the schema risks incorrect invocation.
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 only 50%: 'text' is undocumented in both schema and description, and the description's algorithm list ('SHA-256, SHA-512, MD5') directly conflicts with the schema's enum-free list ('SHA-256 (default), SHA-384, SHA-512, SHA-1') — MD5 appears only in the description and SHA-1/SHA-384 only in the schema. An agent cannot tell which algorithms are actually supported, and no default encoding or format guidance is given.
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 resource ('Generate cryptographic hash of input text'), which clearly separates it from sibling transformers like encode_base64, generate_uuid, or check_password_strength. It does not, however, explicitly contrast itself with those siblings, so an agent must infer the one-way vs reversible distinction.
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 statement of when to use this tool versus alternatives such as encode_base64 or check_password_strength, nor any note about when hashing is inappropriate (e.g., for reversible encoding). Usage is only implied by the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loan_calculatorBInspect
Calculate loan payments, total interest, and full schedule
| Name | Required | Description | Default |
|---|---|---|---|
| rate | Yes | Annual interest rate e.g. 5.5 | |
| amount | Yes | ||
| term_months | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It does reveal the computation outputs (payments, total interest, a full schedule), which implies a deterministic, side-effect-free calculation, but it never explicitly states that this is read-only/stateless or that no external data is touched.
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?
A single front-loaded sentence with no filler or repetition. It is appropriately terse, though the brevity comes at the cost of the parameter and usage detail the tool actually needs.
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?
With no output schema, the description usefully names the returned values (payment, total interest, schedule), so an agent knows what it gets back. But with no annotations and two of three parameters undocumented in both schema and description, unit and currency assumptions remain unresolved.
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 description coverage is only 33%: 'rate' is documented as an annual percentage with an example, but 'amount' and 'term_months' have no descriptions in the schema and no clarification in the description. The description does not compensate by stating currency/units for amount or confirming that term_months is in months, leaving a real ambiguity for a 3-required-param tool.
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 (Calculate) plus the concrete outputs (loan payments, total interest, full schedule), which clearly identifies it as a loan amortization tool. It does not, however, distinguish itself from adjacent siblings such as mortgage_calculator or compound_interest, which an agent could plausibly pick instead.
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 statement of when to use this versus mortgage_calculator or compound_interest, no prerequisites, and no exclusions. The agent must infer the usage context entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_listAInspect
VAULT LIST: List all memory keys in your vault. Shows every piece of data you've stored, organized by category. Use this to see everything you've saved across sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional filter (e.g. 'task', 'config', 'prefs') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the listing nature, grouping by category, and session persistence, which gives some useful context. However, it omits the return format (keys vs values), ordering, pagination, and any permission or safety details, leaving significant gaps for a tool without annotation coverage.
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?
The description is front-loaded with the action and uses three short sentences. The second and third sentences overlap slightly ('Shows every piece of data' vs 'see everything you've saved'), which is minor redundancy, but overall it is tight and easy to scan.
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?
Given the low complexity, one optional parameter, full schema coverage, and no output schema, the description covers purpose and usage adequately. It also summarizes the return as organized memory keys by category. It could more fully describe the response format or note limitations, but for a simple list tool it is mostly complete.
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 description coverage is 100%, and the single category parameter is documented with examples like 'task', 'config', and 'prefs' in the schema. The description adds no further semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
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 ('List') and resource ('all memory keys in your vault'), making the action clear. It also scopes the resource to everything stored across sessions. However, it does not explicitly differentiate from the sibling memory_search tool, so an agent might not immediately see why to choose this over searching.
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?
Provides clear context for use: 'Use this to see everything you've saved across sessions.' This tells the agent when the tool is appropriate. It does not name alternatives or exclusions, such as memory_search, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_searchAInspect
VAULT SEARCH: Search across ALL your stored memories by keyword. Finds matches in both memory keys and values. Returns up to 10 results. Unlike agent_memory where you need to know the exact key, this lets you discover what you've stored.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term to find in your stored memories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavior: search scope (all memories), which fields are matched (keys AND values), and a result cap ('up to 10 results'). It omits case sensitivity, substring vs exact matching, and return shape, which keeps it from a 5.
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?
Four short sentences, front-loaded with a clear scope label and ending on the differentiating comparison. Efficient overall, though the 'VAULT SEARCH:' caps label is mild decoration rather than information.
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 one-parameter read-only search with no output schema and no annotations, the description supplies scope, matching behavior, and a result limit. It stops short of describing the shape of each returned result (key only vs key+value), which is the one gap an agent might hit.
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 100% for the single 'query' parameter, so the schema already documents it. The description adds only marginal meaning ('by keyword', matched against keys and values) beyond the schema's own description. Baseline 3 is correct when the schema does the heavy lifting.
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 (Search) and resource (stored memories) with scope ('across ALL your stored memories') and explicitly distinguishes itself from sibling agent_memory by contrasting the discovery model with exact-key lookup. An agent can select it correctly without opening the schema.
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?
Explicitly names agent_memory as the alternative and gives the selecting condition ('where you need to know the exact key... this lets you discover what you've stored'). Clear when-to-use guidance, though it omits the sibling memory_list and does not spell out the inverse case (use agent_memory when the key is known).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mortgage_calculatorCInspect
Calculate monthly mortgage payments and total interest
| Name | Required | Description | Default |
|---|---|---|---|
| rate | Yes | Annual interest rate e.g. 5.5 | |
| years | Yes | Loan term in years | |
| principal | Yes | Loan amount |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states the two outputs but discloses none of the underlying assumptions an agent would need: fixed-rate amortization, whether the rate is nominal APR, rounding behavior, or currency.
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?
A single front-loaded sentence with zero waste. It is appropriately terse, though the terseness is partly a symptom of missing content rather than disciplined economy.
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?
With no output schema, the description usefully names the return values (monthly payment, total interest), which is the minimum an agent needs. It stops short of explaining the calculation assumptions or confirming the output shape, which a no-annotation, no-output-schema tool would benefit from.
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 description coverage is 100%, so the schema already documents principal, rate, and years, including that the rate is annual. The description adds no parameter-level detail (e.g., that rate is a percentage rather than a decimal) beyond what the schema provides.
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 ('Calculate') and resource ('mortgage payments'), and names the two outputs (monthly payment, total interest). However, it does not distinguish itself from the sibling 'loan_calculator' or 'compound_interest', which likely overlap in function.
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?
No guidance on when to use this versus the sibling loan_calculator or compound_interest tools, and no mention of exclusions (e.g., that it ignores taxes, insurance, or PMI). The agent is left to infer the mortgage-specific use case from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_rss_feedCInspect
Parse RSS/Atom feed to JSON
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It reveals only that input is a feed and output is JSON; it says nothing about network behavior, redirect handling, authentication, rate limits, or how malformed/empty feeds are reported.
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 short, front-loaded sentence with no filler; 'Parse RSS/Atom feed to JSON' is the whole contract. It stops just short of being too terse, but the brevity itself leaves gaps that a slightly longer sentence could have closed.
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 one-parameter utility with no output schema and no annotations, the description names the input domain and the output format, which is the minimum viable contract. It remains thin on behavioral and return-shape detail, but the tool's simplicity means the missing context is limited in scope.
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 description coverage is 0% for the single url parameter, so the description must compensate. Saying it parses an 'RSS/Atom feed' implies the url is a feed endpoint rather than an arbitrary page, which adds useful meaning, but it does not clarify accepted formats, scheme requirements, or whether feeds with query parameters are supported.
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?
The description gives a specific verb (Parse), resource (RSS/Atom feed), and output format (JSON), so an agent immediately knows what the tool does. Sibling tools are all distinct utilities, so no intra-family differentiation is needed, but the description also does not explicitly position itself against feed-fetching alternatives like call_api or search_web.
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 when-to-use guidance, no prerequisites, and no mention of alternatives such as call_api for arbitrary HTTP requests. The agent is left to infer that this tool is only for RSS/Atom URLs and must not be used for generic web fetching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
percentage_calculatorBInspect
Calculate percentages — find what % X is of Y
| Name | Required | Description | Default |
|---|---|---|---|
| total | Yes | ||
| value | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no statement that this is a pure, side-effect-free computation, no return format or rounding behavior, and no handling of edge cases such as total=0. The name implies safety but nothing is actually asserted.
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?
A single front-loaded sentence with no waste; the em-dash clause earns its place by disambiguating the direction of the calculation rather than restating 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 two-required-number stateless calculator with no output schema, the description is nearly sufficient — the operation is defined and the operand roles are inferable. It stops short of stating the return value (a number/percentage) or rounding, which is the only real gap.
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 description coverage is 0%, so the description must compensate, and it partially does by mapping the two operands ('X is of Y' implies value as numerator, total as denominator). However, it never names the 'value' and 'total' parameters explicitly, leaving the mapping to inference.
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?
The description gives a specific verb+resource ('Calculate percentages') and pins the exact operation with 'find what % X is of Y', which distinguishes it from sibling calculators like tip_calculator or mortgage_calculator that compute different quantities. It's clear, though it doesn't acknowledge the other common percentage operations (increase/decrease) that an agent might expect.
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?
Usage is only implied: the operation definition tells an agent it's the right tool when it needs one number as a percentage of another, but there is no explicit when-to-use, when-not-to-use, or routing against any sibling. For a narrow single-purpose math utility that is minimally adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_oddsAInspect
Prediction-market odds and implied probability, $0.01. Ask for an event or topic and get the live Polymarket markets that match: each outcome's implied probability and decimal odds, best bid/ask and spread, book liquidity, 24h and 1wk volume, days to resolution, and a deterministic 0-100 edge/attention score with the concrete flags named (wide_spread, thin_liquidity, resolving_within_24h, sharp_move_24h, close_call). Use when you need the market-implied probability of an event - an election, a Fed decision, a match, a price level - rather than a headline opinion. One venue, read live.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Event or topic, in the venue's own wording, e.g. 'Fed rate decision', 'Bitcoin above 150k', 'Super Bowl' | |
| limit | No | Max markets (1-10, default 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does most of it: it discloses the cost ($0.01), the single-venue scope ('One venue'), the read-only live nature ('read live'), and enumerates returned signals (bid/ask, spread, liquidity, volume windows, time-to-resolution, deterministic 0-100 score with named flags). It stops short of stating rate limits, auth requirements, or what happens when no markets match.
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?
Front-loaded with purpose and price in the first clause, then the return payload, then the use case. The middle enumeration of output fields is long and slightly dense, but each item is real signal rather than filler, so only minor trimming is possible.
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?
No output schema exists, so the description correctly spells out the return contents in detail, and it adds cost and venue-scope context. It is nearly complete for a 2-param read tool; the only gaps are failure/empty-result behavior and how limit interacts with ranking.
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 description coverage is 100%, so both q and limit are already fully documented with examples and a default/range. The description adds nothing the schema does not already say about parameters (the 'venue's own wording' hint duplicates the q schema text). Baseline 3 is appropriate.
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 resource (prediction-market odds and implied probability) with a named venue (Polymarket) and the exact output shape. The distinction from sibling prediction_scan is implicit via 'live Polymarket markets that match' versus a scanning tool, and no other sibling deals in market odds at all.
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?
Gives a clear when-to-use trigger: 'when you need the market-implied probability of an event - an election, a Fed decision, a match, a price level - rather than a headline opinion.' The contrast with opinion/headline tools (e.g. search_web) is useful, but no sibling is named as an alternative or exclusion, and no prerequisites or limits-on-use are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_scanAInspect
Live prediction-market board scan, $0.25. Returns the whole active board ranked by 24h volume: every market's implied probabilities, spreads, book depth, 24h/1wk volume, days to resolution and 0-100 edge scores, plus a summary of where the board is least certain - the live close calls (near 50/50), the widest spreads, the sharpest 24h moves, and total board volume. Use to screen prediction markets for mispricing, monitor event risk, or find the events the market itself cannot call. One request, whole board.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Markets returned (1-50, default 20) | |
| min_volume | No | Only markets with at least this much 24h volume (USD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does substantial work: it discloses the $0.25 cost, that one request returns the entire board, the rank ordering by 24h volume, and the specific metrics returned (probabilities, spreads, book depth, volumes, edge scores, and a low-certainty summary). It omits auth requirements and rate limits, which keeps it from a 5.
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?
The description is front-loaded with what it is and its cost, then the return contents, then usage. Every sentence is informative, though the middle sentence is a dense run-on list of fields that could be tightened.
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?
There is no output schema, so the description must (and does) enumerate return fields and the summary behavior in detail. Combined with the cheap, read-only, single-request nature of the tool, an agent has nearly everything needed; only edge details like auth or rate behavior are absent.
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 description coverage is 100%, so the schema already documents 'limit' and 'min_volume' fully. The description says only 'whole board,' which loosely relates to limit filtering but adds no format, default, or range detail beyond the schema; baseline 3 applies.
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?
The description gives a concrete verb and resource ('Live prediction-market board scan') plus scope ('whole active board ranked by 24h volume'), and enumerates the returned data fields. It implicitly separates itself from a single-market odds tool via 'whole board' and 'One request, whole board,' but never names the sibling (prediction_odds) outright, so differentiation is inferred rather than stated.
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?
It supplies clear use cases ('screen prediction markets for mispricing, monitor event risk, or find the events the market itself cannot call'), which tells the agent when this tool is appropriate. It gives no explicit when-not or named alternative, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proofread_textCInspect
Proofread text for grammar, spelling, punctuation, and style issues
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It says nothing about whether the text is modified in place, whether it returns a corrected string or a list of flagged issues, what languages are supported, or how style is judged. Naming the check categories is the only behavioral signal.
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 no filler, and the core action is front-loaded before the list of check categories. Nothing is redundant, though it is arguably too terse for the disclosure gaps noted elsewhere.
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?
With no annotations and no output schema, the description should explain the result shape (corrected text vs. issue list), which it entirely omits. For a text-processing tool that another sibling (text_diff, summarize_text) could plausibly return a transformed string, this ambiguity matters.
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% and the single 'text' parameter is documented only as a bare string. The description does not compensate with any constraints such as length limits, expected language, or whether Markdown/HTML is accepted, leaving the one input under-specified.
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?
The description pairs a specific verb ('Proofread') with a specific resource ('text') and enumerates the checks performed (grammar, spelling, punctuation, style), so the agent knows exactly what the tool does. However, it offers no differentiation from adjacent text tools such as analyze_readability, analyze_sentiment, or summarize_text, which share the same input shape.
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 statement of when to reach for this tool versus the many other text-analysis siblings, and no prerequisites or exclusions are given. The agent must infer usage purely from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_webCInspect
Search the web using DuckDuckGo
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses only the search backend (DuckDuckGo), which is genuinely useful context about result coverage. It says nothing about result count, formatting, rate limits, or whether the call is a safe read, leaving key behavior opaque.
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 short, front-loaded sentence with no filler or redundancy. It is arguably too terse for the information an agent needs, but on pure conciseness it wastes nothing.
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?
No annotations, no output schema, and no parameter documentation mean the description would need to do more work. It never indicates what the tool returns (links, snippets, count, pagination), so the agent must guess at both inputs and outputs for a tool that performs an external network call.
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 description coverage is 0% and the single `query` parameter is documented only by its name. The description adds no syntax, format, or query-construction guidance beyond what the schema already shows, so it fails to compensate for the coverage gap.
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?
The description gives a clear verb+resource ("Search the web") and even names the backend (DuckDuckGo), so an agent can distinguish it from internal-memory siblings like memory_search or affiliate_search. However, it does not explicitly name any sibling as the alternative, so differentiation is implicit rather than stated.
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 when-to-use guidance: nothing says when web search is preferable to memory_search or affiliate_search, nor any condition, prerequisite, or exclusion. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_textCInspect
Summarize long text into concise key points
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and largely fails it: no output format (bullets, paragraph, sentence count), no length or token limits for 'long text', and no statement about whether input is truncated or chunked. Only the very general promise of 'concise key points' is disclosed.
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 short sentence with the verb and output goal front-loaded, so nothing is wasted. It is terse to the point of under-specification rather than bloated, which is a mild negative rather than a structural flaw.
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 single-parameter tool it is barely adequate: no output schema exists and the description never says what the summary looks like or how long it is, which is the key unknown for a summarizer. An agent can call it, but cannot predict or plan around the result.
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?
The single required parameter 'text' has 0% schema description coverage, so the description must compensate and does not — it only restates 'long text'. No expected format, size limit, or language handling is given for the 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?
The description states a specific verb (Summarize) and resource (long text) plus the output form (concise key points), so the agent knows exactly what it does. However, it offers no differentiation from nearby text-processing siblings like analyze_sentiment or proofread_text.
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 when-to-use or when-not-to-use guidance; 'long text' loosely implies an input precondition but nothing tells the agent how this differs from proofread_text, analyze_readability, or generate_headlines. The agent must infer selection entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_diffBInspect
Compare two texts and return line-by-line differences
| Name | Required | Description | Default |
|---|---|---|---|
| text_a | Yes | First text (before) | |
| text_b | Yes | Second text (after) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says the tool returns differences but does not describe output format, case/whitespace handling, safety profile, or any other behavioral trait beyond the core operation.
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?
The description is a single, front-loaded sentence with no redundant or filler content. Every word contributes to stating the operation and return.
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?
The tool is simple and its input schema is fully documented, but there is no output schema, so the description should ideally explain the return structure more than just 'line-by-line differences'. It is minimally adequate but leaves the agent to infer how the differences are represented.
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 description coverage is 100%, so the schema already documents both parameters as first text (before) and second text (after). The description adds no parameter-level meaning beyond what the schema already provides, so the baseline of 3 is appropriate.
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?
The description gives a specific verb ('Compare'), resource ('two texts'), and output nature ('line-by-line differences'). It is clearly distinct from sibling text tools like proofread_text or analyze_readability, though it does not explicitly name any sibling alternative.
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 description states what the tool does but gives no guidance on when to use it versus alternatives, no prerequisites, and no exclusions. An agent must infer that this is the right tool whenever a diff is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tip_calculatorBInspect
Calculate tip amount and split bill between people
| Name | Required | Description | Default |
|---|---|---|---|
| bill | Yes | Total bill | |
| split | No | Number of people (default: 1) | |
| percent | No | Tip percentage (default: 15) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It says nothing about return values (no output schema exists), rounding behavior, or how the split and tip are combined, so an agent cannot predict the result shape.
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?
A single front-loaded sentence with no filler, covering both the tip and split behaviors. It is efficient, though it errs toward brevity rather than richness.
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 3-parameter tool with full schema coverage, the description is adequate to invoke it correctly. Because there is no output schema, it should ideally state what is returned (tip, total, per-person share) but does not.
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 description coverage is 100% and the three parameters are self-documenting with types and defaults, so the schema does the heavy lifting. The description only gestures at the same concepts (tip amount, split) without adding format or constraint detail.
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?
The description states a specific verb (Calculate) and two concrete resources (tip amount, bill split), so the agent knows exactly what the tool produces. It does not, however, differentiate itself from nearby siblings like percentage_calculator or loan_calculator.
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 scenario is implicitly clear from the wording ('tip amount', 'split bill between people'), so an agent can infer when it applies. There is no explicit when-to-use, when-not, or pointer to alternatives such as percentage_calculator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_verdictAInspect
Pre-trade risk verdict on a Base token, $0.01. Give a Base contract address and get: honeypot/transfer-simulation result, buy and sell tax, mint and owner privileges, verified-source status, blacklist and pausable flags, liquidity and holder concentration, scored 0-100 with the explicit red flags named. Aggregated live from honeypot.is, DexScreener, GoPlus and GeckoTerminal. Run it before buying, approving or LP-ing an unknown token.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Base mainnet token contract address (0x + 40 hex chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it names the live sources, the cost ($0.01), the scoring model, and the polling/change_token behavior. It stops short of stating auth needs, rate limits, or latency, but discloses far more than a bare summary.
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?
Front-loaded with the value proposition and cost, followed by deliverables and the call-to-action. It is dense but every clause earns its place by listing return contents an agent needs to interpret the result.
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?
There is no output schema, so the description must describe the return, and it enumerates the fields (simulation result, taxes, privileges, flags, concentration) plus the 0-100 score and named red flags. Nothing an agent needs to invoke or interpret the tool is missing.
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 description coverage is 100%, so both 'address' and the optional 'since' param are already fully documented. The description restates 'give a Base contract address' but adds no syntax or format detail beyond what the schema provides, making the baseline 3 correct.
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, and scope: a pre-trade risk verdict on a Base token contract. The enumerated deliverables (honeypot simulation, taxes, mint/owner privileges, liquidity) make the purpose unmistakable and clearly distinct from any sibling utility tool.
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?
Explicitly says when to run it: 'before buying, approving or LP-ing an unknown token,' which is a clear triggering condition. No alternatives or when-not-to-use are named, but no sibling overlaps this function, so the gap is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_countBInspect
Count words, characters, sentences, paragraphs with stats
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It doesn't disclose the return format, what 'with stats' actually includes (readability? averages?), whether input length is bounded, or any edge-case behavior for empty/unicode text. 'With stats' is too vague to count as real disclosure.
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?
A single compact sentence that front-loads the verb and enumerates the countable units, with no filler. Everything stated earns its place.
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 one-parameter computation with no output schema and no annotations, the description covers the core purpose. However, 'with stats' gestures at additional return values without specifying them, leaving the agent guessing what output to expect.
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% and the single 'text' parameter is undocumented in both the schema and the description. The parameter is trivially inferable as the text to analyze, so this is adequate but adds no meaning beyond the obvious.
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 (count) and enumerates the resources (words, characters, sentences, paragraphs), which cleanly distinguishes it from siblings like analyze_readability or summarize_text. It is clear but doesn't explicitly name a sibling or scope boundary.
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 use this versus analyze_readability, analyze_sentiment, or proofread_text, nor any prerequisite or exclusion. Usage is only implied by the tool name and the listed metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
token_verdict1 field changed- added
Input schema / sinceAdded value: +{ + "description": "Optional: the watch.change_token from a previous token_verdict call. When supplied, the response reports only the fields that moved since that snapshot (changed: [{field, from, to}], unchanged: true/false) plus a fresh change_token - so an agent can poll this as a pre-trade gate without diffing.", + "type": "string" +}
2 tool updates
- Added
prediction_odds - Added
prediction_scan
1 tool update
- Added
token_verdict
80 tool updates
- Added
affiliate_search - Changed
agent_memory11 fields changed- removed
Input schema / properties / action / defaultRemoved value: -"get" - added
Input schema / properties / action / descriptionAdded value: +"get (default), set, delete, search (find by keyword in values), list (show all keys)" - added
Input schema / properties / action / enumAdded value: +[ + "get", + "set", + "delete", + "search", + "list" +] - removed
Input schema / properties / action / titleRemoved value: -"Action" - added
Input schema / properties / key / descriptionAdded value: +"Memory key (e.g. 'conversation_summary', 'user_preferences', 'task_state', 'api_keys')" - removed
Input schema / properties / key / titleRemoved value: -"Key" - removed
Input schema / properties / value / defaultRemoved value: -"" - added
Input schema / properties / value / descriptionAdded value: +"JSON value to store (required for action='set')" - removed
Input schema / properties / value / titleRemoved value: -"Value" - removed
Input schema / titleRemoved value: -"agent_memoryArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "agent_memoryOutput", - "type": "object" -}New value: +null
- Added
agent_profile - Changed
analyze_readability3 fields changed- removed
Input schema / properties / text / titleRemoved value: -"Text" - removed
Input schema / titleRemoved value: -"analyze_readabilityArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "analyze_readabilityOutput", - "type": "object" -}New value: +null
- Added
analyze_sentiment - Removed
analyze_url - Removed
bmr_calc - Added
bmr_calculator - Changed
calculate_bmi7 fields changed- added
Input schema / properties / height / descriptionAdded value: +"Height in cm" - removed
Input schema / properties / height / titleRemoved value: -"Height" - removed
Input schema / properties / unitRemoved value: -{ - "default": "metric", - "title": "Unit", - "type": "string" -} - added
Input schema / properties / weight / descriptionAdded value: +"Weight in kg" - removed
Input schema / properties / weight / titleRemoved value: -"Weight" - removed
Input schema / titleRemoved value: -"calculate_bmiArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "calculate_bmiOutput", - "type": "object" -}New value: +null
- Removed
calculate_date - Added
call_api - Added
calorie_burn - Removed
chat_completion - Added
check_password_strength - Changed
check_ssl_certificate3 fields changed- removed
Input schema / properties / domain / titleRemoved value: -"Domain" - removed
Input schema / titleRemoved value: -"check_ssl_certificateArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "check_ssl_certificateOutput", - "type": "object" -}New value: +null
- Removed
classify - Removed
compare_items - Added
compound_interest - Removed
convert_csv_to_json - Changed
convert_currency12 fields changed- removed
Input schema / properties / amount / defaultRemoved value: -1 - added
Input schema / properties / amount / descriptionAdded value: +"Amount to convert" - removed
Input schema / properties / amount / titleRemoved value: -"Amount" - removed
Input schema / properties / from_ / defaultRemoved value: -"USD" - added
Input schema / properties / from_ / descriptionAdded value: +"Source currency code e.g. USD" - removed
Input schema / properties / from_ / titleRemoved value: -"From" - removed
Input schema / properties / to / defaultRemoved value: -"GBP" - added
Input schema / properties / to / descriptionAdded value: +"Target currency code e.g. EUR" - removed
Input schema / properties / to / titleRemoved value: -"To" - added
Input schema / requiredAdded value: +[ + "from_", + "to", + "amount" +] - removed
Input schema / titleRemoved value: -"convert_currencyArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "convert_currencyOutput", - "type": "object" -}New value: +null
- Removed
convert_json_to_csv - Added
convert_number_base - Changed
convert_timestamp8 fields changed- removed
Input schema / properties / format / defaultRemoved value: -"iso" - added
Input schema / properties / format / descriptionAdded value: +"iso (default), unix, rfc2822" - removed
Input schema / properties / format / titleRemoved value: -"Format" - added
Input schema / properties / value / descriptionAdded value: +"Unix timestamp or date string" - removed
Input schema / properties / value / titleRemoved value: -"Value" - removed
Input schema / requiredRemoved value: -[ - "value" -] - removed
Input schema / titleRemoved value: -"convert_timestampArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "convert_timestampOutput", - "type": "object" -}New value: +null
- Changed
convert_timezone11 fields changed- removed
Input schema / properties / from_tz / defaultRemoved value: -"UTC" - added
Input schema / properties / from_tz / descriptionAdded value: +"Source timezone e.g. UTC" - removed
Input schema / properties / from_tz / titleRemoved value: -"From Tz" - removed
Input schema / properties / timestamp / defaultRemoved value: -"" - added
Input schema / properties / timestamp / descriptionAdded value: +"ISO date string (default: now)" - removed
Input schema / properties / timestamp / titleRemoved value: -"Timestamp" - removed
Input schema / properties / to_tz / defaultRemoved value: -"UTC" - added
Input schema / properties / to_tz / descriptionAdded value: +"Target timezone e.g. EST" - removed
Input schema / properties / to_tz / titleRemoved value: -"To Tz" - removed
Input schema / titleRemoved value: -"convert_timezoneArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "convert_timezoneOutput", - "type": "object" -}New value: +null
- Added
convert_units - Changed
decode_jwt3 fields changed- removed
Input schema / properties / token / titleRemoved value: -"Token" - removed
Input schema / titleRemoved value: -"decode_jwtArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "decode_jwtOutput", - "type": "object" -}New value: +null
- Changed
detect_language3 fields changed- removed
Input schema / properties / text / titleRemoved value: -"Text" - removed
Input schema / titleRemoved value: -"detect_languageArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "detect_languageOutput", - "type": "object" -}New value: +null
- Changed
dns_lookup4 fields changed- added
Input schema / properties / domain / descriptionAdded value: +"e.g. example.com" - removed
Input schema / properties / domain / titleRemoved value: -"Domain" - removed
Input schema / titleRemoved value: -"dns_lookupArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "dns_lookupOutput", - "type": "object" -}New value: +null
- Added
encode_base64 - Added
evaluate_math - Removed
extract_contacts - Added
generate_headlines - Changed
generate_password14 fields changed- removed
Input schema / properties / count / defaultRemoved value: -1 - added
Input schema / properties / count / descriptionAdded value: +"Number of passwords (default: 1)" - removed
Input schema / properties / count / titleRemoved value: -"Count" - removed
Input schema / properties / length / defaultRemoved value: -16 - added
Input schema / properties / length / descriptionAdded value: +"Password length (default: 16)" - removed
Input schema / properties / length / titleRemoved value: -"Length" - removed
Input schema / properties / lowercaseRemoved value: -{ - "default": true, - "title": "Lowercase", - "type": "boolean" -} - removed
Input schema / properties / numbers / defaultRemoved value: -true - removed
Input schema / properties / numbers / titleRemoved value: -"Numbers" - removed
Input schema / properties / symbols / defaultRemoved value: -true - removed
Input schema / properties / symbols / titleRemoved value: -"Symbols" - removed
Input schema / properties / uppercaseRemoved value: -{ - "default": true, - "title": "Uppercase", - "type": "boolean" -} - removed
Input schema / titleRemoved value: -"generate_passwordArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "generate_passwordOutput", - "type": "object" -}New value: +null
- Changed
generate_qr_code12 fields changed- removed
Input schema / properties / bgcolorRemoved value: -{ - "default": "FFFFFF", - "title": "Bgcolor", - "type": "string" -} - removed
Input schema / properties / colorRemoved value: -{ - "default": "000000", - "title": "Color", - "type": "string" -} - removed
Input schema / properties / eccRemoved value: -{ - "default": "M", - "title": "Ecc", - "type": "string" -} - removed
Input schema / properties / formatRemoved value: -{ - "default": "png", - "title": "Format", - "type": "string" -} - removed
Input schema / properties / marginRemoved value: -{ - "default": 4, - "title": "Margin", - "type": "integer" -} - removed
Input schema / properties / size / defaultRemoved value: -300 - added
Input schema / properties / size / descriptionAdded value: +"Size in pixels (default: 300)" - removed
Input schema / properties / size / titleRemoved value: -"Size" - added
Input schema / properties / text / descriptionAdded value: +"Text or URL to encode" - removed
Input schema / properties / text / titleRemoved value: -"Text" - removed
Input schema / titleRemoved value: -"generate_qr_codeArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "generate_qr_codeOutput", - "type": "object" -}New value: +null
- Changed
generate_seo_metadata6 fields changed- removed
Input schema / properties / topic / defaultRemoved value: -"" - added
Input schema / properties / topic / descriptionAdded value: +"Topic or keyword" - removed
Input schema / properties / topic / titleRemoved value: -"Topic" - removed
Input schema / properties / urlRemoved value: -{ - "default": "", - "title": "Url", - "type": "string" -} - removed
Input schema / titleRemoved value: -"generate_seo_metadataArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "generate_seo_metadataOutput", - "type": "object" -}New value: +null
- Changed
generate_uuid6 fields changed- removed
Input schema / properties / count / defaultRemoved value: -1 - added
Input schema / properties / count / descriptionAdded value: +"Number of UUIDs (default: 1)" - removed
Input schema / properties / count / titleRemoved value: -"Count" - removed
Input schema / properties / formatRemoved value: -{ - "default": "standard", - "title": "Format", - "type": "string" -} - removed
Input schema / titleRemoved value: -"generate_uuidArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "generate_uuidOutput", - "type": "object" -}New value: +null
- Changed
geocode4 fields changed- added
Input schema / properties / query / descriptionAdded value: +"Address or place name" - removed
Input schema / properties / query / titleRemoved value: -"Query" - removed
Input schema / titleRemoved value: -"geocodeArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "geocodeOutput", - "type": "object" -}New value: +null
- Changed
geolocate_ip5 fields changed- removed
Input schema / properties / ip_address / defaultRemoved value: -"" - added
Input schema / properties / ip_address / descriptionAdded value: +"IP address (optional, defaults to requester IP)" - removed
Input schema / properties / ip_address / titleRemoved value: -"Ip Address" - removed
Input schema / titleRemoved value: -"geolocate_ipArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "geolocate_ipOutput", - "type": "object" -}New value: +null
- Changed
get_air_quality4 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City name" - removed
Input schema / properties / city / titleRemoved value: -"City" - removed
Input schema / titleRemoved value: -"get_air_qualityArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "get_air_qualityOutput", - "type": "object" -}New value: +null
- Changed
get_crypto_prices5 fields changed- removed
Input schema / properties / symbol / defaultRemoved value: -"bitcoin,ethereum" - added
Input schema / properties / symbol / descriptionAdded value: +"e.g. bitcoin, ethereum, solana (comma-separated)" - removed
Input schema / properties / symbol / titleRemoved value: -"Symbol" - removed
Input schema / titleRemoved value: -"get_crypto_pricesArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "get_crypto_pricesOutput", - "type": "object" -}New value: +null
- Changed
get_forecast4 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City name" - removed
Input schema / properties / city / titleRemoved value: -"City" - removed
Input schema / titleRemoved value: -"get_forecastArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "get_forecastOutput", - "type": "object" -}New value: +null
- Removed
get_og_metadata - Changed
get_weather4 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City name (e.g. London)" - removed
Input schema / properties / city / titleRemoved value: -"City" - removed
Input schema / titleRemoved value: -"get_weatherArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "get_weatherOutput", - "type": "object" -}New value: +null
- Removed
grammar - Changed
hash_text7 fields changed- removed
Input schema / properties / algorithm / defaultRemoved value: -"sha256" - added
Input schema / properties / algorithm / descriptionAdded value: +"SHA-256 (default), SHA-384, SHA-512, SHA-1" - removed
Input schema / properties / algorithm / titleRemoved value: -"Algorithm" - removed
Input schema / properties / encodingRemoved value: -{ - "default": "hex", - "title": "Encoding", - "type": "string" -} - removed
Input schema / properties / text / titleRemoved value: -"Text" - removed
Input schema / titleRemoved value: -"hash_textArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "hash_textOutput", - "type": "object" -}New value: +null
- Removed
heart_rate_zones - Removed
keywords - Removed
list_countries - Removed
list_currencies - Removed
list_languages - Added
loan_calculator - Added
memory_list - Added
memory_search - Changed
mortgage_calculator8 fields changed- added
Input schema / properties / principal / descriptionAdded value: +"Loan amount" - removed
Input schema / properties / principal / titleRemoved value: -"Principal" - added
Input schema / properties / rate / descriptionAdded value: +"Annual interest rate e.g. 5.5" - removed
Input schema / properties / rate / titleRemoved value: -"Rate" - added
Input schema / properties / years / descriptionAdded value: +"Loan term in years" - removed
Input schema / properties / years / titleRemoved value: -"Years" - removed
Input schema / titleRemoved value: -"mortgage_calculatorArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "mortgage_calculatorOutput", - "type": "object" -}New value: +null
- Removed
paraphrase - Changed
parse_rss_feed3 fields changed- removed
Input schema / properties / url / titleRemoved value: -"Url" - removed
Input schema / titleRemoved value: -"parse_rss_feedArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "parse_rss_feedOutput", - "type": "object" -}New value: +null
- Added
percentage_calculator - Removed
process_json - Added
proofread_text - Removed
research_topic - Removed
reverse_geocode - Removed
rewrite_content - Added
search_web - Removed
summarize - Added
summarize_text - Added
text_diff - Added
tip_calculator - Removed
translate - Removed
url_encode_decode - Removed
validate_iban - Removed
validate_vat - Removed
verify_email - Removed
wallet_balance - Removed
wallet_buy - Removed
wallet_create - Changed
word_count3 fields changed- removed
Input schema / properties / text / titleRemoved value: -"Text" - removed
Input schema / titleRemoved value: -"word_countArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "word_countOutput", - "type": "object" -}New value: +null
- Removed
x402_payment_request - Removed
x402_pricing - Removed
x402_verify_payment - Removed
x402_wallet_info
58 tool updates
- First observed
agent_memory - First observed
analyze_readability - First observed
analyze_url - First observed
bmr_calc - First observed
calculate_bmi - First observed
calculate_date - First observed
chat_completion - First observed
check_ssl_certificate - First observed
classify - First observed
compare_items - First observed
convert_csv_to_json - First observed
convert_currency - First observed
convert_json_to_csv - First observed
convert_timestamp - First observed
convert_timezone - First observed
decode_jwt - First observed
detect_language - First observed
dns_lookup - First observed
extract_contacts - First observed
generate_password - First observed
generate_qr_code - First observed
generate_seo_metadata - First observed
generate_uuid - First observed
geocode - First observed
geolocate_ip - First observed
get_air_quality - First observed
get_crypto_prices - First observed
get_forecast - First observed
get_og_metadata - First observed
get_weather - First observed
grammar - First observed
hash_text - First observed
heart_rate_zones - First observed
keywords - First observed
list_countries - First observed
list_currencies - First observed
list_languages - First observed
mortgage_calculator - First observed
paraphrase - First observed
parse_rss_feed - First observed
process_json - First observed
research_topic - First observed
reverse_geocode - First observed
rewrite_content - First observed
summarize - First observed
translate - First observed
url_encode_decode - First observed
validate_iban - First observed
validate_vat - First observed
verify_email - First observed
wallet_balance - First observed
wallet_buy - First observed
wallet_create - First observed
word_count - First observed
x402_payment_request - First observed
x402_pricing - First observed
x402_verify_payment - First observed
x402_wallet_info
Related MCP Connectors
49 MCP tools free (rate-limited) + x402 pay-per-call on Base. Flagship: Token Verdict, $0.02.
113 MCP tools: oracle, escrow, compliance, remittance, AI. 12 free tools, PAYG $0.001/call.
x402 pay-per-call: 146 MCP tools, no account or key. USDC on Base + Solana, $0.001-$0.01/call.
Pay-per-call MCP tools for agents: 20 free calls a day, then pay per call with x402 (USDC on Base mainnet) or a prepaid spend key. 30 tools — text/data utilities, x402/EVM-native tools (decode an x402 challenge, verify a settlement receipt on-chain, EIP-712 hashing, ABI encode/decode, Merkle-proof verify, keccak256, EIP-55 address checks) and independent providers' tools priced from $0.001. Signed delivery receipts. No sign-up.
Related MCP Servers
AlicenseAqualityDmaintenanceMarketplace MCP for paid HTTP APIs. Pay per call in USDC on Base via the open x402 standard — non-custodial. 13 tools for discovery, buying, and publishing APIs.738 npm2MIT- FlicenseNot gradedqualityCmaintenance250+ AI-powered MCP tools: research, write, code, translate, scrape, sentiment, vision, RAG, agent memory, marketplace, trading signals, and more. 15 models across 7 providers. Pay-per-use via API key or x402 USDC micropayments.2-
- AlicenseNot gradedqualityDmaintenanceCrypto intelligence MCP: 104 tools for market data, ML signals, on-chain analytics, derivatives, and Bittensor subnets. Pay-per-call via x402 USDC on Base/Solana/Algorand/Stellar or $9.99/mo API key.MIT
- AlicenseBqualityCmaintenancePay-per-call MCP and x402 v2 server on Base USDC providing 19 keyless tools for AI agents: web extraction, social and academic search, B2B lead and domain intelligence, npm/PyPI package and smart-contract security audits, OFAC compliance screening, and DeFi swap quotes523MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.