clear-line-ops
Server Details
150+ hosted tools: describe-to-build CAD, scan-to-CAD, architecture studio, web research, media.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- mfarrell628/clear-line-ops-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 127 tools
With 127 tools spanning media, web scraping, CAD, crypto, security, hubs, games and more, many tools have overlapping or easily confused purposes (e.g. extract_content, scrape_page, extract_data, extract_links; convert_media, compress_media, trim_media; site_audit vs security_headers). Descriptions are detailed, but the sheer number of adjacent tools makes misselection likely for an agent trying to pick the right one.
All names use snake_case, which is readable and consistent at the casing level. However, the verb/noun pattern is mixed: some are verb_noun (add_captions, convert_media), some are noun_noun (crypto_coin, hub_apps), and others use domain prefixes without a predictable action structure. It is still mostly understandable but not a single predictable convention.
127 tools is an extreme mismatch for any coherent server purpose. Even if the intent is an all-in-one operations toolkit, this scale guarantees discovery, selection and maintenance problems, making it difficult for an agent to use the set reliably.
The surface is very broad and covers many domains (media processing, web scraping, CAD, crypto, security, site building, hubs, utilities), so obvious major categories are present. However, many areas are shallow or one-off rather than full lifecycle coverage, and no single domain appears complete end-to-end, leaving notable gaps for most workflows.
Available Tools
127 toolsab_test_calcA/B test significance and sample sizeAInspect
Compare two ad or page variants for statistical significance (two-proportion z-test), or calculate how many visitors per variant you need to detect a given lift. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| a_visitors | No | ||
| b_visitors | No | ||
| a_conversions | No | ||
| b_conversions | No | ||
| minimum_lift_percent | No | For sample size: smallest relative lift to detect | |
| baseline_rate_percent | No | For sample size: current conversion rate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it usefully discloses the cost ('1 credit per call') and the statistical method, which are real behavioral facts. However, it says nothing about validation behavior, error handling, or what a valid call looks like given that zero parameters are required.
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 tight sentences, front-loaded with the primary capability and closing with the cost. Nothing is padded or redundant.
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 6-parameter, zero-required-parameter statistical tool with no output schema and no annotations, the description leaves critical gaps: it never explains which parameter combination triggers the significance test vs the sample-size calculation, so an agent could easily make a nonsensical 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 only 33%: a_visitors, b_visitors, a_conversions, and b_conversions have no descriptions in either the schema or the description. The text hints at 'visitors per variant' and 'a given lift', but does not explain the conversion counts or how the two modes map onto the six parameters.
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 names two specific capabilities with the underlying method ('two-proportion z-test') for comparing ad or page variants, and sample-size calculation for a target lift. No sibling tool overlaps this statistical domain, so an agent can identify it instantly.
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 implies two usage modes ('compare two variants' vs 'calculate how many visitors...') but never states which parameters select which mode, nor any prerequisites or exclusions. Usage is inferable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ad_copy_checkCheck ad copy against platform limitsAInspect
Check headlines, descriptions and body text against character limits for Google Search (RSA), Meta, X, LinkedIn, TikTok and Microsoft Ads, and flag common policy problems (ALL CAPS, repeated punctuation, excessive emoji, unsupported claims). Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | ||
| headlines | No | ||
| descriptions | 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. It usefully discloses the cost (1 credit per call) and enumerates the policy checks performed, but says nothing about the result shape, whether it is read-only, or what happens when limits are exceeded.
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 covering platforms, checks, and cost with almost no waste. The stray 'body text' mention is minor noise but does not bloat the description.
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 check tool with no annotations and no output schema, the description should say what the result looks like (pass/fail, flagged issues per field) and clarify whether all three text types are inputs. What it provides is adequate but leaves the agent guessing about 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 coverage is 0%, so the description must compensate. It does name the supported platforms (mapping to the enum) and identifies headlines and descriptions as the checked fields, but it omits per-field character limits, the maxItems caps, and even references 'body text' which is not an actual parameter.
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 (headlines, descriptions, body text) plus the full scope: character limits across six named platforms and policy problems. An agent can tell this apart from siblings like ad_metrics or keyword_formatter 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?
Usage is implied (validate ad copy before publishing) and the credit cost gives a budgeting cue, but there is no explicit when-to-use, when-not-to-use, or named alternative. Nothing routes the agent away from this tool when it is the wrong choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_background_musicAdd background musicAInspect
Lay a music track under a video or voice recording. Ducking lowers the music automatically whenever someone is speaking. The music loops to fit and fades out at the end. Cost: 1 credit per minute of main file. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Main video or audio: public http(s) link | |
| format | No | Defaults to mp4 for video, mp3 for audio | |
| ducking | No | Lower the music while the main audio has speech | |
| music_url | Yes | Music track: public http(s) link | |
| music_volume_db | No | Music level in dB. Lower is quieter | |
| fade_out_seconds | No |
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 richly: it discloses automatic ducking, looping to fit, end fade-out, credit cost (1 per minute of main file), job_id polling via get_job for long jobs, and a 1-hour link expiry. These are exactly the behavioral traits an agent cannot get from structured fields.
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, purpose front-loaded, then behavior, cost, and job/expiry handling in that order. Each sentence delivers distinct, necessary information with no 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?
Despite six parameters and no output schema, the description supplies everything needed to invoke and follow up correctly: cost model, async job_id path with get_job, and result-link lifetime. Nothing material 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 already 83% (a 3 baseline), but the description adds effect-level semantics not in the schema: what ducking actually does to the music while speech is present and that the track loops and fades. It does not touch music_volume_db, so it is not a full 5.
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 ('lay a music track under a video or voice recording') with the effect it produces, so the operation is unambiguous. However, it never distinguishes itself from media siblings like merge_media or process_audio, which the rubric reserves for 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?
Usage is only implied from 'under a video or voice recording'; the description gives no explicit when-to-use, when-not-to-use, or named alternative among the many media tools. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_captionsBurn captions into a videoAInspect
Add subtitles to a video, permanently shown on screen. Captions are written automatically from the speech, or you can supply your own in SRT format. Style, size and position are adjustable. Cost: 3 credits per minute with automatic captions, 1 with your own SRT. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| srt | No | Your own captions in SRT format. Skips speech recognition | |
| url | Yes | Video: public http(s) link | |
| color | No | Text colour | #ffffff |
| language | No | Spoken language in English, e.g. spanish. Leave empty to detect it | |
| position | No | bottom | |
| font_size | No | ||
| translate_to_english | No | Translate the speech into English |
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 well: it discloses permanent burning (destructive to the source framing), credit cost per minute for both modes, asynchronous job behavior with job_id + get_job polling, and 1-hour result-link expiry. It omits auth/permission requirements and what happens to the original video.
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?
Five tight sentences, front-loaded with the core action, then modes, then cost, then async/expiry behavior. No filler; every sentence conveys actionable 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 7-param media job with no output schema and no annotations, the description covers cost, async polling and link expiry, which are the main things an agent needs. It stops short of describing the returned artifact or permission needs, but is close to 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 71% and the schema already documents srt, language, color, position and font_size. The description adds only a loose mapping ('style, size and position are adjustable') that largely restates what the schema already conveys, so it adds marginal value.
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 (add/burn) and resource (subtitles/captions into a video) with the key qualifier 'permanently shown on screen'. This clearly distinguishes it from siblings like subtitle_convert (format conversion) and transcribe_media (transcript output).
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?
Explains the two operating modes (auto from speech vs. supply your own SRT) and gives the cost implication of each, plus routing to get_job for polling. However it never explicitly says when to pick this over alternatives like subtitle_convert or edit_video, so there is no when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_watermarkAdd logo or text watermarkAInspect
Put a logo image and/or a line of text on a video, with position, size and opacity controls. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video: public http(s) link | |
| text | No | Text to show. Leave empty to use only a logo | |
| color | No | Text colour | #ffffff |
| margin | No | Distance from the edge in pixels | |
| opacity | No | ||
| quality | No | Quality. Lower quality gives smaller files | medium |
| position | No | bottom_right | |
| font_size | No | ||
| watermark_url | No | Logo image (PNG, JPEG or WebP): public http(s) link | |
| logo_width_percent | No | Logo width as a percent of the video width |
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 well: it discloses cost (1 credit per minute), asynchronous execution with a job_id, the polling tool, and that result links expire in 1 hour. It does not mention auth requirements or what happens if both text and watermark_url are omitted, which keeps it short of 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 what the tool does, followed by cost, async handling, and link expiry. Every sentence earns its place with no redundancy.
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 10-parameter media-mutation tool with no annotations and no output schema, the description covers cost, async behavior, retrieval path, and result longevity. It leaves unstated the edge case of supplying neither text nor watermark_url, a minor gap in an otherwise complete definition.
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 70% and the schema documents most parameters with descriptions, defaults, and ranges. The description only alludes to position/size/opacity at a high level and adds no 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 and resource ('Put a logo image and/or a line of text on a video') and enumerates the controllable dimensions (position, size, opacity). This is clearly distinguishable from siblings like add_captions, edit_video, or video_color_grade without opening any 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?
The description explains operational flow (long jobs return a job_id, poll with get_job) but never says when to choose this tool over alternatives such as edit_video or add_captions. Usage is implied by the resource rather than explicitly scoped.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ad_metricsAd performance calculatorAInspect
Work out CTR, CPC, CPM, conversion rate, CPA, ROAS, ROI and break-even from any mix of spend, impressions, clicks, conversions and revenue. Also projects results for a new budget. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| spend | No | ||
| clicks | No | ||
| revenue | No | ||
| new_budget | No | Project results at this spend, assuming the same efficiency | |
| conversions | No | ||
| impressions | No | ||
| profit_margin_percent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses a cost constraint (1 credit per call) and the computed outputs, but says nothing about statelessness, behavior when no inputs are supplied (all 7 params are optional), or error handling. The credit disclosure is genuine added value beyond structured fields.
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 tight sentences, front-loaded with the core compute capability and followed by the projection feature and cost. No filler; every clause carries 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 7-parameter calculator with no output schema and no annotations, the description covers the output metric set and the projection behavior well. Remaining gaps are the unmentioned profit_margin_percent input and the all-optional-input edge case, which are modest given the tool's simple deterministic nature.
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 14% (only new_budget is documented), so the description must compensate. It names five of the seven inputs and conveys an important semantic the schema cannot express ('any mix' — all params optional and combinable), but it never mentions profit_margin_percent or which input combinations yield which metrics.
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 computation verb and enumerates the exact metric set (CTR, CPC, CPM, conversion rate, CPA, ROAS, ROI, break-even), plus the projection capability. This clearly separates it from sibling calculators like ab_test_calc or tempo_calculator without needing 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?
The description implies usage by listing accepted inputs ('from any mix of spend, impressions, clicks, conversions and revenue') and the projection feature, but gives no explicit when-to-use, when-not-to-use, or alternative-tool routing. Usage must be inferred from the metric list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amortization_scheduleLoan amortization scheduleBInspect
Calculate a loan's monthly payment and full amortization schedule, with optional extra monthly payments to show interest saved and the new payoff date. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | ||
| principal | Yes | ||
| extra_monthly | No | ||
| annual_rate_percent | 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 usefully discloses a per-call cost (1 credit) and the effect of extra payments, but omits return format, validation behavior, and idempotency. Cost is valuable but not complete behavioral transparency.
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 sentences, front-loaded with the core purpose, then optional feature, then cost. Every element earns its place with zero waste.
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 calculator with no output schema, the description should describe return values and parameter details. It only vaguely mentions 'full amortization schedule' and leaves parameter semantics unexplained, though the cost note helps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters. It only implies that extra_monthly affects interest saved and payoff date, but gives no meaning for principal, annual_rate_percent, or years (units, constraints, or expected formats).
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 ('loan's monthly payment and full amortization schedule'), and includes the optional extra payment feature. No direct sibling tool competes, so 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 when-to-use guidance or alternatives are provided. The description only says what it does and its cost, leaving the agent to infer that it should be used for any loan amortization request without any exclusion or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_mediaFind silences, scenes, loudnessAInspect
Analyse a file and report where the silences are (to cut dead air), where the scene changes are (to chapter or clip a video), and how loud it is in LUFS. Cost: 1 credit per minute of media. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Source file: public http(s) link | |
| analyses | No | ||
| scene_threshold | No | Lower finds more scene changes | |
| min_silence_seconds | No | ||
| silence_threshold_db | No |
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 discloses per-minute cost (1 credit/min), async behavior via job_id, the get_job polling path, and a 1-hour link expiry. These are exactly the non-obvious traits an agent needs before invoking.
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 tight sentences, front-loaded with purpose before cost and job handling. Every sentence adds distinct information with no filler.
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?
Since there is no output schema, the description usefully sketches the return shape (silence/scene locations, LUFS loudness) and the job lifecycle. It is nearly complete, missing only guidance on the threshold parameters that shape the results.
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 40%, so the description should compensate, and it partially does by clarifying the LUFS unit and the three analysis types mapping to the 'analyses' param. It says nothing about min_silence_seconds or silence_threshold_db, leaving half the parameters undocumented in both places.
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 ('Analyse a file') and enumerates the three concrete outputs (silence locations, scene changes, loudness in LUFS). This clearly distinguishes it from siblings like get_media_info (metadata only) and transcribe_media (transcription).
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 intent context ('to cut dead air', 'to chapter or clip a video') and explicitly routes the agent to get_job for polling long jobs. However, it never states when to prefer this over adjacent tools like get_media_info, so the when-not side is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_frontendGenerate a stylish app frontendAInspect
Build a polished, responsive front end for an app and host it instantly. Layouts: 'dashboard' (sidebar, animated KPI cards, live chart, searchable sortable table), 'crud' (a full create/edit/delete data manager for any record type with modal forms), 'chat' (an AI-chat style interface with typing indicator). Themes: glass (frosted, gradient), neon (terminal glow), paper (warm editorial), brutal (bold neo-brutalist). Includes dark/light mode, mobile drawer navigation and accessible controls. Runs on sample data out of the box and connects to your real API with api_base_url (crud: GET/POST/PUT/DELETE on /), data_url (dashboard JSON) or chat_endpoint (POST {message, history} returns {reply}). Output is plain HTML/CSS/JS you can edit with site_files. Pages run sandboxed, so settings are kept in memory only. Cost: 2 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| chat | No | ||
| crud | No | ||
| name | Yes | App name | |
| theme | No | glass | |
| accent | No | #6366f1 | |
| layout | No | dashboard | |
| publish | No | ||
| site_id | No | Overwrite the front end of an existing site | |
| data_url | No | dashboard: URL returning {kpis, chart, table} | |
| dashboard | No | ||
| nav_items | No | Sidebar links. The first one shows the app; others are placeholder pages to wire up later | |
| api_base_url | No | crud: base URL of your REST API | |
| default_mode | No | auto | |
| chat_endpoint | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers real behavioral detail: output is plain editable HTML/CSS/JS, pages run sandboxed with settings kept in memory only, runs on sample data out of the box, and cost is 2 credits per call. It stops short of documenting permissions, persistence, or return/publish side effects.
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 dense paragraph that is front-loaded with the core action and hosting outcome, then layers layouts, themes, features, and integration details. It is information-rich for such a complex tool, though mildly run-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?
For a 14-param, nested-object tool with no annotations and no output schema, the description covers purpose, layout/theme options, API wiring, output format, sandbox limitations, and cost. It is nearly complete for correct invocation, with the main gap being semantics for the less-prominent configuration parameters and no clear routing away from siblings.
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 low (36%) across 14 parameters, so the description must compensate. It explains the meaning of the key integration params (api_base_url, data_url, chat_endpoint) and their expected payloads, but leaves accent, nav_items, publish, site_id, default_mode, and the nested dashboard/crud/chat objects to the bare 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 and resource – 'Build a polished, responsive front end for an app and host it instantly' – and enumerates the three layouts and four themes it produces. An agent can distinguish it from adjacent siblings like site_create or site_deploy, which do not generate themed app UIs.
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 context: layout-specific wiring (crud via api_base_url, dashboard via data_url, chat via chat_endpoint) and names site_files for editing the output. It also flags cost and sandboxed hosting. However it never explicitly states when to prefer this over site_create/site_deploy, so no true exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arch_designDesign a building from a descriptionAInspect
Describe a building in plain language ('two storey house, 3 bedrooms, 2 baths, open kitchen, about 180 m2'; also offices, schools, shops). Generates a laid-out floor plan per storey (DXF/SVG for AutoCAD), a 3D model (STL + interactive viewer), room schedule, rough energy and budget numbers, and a step-by-step build guide. Give budget_usd to size the building to a budget (live material prices), or layout (plan.json exported from the studio) to rebuild an edited design. The result page has a first-person walk-inside-and-design-live studio with a bill of materials and cost that tracks market prices, plus DXF, STL, IFC (BIM for Revit/ArchiCAD) and CSV downloads. Optional: floors, floor_height_m, width_m, depth_m, roof (gable|flat), structure (wood|steel|concrete), rooms {bedroom:3,...}, target_area_m2. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| roof | No | ||
| brief | No | Plain-language description. Optional if layout is given. | |
| rooms | No | ||
| title | No | ||
| floors | No | ||
| layout | No | ||
| region | No | ||
| depth_m | No | ||
| width_m | No | ||
| site_lat | No | ||
| site_lon | No | ||
| structure | No | wood | |
| budget_usd | No | ||
| floor_height_m | No | ||
| target_area_m2 | No |
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 well: it discloses the artifacts produced, the interactive studio, live material pricing, downloadable formats, and an explicit cost ('1 credit per call'). It omits persistence/latency or limits on regenerating, so it is strong but not exhaustive.
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 what it does and what it returns, then optionals, then the cost note. Dense but every clause maps to a real capability or parameter; the output-format enumeration (IFC/CSV/DXF/STL) is slightly listy but still earns its place as an integration signal.
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 and 15 params with one nested object, so the description must do heavy lifting; it covers the return artifacts, cost, and the high-value inputs well. The gap is the unexplained region/site_lat/site_lon/title params and no statement on error or fallback behavior, so an agent could still call it correctly but not optimally.
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 7% (just brief), so the description must compensate and does for most inputs: it explains budget_usd semantics (live material prices), layout provenance (plan.json from the studio), rooms syntax ({bedroom:3,...}), roof enum values, structure enum values, and area/floor/height params. It leaves title, region, site_lat, and site_lon unexplained, so it falls short of fully covering 15 params.
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 concrete verb+resource ('describe a building... generates a laid-out floor plan per storey, 3D model, room schedule, energy/budget numbers, build guide'). The specific artifact list (DXF/SVG, STL, IFC, CSV) clearly separates it from siblings like arch_review or cad_build without opening any 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 routes between two modes: give budget_usd to size to a budget, or layout (plan.json exported from the studio) to rebuild an edited design. This is clear 'when-to-use-which-input' guidance, but it never names when to prefer arch_design over adjacent siblings like arch_review or cad_* tools, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arch_reviewStress-test an existing building designAInspect
Screen an existing project for weaknesses and improvements. Provide whatever you have: beams [{name, span_m, width_mm, depth_mm, material (timber|steel|concrete|lvl), tributary_width_m}], columns [{name, load_kn, width_mm, depth_mm, height_m, material}], rooms [{name, area_m2, windows_m2, egress_window, ventilation, occupants}], floors, floor_height_m, exits, corridor_width_m, stair_width_m, ceiling_height_m, structure, sprinklers, r_value, seismic_zone/wind_zone ('high'), bracing, soft_storey, dead_load_kpa, live_load_kpa, and optionally dxf (text of a DXF plan). Returns a score, prioritised findings with fixes (bending, deflection, buckling, daylight, egress, fire, energy, lateral loads) and improvement ideas. Screening only, not a stamped engineering check. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| dxf | No | ||
| beams | No | ||
| exits | No | ||
| rooms | No | ||
| floors | No | ||
| bracing | No | ||
| columns | No | ||
| r_value | No | ||
| structure | No | ||
| wind_zone | No | ||
| sprinklers | No | ||
| shear_walls | No | ||
| soft_storey | No | ||
| aspect_ratio | No | ||
| seismic_zone | No | ||
| dead_load_kpa | No | ||
| live_load_kpa | No | ||
| stair_width_m | No | ||
| floor_height_m | No | ||
| ceiling_height_m | No | ||
| corridor_width_m | No |
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 well: it discloses the return shape (score, prioritised findings with fixes, improvement ideas), the screening-not-certified limitation, and a per-call cost of 1 credit. It does not state runtime or failure behavior, but coverage of the key behavioral traits is strong.
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-loads the purpose, then packs the input list densely, and closes with return description, disclaimer, and cost. The parameter enumeration is a long run-on block, but every clause carries information given the 21-parameter 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?
For a 21-param, no-annotation, no-output-schema compute tool, the description supplies purpose, input semantics, return contents, scope limitation, and cost. Only gaps are the two undocumented fields and absent guidance on partial-input behavior nuances.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does: it enumerates and explains nearly all 21 inputs with structure, units, and per-field meaning (tributary_width_m, egress_window, ventilation, zone enums). It omits shear_walls and aspect_ratio, so it is not fully complete.
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: screening an existing building design for weaknesses and improvements, plus a 'stress-test' title. It implicitly separates itself from the design-oriented sibling arch_design via 'existing project', but never names an alternative 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?
Gives useful invocation context ('provide whatever you have', all inputs optional) and a scope caveat ('screening only, not a stamped engineering check'). However, it offers no explicit when-to-use-vs-alternatives routing against arch_design or other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_pitch_tempoChange pitch and tempoAInspect
Shift an audio file's pitch in semitones and/or change its tempo (speed) independently, for remixes, practice tracks and key matching. Cost: 1 credit per minute of audio. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Audio or video file: public http(s) link | |
| tempo | No | 1 is original speed. 1.25 is 25% faster, pitch unchanged | |
| format | No | mp3 | |
| semitones | No | Pitch shift. +12 is one octave up |
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 a lot: per-minute credit cost, that long jobs are asynchronous and return a job_id to poll with get_job, and that result links expire in one hour. It omits permission/auth requirements and any note on output format or failure modes, keeping it short of 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?
Three tight sentences with zero filler: capability first, then cost, then async/expiry mechanics. Everything an agent needs is front-loaded and each sentence 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 4-parameter tool with no annotations and no output schema, the description covers capability, cost, async polling and result expiry — enough to invoke and follow up correctly. The undocumented 'format' enum and absence of auth/permission notes are the only remaining 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 coverage is 75% and already documents tempo and semitones (including ranges and the '+12 is one octave' note), so the description's pitch/tempo wording is largely redundant. The 'format' enum has no description in either place, so the description does not compensate for the remaining 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 and resource: shift pitch in semitones and/or change tempo independently. The word 'independently' communicates the key capability (decoupled pitch/tempo) that separates it from a simple speed changer. It does not explicitly name or contrast a sibling, so it stops short of a 5 in this crowded audio-tool family.
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 concrete use cases ('remixes, practice tracks and key matching') that tell the agent when this tool is appropriate. It offers no explicit exclusions or named alternatives (e.g., tempo_calculator for pure tempo math), so it is clear context without routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_visualizeWaveform or spectrogram imageAInspect
Render an audio or video file's sound as a waveform picture or a spectrogram, as a PNG. Cost: 1 credit per minute of media. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Audio or video file: public http(s) link | |
| type | No | waveform | |
| color | No | Waveform colour | #2f9e63 |
| width | No | ||
| height | No |
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 discloses credit cost (1 credit per minute), asynchronous behavior for long jobs, the get_job polling path, and 1-hour result link expiry. It omits auth/permission requirements and any failure/rate-limit behavior, so it stops short of 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?
Three tight sentences with the capability front-loaded, then cost, then async/expiry mechanics. No filler, though the sentences are somewhat telegraphic rather than optimally organized.
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 must cover the operational contract, and it does: output format (PNG), cost, async flow, and link lifetime. Missing details are limited to authentication and the shape of the returned link, both minor for calling the tool 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 only 40% (url and color documented, type/width/height bare). The description restates the waveform/spectrogram choice matching the enum but adds nothing about the sizing or color parameters, so it fails to compensate for the documentation 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+resource+output: renders an audio or video file's sound as a waveform or spectrogram PNG. No sibling tool (process_audio, analyze_media, extract_audio) does the same thing, so an agent can distinguish it immediately.
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 implied by the capability statement and the async note (poll job_id with get_job) routes the agent onward for that case. However, there is no explicit when-to-use guidance versus alternatives like analyze_media or process_audio, and no statement of when this tool is the wrong choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
business_daysBusiness days calculatorAInspect
Count working days between two dates or add working days to a date, skipping weekends and optional holidays. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| start | Yes | ||
| add_days | No | ||
| holidays | No |
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 does add real context — the weekend-skipping rule, optional holidays, and a cost of 1 credit per call — but omits error behaviour, how negative or out-of-range add_days is handled, and the fact that only 'start' is required.
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 tight sentences: capability first, cost second. No filler, no restatement of the tool name, and the most important information is front-loaded.
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 is the only source of truth. It explains the two modes and the holiday/weekend behaviour but never says what is returned (a count versus a shifted date) or how the competing 'end'/'add_days' inputs resolve, which is a notable gap for a calculator.
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. It conceptually maps all four parameters (two dates, add_days, optional holidays), but adds no format detail (the YYYY-MM-DD pattern), no sign semantics for add_days, and no mutual-exclusivity rule, leaving meaningful gaps for a four-parameter 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?
The description states a specific verb and resource ('Count working days between two dates or add working days to a date') and clarifies the core rule of skipping weekends and optional holidays. It is unambiguous on its own, though it never names or contrasts itself with adjacent calculator siblings such as tempo_calculator or timecode_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?
Two operating modes are implied ('between two dates' vs 'add working days to a date'), which suggests when each branch applies, but there is no explicit statement that 'end' and 'add_days' are alternatives or mutually exclusive, nor any prerequisites beyond the implicit start date. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cad_buildSay what you want to build: design, DXF template and build reportAInspect
Describe a project in plain language ('a 6 ft workbench', 'bookshelf 800 x 300 x 1800 mm', 'raised garden bed 2 m x 1 m', 'a desk 1200x600', 'a toy chest') and get a complete design: 3D model (STL + viewer), AutoCAD DXF with a to-scale cut layout, SVG drawing, cut list, bill of materials with estimated cost, fastener count, weight, and a step-by-step build report. Supported: table, desk, workbench, bookshelf, raised_bed, chest. Optional: kind, length_mm, width_mm, height_mm, wood (pine|plywood|oak|maple|cedar). Does not design weapons, firearms, ammunition or explosives. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| wood | No | pine | |
| brief | Yes | ||
| title | No | ||
| width_mm | No | ||
| height_mm | No | ||
| length_mm | No |
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 well: it discloses the return payload (model, DXF, SVG, cut list, BOM, build report), the cost ('1 credit per call'), and content policy limits. It does not mention regeneration/determinism or any failure/limitation behavior, so it is strong but not exhaustive.
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 dense paragraph with the core promise front-loaded, then examples, supported kinds, optional inputs, exclusions, and cost. Every sentence adds distinct information and nothing is redundant, despite the length.
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?
Complete for a 7-param generation tool with no output schema and no annotations: the description substitutes for the missing output schema by enumerating every returned artifact, and it covers inputs, enums, exclusions, and cost. Only minor gaps (title param, dimension ranges) remain, which the schema itself supplies.
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. It does for most fields: 'brief' is richly shown via examples, 'kind' and 'wood' enum values are restated, and dimensions are shown in mm units through examples. However, the 'title' parameter is never mentioned and the min/max dimension bounds are left entirely to 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 action and resource: turn a plain-language brief into a complete design package, enumerating the concrete artifacts produced (STL/viewer, DXF cut layout, SVG, cut list, BOM with cost, fastener count, weight, build report). That level of output specificity separates it from generic CAD siblings like cad_part or cad_calc, though it never explicitly names or contrasts those siblings.
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 concrete invocation examples ('a 6 ft workbench', 'bookshelf 800 x 300 x 1800 mm'), an explicit supported-type list, and clear exclusions ('Does not design weapons, firearms, ammunition or explosives') plus a cost note. It stops short of stating when to prefer this over sibling tools such as arch_design or cad_part.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cad_calcEngineering calculatorAInspect
Quick engineering checks. kind='beam' {length_mm, load_N, width_mm, height_mm, support:'cantilever'|'simple', material}; 'torsion' {torque_Nm, diameter_mm, material}; 'bolt' {diameter_mm, load_N, bolts, grade, mode:'tension'|'shear'}; 'motor' {force_N, radius_mm, speed_rpm, efficiency}; 'spring' {wire_mm, coil_mm, active_coils, deflection_mm}; 'belt' {drive_diameter_mm, driven_diameter_mm, drive_rpm, center_distance_mm}. Materials: steel, stainless, aluminum, titanium, brass, abs, pla, nylon. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| values | 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. It does add two genuinely useful facts beyond the schema: the accepted material set and the cost model ('1 credit per call'). It omits what happens on invalid material/kind, which fields are required per mode, and the result format, so disclosure is partial.
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 purpose sentence is front-loaded, followed by a dense, notation-style per-kind spec with no filler sentences. It is cryptic in style but every clause carries parameter 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 six-mode calculator with no output schema, no annotations, and a nested schema with zero description coverage, the input side is well covered but the description says nothing about the returned results, output units, or validation errors. Cost is the only operational detail supplied, leaving a real gap on the output side.
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 'values' is an untyped nested object, so the description does heavy lifting by listing the exact keys per kind (length_mm, load_N, torque_Nm, etc.), the support/mode enums, and the valid material strings. It still does not state types, defaults, or whether every listed key is mandatory, so it compensates well but not completely.
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 names a concrete verb+resource ('engineering checks') and then enumerates the six calculation modes (beam, torsion, bolt, motor, spring, belt) with their inputs, so an agent knows exactly what this tool computes. It is distinguishable from CAD-construction siblings like cad_part or cad_build, though it never explicitly contrasts itself with 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?
The mode enumeration implies when each calculation applies (beam bending, bolt loading, motor sizing), which is implicit usage guidance. However, there is no explicit when-to-use, when-not-to-use, or named alternative among the many sibling calculators and CAD tools, so the agent must infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cad_fusionFusion reactor concept designerAInspect
Scope a tokamak fusion reactor concept: enter geometry and plasma parameters (major_radius_m, minor_radius_m, toroidal_field_T, plasma_current_MA, elongation, triangularity, density_1e20_m3, temperature_keV, heating_MW, tf_coils) and get plasma volume, safety factor q95, Greenwald density limit, normalised beta, confinement time (IPB98), triple product, fusion power, Q, peak coil field and required superconductor class, plus a 3D model of the plasma and magnets, a cross-section DXF and a component list. Defaults approximate ITER. Concept-level, scaling-law based. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| params | No |
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 discloses key traits: credit cost per call, the conceptual scaling-law nature, ITER-like defaults, and a concrete list of outputs including 3D models, DXF, and a component list. It does not mention permissions or side effects, but for a computational design tool this is a strong 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?
The description is front-loaded with the main purpose and is dense with relevant details. It is somewhat run-on—one long sentence plus two fragments—but every clause contributes useful information for selection and invocation.
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 complex design domain, absence of annotations, and no output schema, the description does a good job of covering what the tool computes, what artifacts it returns, and its cost and limitations. It lacks specifics about return formats or error behavior, but an agent has enough to decide and invoke 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 0%, so the description must compensate. It lists ten parameter names with units (e.g., major_radius_m, toroidal_field_T, density_1e20_m3) inside the nested 'params' object, adding substantial meaning beyond the bare schema. It stops short of explaining ranges or defaults for each parameter, so a 5 is not 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?
The description states a specific verb and resource: 'Scope a tokamak fusion reactor concept' with detailed params and outputs. It is immediately clear what the tool does, but it does not explicitly distinguish itself from sibling CAD tools such as cad_build or cad_calc, so the top score of 5 is not warranted.
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 implied by the phrases 'Concept-level, scaling-law based' and 'Defaults approximate ITER', which signal this is for early-stage conceptual design. However, the description never says when to use this tool versus alternatives, nor does it provide explicit when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cad_ideasTurn an idea into a machine planAInspect
Describe a machine, mechanism or product idea in plain language (e.g. '40 kg lift arm', 'a 30:1 gear reducer for a winch'). Returns which CAD tool to run and pre-filled parameters extracted from your numbers. Does not design weapons, firearms, ammunition or explosives. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| idea | Yes |
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 two non-obvious traits: a content policy exclusion ('Does not design weapons, firearms, ammunition or explosives') and a per-call cost ('Cost: 1 credit per call'). It also describes the return behavior (tool recommendation + extracted parameters). It does not cover failure modes for vague or unparseable ideas, which keeps it short of 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 the action and an example, followed by the return shape, the exclusion, and the cost. No filler; each sentence carries distinct information the agent 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?
For a single-parameter routing tool with no output schema and no annotations, the description covers input form, expected output, cost, and content limits. It leaves the ambiguity-handling path (what happens when the idea is too vague to map to a tool) unspecified, but otherwise an agent has enough to call 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 coverage is 0% — the 'idea' property has no description, only minLength/maxLength constraints. The description compensates by explaining what belongs in the field (plain-language machine/mechanism/product description) and giving worked examples ('40 kg lift arm', 'a 30:1 gear reducer for a winch'), which tells the agent that numeric quantities should be embedded in the text so parameters can be pre-filled.
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 names a specific verb and resource ('Describe a machine, mechanism or product idea in plain language') and pins down its distinct role among the cad_* siblings by stating it 'Returns which CAD tool to run and pre-filled parameters' — i.e. it is the router, not the builder (cad_build), calculator (cad_calc), or part/fusion tools. An agent can tell it apart from cad_machine/cad_part without opening either 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?
Usage is only implied: because it 'returns which CAD tool to run', the agent can infer this is the entry point before cad_build/cad_machine. There is no explicit when-to-use/when-not statement and no sibling named as an alternative, so the routing guidance must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cad_machineDesign a machine (assembly + engineering checks)AInspect
Design a working mechanism with 3D model, 2D layout DXF, bill of materials and engineering checks. machine='gearbox' {input_rpm, input_torque_nm, ratio, stages, safety_factor}: picks tooth counts, module (Lewis bending check), shaft diameters, bearings, meshed gear layout and per-gear cut files. machine='four_bar' {ground, crank, coupler, rocker, coupler_point_distance, coupler_point_angle_deg}: Grashof type, transmission angle, rocker swing and coupler curve. machine='robot_arm' {link1, link2, payload_kg, tube_width, tube_wall, shoulder_deg, elbow_deg}: reach, workspace, joint torques, motor sizing, tip deflection and stress. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| params | No | ||
| machine | Yes | ||
| material | No | steel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses substantial behavior: it produces a 3D model, 2D DXF, bill of materials, and engineering checks, and it details the calculations performed for each machine type. It also states the per-call credit cost. It does not cover permissions, rate limits, or error behavior, but for a design-generation tool this is a strong 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?
The description is front-loaded with the tool's purpose and outputs, then efficiently enumerates machine-specific parameters in a dense but readable format. It is appropriately sized for a complex multi-mode design tool, though the semicolon-heavy list format could be slightly clearer.
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 absence of annotations, output schema, and schema parameter descriptions, the description supplies the essential context: outputs generated, calculations performed per machine type, and required nested parameters. It omits the role of the 'material' enum and any error or prerequisite behavior, but is otherwise complete enough for correct 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 description coverage is 0%, so the description must explain parameters. It provides detailed nested parameter meanings and expected values for all three machine modes (e.g., input_rpm, input_torque_nm, ratio for gearbox; ground, crank, coupler, rocker for four_bar). It does not explain the top-level 'material' or 'title' parameters, leaving a small 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 states a specific design verb and resource: 'Design a working mechanism with 3D model, 2D layout DXF, bill of materials and engineering checks.' It also enumerates three machine types and their outputs, making the tool's scope clear. However, it does not explicitly differentiate itself from sibling CAD tools such as cad_build, cad_part, or cad_calc.
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 implies usage by listing supported machine types and their parameter sets, and notes the cost of '1 credit per call.' It does not state when to choose this tool over siblings like cad_build or cad_part, nor does it provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cad_partGenerate a CAD part (DXF + STL)AInspect
Generate a precise parametric part and host it: AutoCAD-compatible DXF (2D, layers), STL (3D, ready for printing/CNC/slicers), SVG drawing, an interactive 3D viewer, mass and specs. Parts and their params: gear {module, teeth, thickness, bore} (true involute profile); plate {width, height, thickness, corner_radius, hole_diameter, hole_inset, holes:[{x,y,d}]}; flange {outer_diameter, bore, bolt_circle, bolts, bolt_diameter, thickness}; enclosure {width, depth, height, wall, screw_diameter} (flat cut layout); shaft {segments:[{d,l}]}; pulley {outer_diameter, width, bore, hub_diameter, hub_length, groove_depth}; heatsink {width, depth, base_thickness, fin_height, fin_thickness, fins} (thermal estimates); hex_nut {across_flats, thickness, bore}; washer {outer_diameter, inner_diameter, thickness}. All dimensions in mm. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| part | Yes | ||
| title | No | ||
| params | No | ||
| material | No | steel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full behavioral burden. It does add genuine value by disclosing the billable cost ('1 credit per call'), the unit convention (mm), and the artifact set produced (DXF, STL, SVG, 3D viewer, mass/specs). However it is silent on what 'host it' concretely means — persistence, returned URLs, artifact lifetime, or failure modes for invalid parameter combinations.
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 long but front-loaded with the core verb and outputs, then organizes the bulk into a single dense part-to-parameter mapping that is genuinely necessary given nine disjoint part schemas. Every clause carries information; it only loses a point for the run-on enumeration being harder to scan than a structured list.
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 tool with 0% schema coverage, nested free-form params, and no annotations, the description covers generation well but leaves real gaps: how the hosted artifacts are retrieved, whether `title` matters, how `material` affects output, and when this differs from the other cad_* tools. It is adequate to invoke the tool, but not to invoke it confidently in a crowded tool family.
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 `params` is a free-form object, so the description does the heavy lifting by documenting the expected keys for every enum value of `part` (e.g. gear {module, teeth, thickness, bore}, flange {outer_diameter, bore, bolt_circle, bolts, bolt_diameter, thickness}). It does not mark which per-part keys are required versus optional or supply defaults, which would have earned a 5.
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+resource ('Generate a precise parametric part') and then enumerates all nine part types with their parameter sets, so an agent knows exactly what family of geometry this tool produces. It is clearly distinguishable from siblings like cad_calc (computation only) or cad_reverse (reverse engineering) even without opening any other 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?
The description never states when to pick this tool over cad_build, cad_fusion, cad_machine, cad_ideas, or arch_design — a dense sibling cluster where routing matters most. It only implies usage through the enumeration of part types, with no prerequisites, alternatives, or exclusions given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cad_reverseScan or mesh to CAD drawings and specsAInspect
Reverse engineer a physical part or object from a 3D scan or mesh (STL binary/ASCII, OBJ, ASCII PLY; send as data_base64 or as text in data_text). Returns exact overall dimensions, volume, surface area, centre of mass, weight in a chosen material, true cross-section outlines through the middle of each axis (they show holes and pockets), convex-hull silhouettes, a three-view AutoCAD DXF with dimensions, a re-exported STL in millimetres with the origin at the corner, and an interactive viewer. unit: mm|cm|m|in (units of the input, default mm). Does not process weapons, firearms, ammunition or explosives. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | mm | |
| title | No | ||
| format | No | ||
| material | No | steel | |
| data_text | No | ||
| data_base64 | No |
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 well: it discloses the complete output set, accepted file formats, a units contract, a content restriction (no weapons/firearms/ammunition/explosives), and even the cost (1 credit per call). It still omits permission/auth requirements and any input-size or processing-limit caveats, so it stops short of 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?
A single dense paragraph that front-loads the core action, then the return artifacts, then units, restrictions and cost — every clause carries information. It is long, but the length is justified by six undocumented parameters and a missing output schema; a bulleted split of inputs vs outputs would read better than the run-on list.
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 covers inputs, the full set of return artifacts (dimensions, volume, mass, weight by material, cross-sections, hulls, DXF, re-exported STL, viewer), units, refusal policy and cost. Nothing an agent needs in order to call it correctly is missing, aside from the minor param gaps noted above.
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 does for most parameters: it explains unit ("unit: mm|cm|m|in ... default mm"), the format enum via the listed file types (STL binary/ASCII, OBJ, ASCII PLY), and the two data channels (data_base64 vs data_text). It does not explain the material enum values or what title is used for, leaving two of six parameters undocumented in both places.
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 (reverse engineer a part from a 3D scan/mesh) and enumerates the concrete artifacts produced, which cleanly separates it from the cad_build/cad_part/cad_fusion siblings that generate rather than reconstruct CAD. An agent can identify the tool's purpose 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?
The description implies when to use it (you have a scan/mesh and need CAD drawings, specs or measurements) and names the accepted input formats, so the trigger condition is reasonably clear. However, it never names an alternative sibling or states when NOT to use it, and it doesn't mention that data_base64 or data_text must actually be supplied for the call to do anything.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_urlsCheck URLs (status and redirects)AInspect
Check up to 20 URLs: HTTP status, final URL after redirects, content type. Good for finding broken links. Cost: 2 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | 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 usefully discloses the cost (2 credits per call) and what is returned, but omits auth requirements, timeouts, redirect-following depth, or rate limits that matter for an unattended checker.
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 compact sentence-cluster, front-loaded with the action and results, then the use case, then cost. Every clause earns its place with no filler.
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 read tool with no output schema or annotations, the description covers purpose, return contents, quantity limit, and cost. It only lacks an explicit read-only/permission statement, a minor 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 coverage is 0%, but the single parameter is a self-evident array of URI strings. The description adds that up to 20 URLs are checked and what each yields, though "up to 20" duplicates the schema's maxItems and no format details are added.
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 (check URLs) and enumerates exactly what is returned: HTTP status, final URL after redirects, content type. It does not name or differentiate itself from relevant siblings like redirect_chain, phishing_url_check, or security_headers, so an agent must infer the 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?
"Good for finding broken links" implies the use case but offers no explicit when-to-use/when-not or routing to alternatives (e.g. redirect_chain for deeper redirect inspection, phishing_url_check for safety). Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
color_paletteColour palette generatorAInspect
Build a game or brand palette from one base colour using harmony rules (complementary, triadic, analogous, split-complementary, monochrome) with hex and HSL values. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | ||
| harmony | No | analogous |
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 — and it does disclose two things the schema cannot: the operation is a deterministic generator (not a query/mutation) and it costs 1 credit per call. It also states the return content (hex and HSL values). It does not say how many colours are produced or whether the base must include the '#', which keeps it short of 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?
Two sentences, zero filler, with the capability front-loaded and the cost constraint trailing. Every clause 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 two-parameter pure function with no output schema and no annotations, the description covers purpose, output format and cost, which is close to adequate. However it omits the default harmony, the palette size, and the exact meaning of each harmony rule, so an agent cannot fully predict the result without experimentation.
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; it does enumerate the five harmony modes, giving semantic meaning beyond the raw enum tokens, though it writes 'split-complementary' while the enum value is 'split'. It never documents the 'analogous' default nor the accepted base-colour format, so the compensation is partial.
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 ('Build') and resource ('palette') with the input ('from one base colour') and output format ('hex and HSL values'). Among the sibling list there is no other palette-generation tool, and the closest neighbours (video_color_grade, pixel_art) operate on entirely different inputs, so disambiguation is trivially satisfied.
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 phrase 'game or brand palette' implies the intended use case but never states when to pick this over another tool, nor what happens with the default harmony. With no annotations or output schema, the description could carry more routing guidance, so usage remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compress_mediaCompress to a target sizeAInspect
Shrink a video or audio file to fit a size limit, such as 8 MB for Discord or 25 MB for email. Picks the bitrate for you and re-encodes once more if the first attempt lands over the limit. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Source file: public http(s) link | |
| format | No | Defaults to mp4 for video and mp3 for audio | |
| max_height | No | Shrink video to at most this height, e.g. 720 | |
| start_seconds | No | Start time in seconds | |
| target_size_mb | Yes | Largest allowed file size in MB | |
| duration_seconds | No | Length of the result in seconds |
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 it well: it discloses that bitrate is chosen automatically, that a second re-encode may occur, the credit cost per output minute, async job_id behavior with polling via get_job, and that result links expire in 1 hour. These are exactly the operational traits (cost, latency, result lifetime) an agent cannot infer from 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?
Four tight sentences with zero filler; the core purpose is front-loaded and the operational details (cost, polling, expiry) follow in descending order of importance.
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, yet the description covers the return path (job_id polling), the result lifetime, and the cost model. Nothing an agent needs to invoke this tool correctly 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 the baseline is 3. The description adds the useful fact that bitrate is auto-selected (no such parameter exists), but says nothing about max_height, start_seconds, or duration_seconds semantics beyond what the schema already documents.
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 ('Shrink a video or audio file') plus the distinguishing goal ('to fit a size limit'), which separates it functionally from conversion (convert_media) and trimming (trim_media) siblings. An agent can tell what this tool produces without reading 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?
Gives concrete triggering contexts ('8 MB for Discord or 25 MB for email'), which makes the when-to-use condition clear. It never names or excludes competing siblings such as convert_media or edit_video, so the routing guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_dataConvert CSV / JSONAInspect
Convert between CSV and JSON text. Free of network calls; useful for cleaning scraped data. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | The CSV text, or a JSON array of flat objects | |
| direction | 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 disclose two useful traits: no network calls and a cost of 1 credit per call. However, it omits failure behavior for malformed input, output format, and the 1,000,000-char input limit, which matters for a mutation-free but size-constrained 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?
Three short sentences, each earning its place: purpose first, then a behavioral note, then cost. Nothing is padded or repeated.
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-parameter tool with no annotations and no output schema, the description covers purpose, cost, and environment but never states what the tool returns (converted text vs. an object), nor how oversized or malformed input is handled. Enough to call it, not enough to predict its behavior.
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%: 'data' is documented in the schema while the 'direction' enum carries no description. The description's phrasing ('between CSV and JSON text') only obliquely implies the two direction values and adds no format or limit detail beyond the schema, 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?
The description gives a specific verb and resource ('Convert between CSV and JSON text'), and the word 'text' implicitly separates it from media-conversion siblings like convert_media and subtitle_convert. It stops short of explicitly naming any alternative tool, so it is clear but not fully 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?
'Useful for cleaning scraped data' hints at a context of use but gives no when-to-use/when-not guidance and does not route the agent to or away from alternatives such as csv_profile or extract_tables. 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.
convert_mediaConvert video or audioAInspect
Convert any video or audio file to another format, with optional trimming and downscaling. Video outputs: mp4, mov, mkv, webm, gif. Audio outputs: mp3, wav, flac, aac, m4a, ogg, opus. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Source file: public http(s) link | |
| format | Yes | Output format | |
| quality | No | Quality. Lower quality gives smaller files | medium |
| max_height | No | Shrink video to at most this height, e.g. 720 | |
| start_seconds | No | Start time in seconds | |
| duration_seconds | No | Length of the result in seconds | |
| audio_bitrate_kbps | No | Audio bitrate in kbps |
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 well: it discloses cost (1 credit per minute of output), async behavior (long jobs return a job_id, poll with get_job), and result expiry (links expire in 1 hour). It omits permission/auth requirements and any input size or duration limits, which are the remaining gaps.
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 compact sentences, front-loaded with the core action and format list, followed by cost and async/expiry mechanics. Every sentence carries information an agent needs; nothing is redundant with the title.
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 7-parameter tool with no output schema, the description covers the important call-time mechanics (async job_id, polling tool, expiring links) and the format domain. It could go slightly further on what the immediate response contains versus the polled result, but nothing essential 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 the baseline is 3, but the description adds real value beyond the schema by grouping the flat format enum into video outputs and audio outputs and by framing trimming/downscaling as the intent behind the timing and height parameters.
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 (convert video or audio files between formats) and enumerates the exact output formats, which lets an agent distinguish it from siblings like compress_media, extract_audio, and trim_media 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?
Clearly signals the scope of the operation ('convert to another format, with optional trimming and downscaling') and tells the agent what to do for long jobs (poll with get_job). It never explicitly names when to prefer a sibling such as extract_audio or compress_media instead, so routing is left partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crawl_siteCrawl a websiteBInspect
Crawl a site breadth-first from a starting URL, staying on the same domain, and return the clean text of each page. Useful for building a knowledge base or RAG corpus. Cost: 5 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL | |
| max_pages | No | ||
| max_chars_per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose genuine operational traits: breadth-first order, same-domain confinement, the text return format, and a per-call cost of 5 credits. It stops short of rate limits, timeout behavior on large sites, or robots/politeness handling, but the cost and scope disclosures are exactly the kind of context annotations would otherwise provide.
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 tight sentences, front-loaded with the core action and followed by use case and cost. No filler, though the use-case sentence could be traded for parameter or limit guidance.
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 and no annotations, so the description must fully specify behavior. It covers purpose, scope, return content, and cost, but omits how max_pages/max_chars_per_page shape results and what the returned structure looks like across multiple pages.
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%: url is documented in the schema, but max_pages and max_chars_per_page have no schema descriptions and are never mentioned in the description. The description does not compensate for the coverage gap on these two controls, leaving their effect on output size unexplained.
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 (crawl), resource (site), traversal strategy (breadth-first from a starting URL, same domain), and return content (clean text of each page). This is clearly distinct from the single-page sibling scrape_page in spirit, but it never names that sibling, so the differentiation is left implicit.
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 use case ('building a knowledge base or RAG corpus') but no when-to-use/when-not guidance and no alternatives. Given strong sibling overlap with scrape_page, extract_content, and sitemap_urls, the definition should route the agent but does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_hls_streamMake an adaptive streaming versionAInspect
Package a video for web streaming as HLS with several quality levels (the format video players use to adapt to slow connections). Returns the master playlist link. Segments are served from the same address. Cost: 2 credits per minute. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video: public http(s) link | |
| heights | No | Quality levels by height | |
| segment_seconds | No |
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 discloses cost (2 credits per minute), async behavior and the polling pattern, that result links expire in 1 hour, and where segments are served from. It stops short of stating auth/permission requirements or rate limits.
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 purpose and output, then operational facts (cost, async, expiry). Nothing is redundant or padded.
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 no-annotation, no-output-schema tool, the description covers the return value, async polling contract, cost, and link expiry, which is nearly everything an agent needs. Minor gaps remain: no guidance on choosing heights/segment_seconds values and no permission requirements.
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%: url and heights are documented in the schema, but segment_seconds has no description anywhere. The description only loosely gestures at parameters ('several quality levels') without adding format, range, or default meaning beyond the schema, 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 and resource ('package a video ... as HLS') plus the defining characteristic of the output (several quality levels, master playlist) which separates it from generic converters like convert_media or compress_media in the sibling list. An agent can tell what it produces 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?
Gives clear context for use (adapting to slow connections for web playback) and routes follow-up work explicitly: 'Long jobs return a job_id; poll it with get_job.' It does not, however, state when not to use it or contrast it with nearby siblings such as extract_audio, trim_media, or compress_media.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crime_case_reportCrime Radar case report: pinpoint a past crime and find similar onesAInspect
Look up a specific past incident in Chicago public crime data by case number, date (plus or minus a window), block, crime type, keyword or coordinates. Returns a report with the pinpointed location (block-level, map link), full public details, other candidate matches, ranked similar incidents nearby (same offence, location type, time of day, block, proximity) and an area pattern summary. Works for incidents from 2001 to about a week ago. Public data: no victim or suspect identities, not evidence of guilt. Cost: 5 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| date | No | Approximate date YYYY-MM-DD | |
| block | No | Street or block text, e.g. STATE ST or 012XX N | |
| keyword | No | Offence or location keyword, e.g. APARTMENT, FENTANYL | |
| crime_type | No | ||
| case_number | No | Police case number, e.g. JE123456 | |
| window_days | No | Days either side of date | |
| similar_limit | No | ||
| similar_years | No | Years either side to look for similar incidents | |
| search_radius_m | No | ||
| similar_radius_m | No |
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 reasonably well: it discloses the returned report structure, the temporal coverage limit, the data provenance/ethics caveat ('public data: no victim or suspect identities, not evidence of guilt'), and the per-call cost of 5 credits. It omits whether the call is strictly read-only, auth requirements, and what happens when no match is found.
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 core lookup action is front-loaded in the first sentence, followed by three tightly packed sentences covering output, coverage limits, disclaimers and cost. Every sentence carries information; nothing is restated from the schema or title.
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 the description does describe the returned report well enough (pinpointed location, public details, candidate matches, ranked similar incidents, area pattern summary). For a 12-parameter tool with zero required fields it still leaves the 'at least one selector required' rule and the no-result behavior unspecified.
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%, so several parameters (similar_limit, similar_radius_m, search_radius_m, lat/lon) have no inline documentation. The description compensates by naming the accepted search selectors and by explaining that the date is used 'plus or minus a window' and that similarity ranking draws on same offence, location type, time of day, block and proximity – which effectively explains the similar_* and radius parameters.
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: pinpoint a past Chicago crime incident by case number, date, block, type, keyword or coordinates, then rank similar incidents. It is plainly distinguishable from siblings like crime_map_data and crime_stats because it is incident-level lookup rather than aggregate or map data, and the title reinforces the 'exact case + similar cases' scope.
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 clear context on what selectors are accepted and bounds the data range ('2001 to about a week ago'), which is real usage guidance. It does not name alternatives or state when NOT to use it, and with 0 required parameters it never says that at least one locator (case, date, block, keyword, coords) must be supplied – a meaningful omission for a 12-param tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crime_map_dataCrime Radar: drug, homicide, suicide, trafficking and prostitution map dataAInspect
Crime Radar. Query public open data by layer or combine several: drug incidents, overdose deaths, homicides, suicides (anonymised), human trafficking, prostitution, sex offences, Seattle narcotics 911 calls, SAMHSA treatment sites and CDC state overdose trends. Use layer for one, or layers for several at once. Filter by date range, keyword and map box. Set refresh=true to re-pull live from the source agencies instead of the hourly cache. Returns points plus ranked hotspots. Data is public, may lag, and shows reported incidents, not guilt. Cost: 3 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date YYYY-MM-DD | |
| east | No | ||
| from | No | Start date YYYY-MM-DD | |
| near | No | ZIP code or address for treatment_sites | |
| west | No | ||
| year | No | ||
| layer | No | list_layers | |
| limit | No | ||
| north | No | ||
| south | No | ||
| state | No | Two-letter state for state_overdose_trend | |
| layers | No | Search several layers at once; overrides layer | |
| keyword | No | Offense or cause keyword, e.g. FENTANYL, POSSESSION, CANNABIS | |
| refresh | No | Bypass the cache and re-scrape the source data | |
| radius_miles | No |
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 well: it discloses the hourly cache vs live re-pull, the 3-credit cost, that data is public and may lag, and the important caveat that results show reported incidents, not guilt. It omits auth/rate-limit details but covers the operationally relevant traits.
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 dense paragraph that front-loads the core purpose and layer list before filters and cost. The long layer enumeration is necessary for discovery, though it makes the sentence heavy. Little waste overall.
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 15-parameter tool with no output schema and no annotations, the description covers purpose, filters, caching, cost, and return shape ('points plus ranked hotspots'). It leaves a few parameters (limit, radius_miles, state, year) unexplained, which is the main residual 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 only 47% across 15 parameters. The description compensates for some (layer vs layers, date range, keyword, map box, refresh) but says nothing about limit, radius_miles, year, state, or near, leaving those to a sparse schema. Partial compensation justifies a 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?
The description names a specific verb ('Query public open data') and enumerates the exact resources/layers available. An agent can immediately distinguish this from siblings like crime_stats or crime_case_report because it specifies the layer-based query model and lists the datasets.
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 clearly explains when to use `layer` (one dataset) vs `layers` (several at once) and outlines filter mechanics (date range, keyword, map box) plus when to set refresh=true. It lacks explicit guidance distinguishing it from the sibling crime tools, so it stops 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.
crime_statsCrime Radar stats: state, county and town crime statisticsAInspect
Query the local Crime Radar statistics database (FBI Crime Data Explorer, annual counts and rates by offense). level=state returns state totals; level=county rolls reporting agencies up to a county; level=town looks up a city or agency by name. Filter by state, offense and year range. Call with level=coverage to see what has been loaded so far. Reported crime only; agencies that do not report to the FBI are missing, and rate is the sum of monthly per-100k rates. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| town | No | City or agency name text, e.g. SPRINGFIELD | |
| level | No | coverage | |
| state | No | Two-letter state code | |
| county | No | ||
| offense | No | ||
| year_to | No | ||
| year_from | No |
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 well: it discloses that only reported crime is present, that non-reporting agencies are absent, how rate is computed (sum of monthly per-100k rates), and the cost (1 credit per call). It stops short of stating read-only behavior or describing the response payload, but the coverage caveats and cost are genuinely useful.
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 tight, front-loaded paragraph where every sentence adds information: purpose, level semantics, filter list, coverage probe, data caveats, and cost. No filler or repetition of 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 7-parameter, zero-required tool with no output schema and no annotations, the description supplies the level routing, filter guidance, coverage discovery path, data-quality caveats, and pricing. An agent can call it correctly without opening the schema.
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 29%, so the description must compensate, and it does for the important axes: it names the four level values, the state/offense/year-range filters, and that town is a city-or-agency name lookup. The county parameter is only indirectly explained via level=county, leaving a small 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 and resource ('Query the local Crime Radar statistics database') and pins down the data provenance (FBI Crime Data Explorer, annual counts and rates by offense). This clearly distinguishes it from siblings like crime_case_report and crime_map_data.
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?
Explains what each level value selects (state totals, county roll-up of reporting agencies, town name lookup) and explicitly tells the agent to call level=coverage to discover what data is loaded. It gives strong in-tool routing but never contrasts itself against sibling crime tools, so no explicit exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cron_explainExplain a cron scheduleAInspect
Translate a 5-field cron expression into plain English and list the next run times. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| runs | No | ||
| expression | Yes | e.g. '*/15 9-17 * * 1-5' |
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 disclose two useful traits: the fixed cost (1 credit per call) and the expected output shape (English translation plus next run times), which matters since there is no output schema. It is silent on error behavior for malformed or 6-field expressions and on any validation rules, so the disclosure is only partial.
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 sentences, zero filler. The purpose is front-loaded and the cost caveat follows it, which is the right order for an agent deciding whether to call.
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-parameter tool with no annotations and no output schema, the description should cover return format, the second parameter, and failure behavior. It covers the return format and cost, but leaves `runs` unexplained and says nothing about how invalid expressions are handled, so it is adequate rather than 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 coverage is 50%: the `expression` parameter has an example but the `runs` parameter has no description at all, only schema constraints (default 5, max 20). The description contributes the meaningful constraint that the input is a 5-field expression, but it never explains what `runs` controls beyond the vague phrase 'list the next run times'.
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 specific verbs (translate, list) against a specific resource (a 5-field cron expression), and names the concrete output (plain English plus next run times). No sibling tool in the list overlaps with cron parsing, so there is nothing to disambiguate against; an agent can select this with confidence from the title and first sentence 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?
Usage is implied by the purpose statement (call it when you need a cron expression explained), and the cost note gives a reason to weigh the call. However, there is no explicit when-to-use/when-not guidance, no mention of how it relates to any alternative, and no prerequisites such as expression validation expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_coinCoin deep dive with indicatorsBInspect
Detailed look at one coin: price history summary, RSI, moving averages (20/50/200 day), trend, volume trend, volatility, max drawdown, and recent headlines that mention it. Cost: 2 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | CoinGecko id, e.g. bitcoin, ethereum, solana. Use crypto_search if unsure | |
| days | No |
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 a genuinely useful behavioral trait: cost of 2 credits per call. However it says nothing about latency, rate limits, or that this is a strictly read-only lookup with no side effects, so the safety/behavior profile is only partly covered.
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: resource first, then the metric list, then cost. The metric enumeration is dense but each item earns its place since no output schema exists to communicate the return shape. No filler.
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?
Because there is no output schema, the enumerated metrics are important and usefully present, and cost is covered. But the days parameter's meaning remains unexplained and no sibling routing is given, leaving gaps for a tool whose whole value is the parameterized lookback window.
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%: id is well documented with an example and a pointer to crypto_search, but days (default 180, range 30–365) has no description and the tool description never mentions it or that it controls the lookback window. The description therefore fails to compensate for the documented 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 resource ('one coin') and enumerates the exact analytics returned (price history, RSI, MAs, trend, volume, volatility, drawdown, headlines), which is far more concrete than a bare 'get coin data'. It implicitly separates itself from the multi-coin crypto_markets and news-only crypto_news, but never names a sibling to make the boundary explicit.
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 statement of when to use this versus crypto_markets, crypto_signals, or crypto_news, and no prerequisites. The only guidance ('use crypto_search if unsure') lives in the input schema's id description, not here. The cost line is the sole decision-relevant context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_marketsCrypto market overviewBInspect
Live market snapshot: top coins by market cap (or specific coin ids) with price, 1h/24h/7d/30d change, volume, market cap and distance from all-time high, plus global market cap, BTC dominance and the Fear & Greed index. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | CoinGecko ids such as bitcoin, ethereum, solana. Overrides limit | |
| sort | No | market_cap | |
| limit | 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 behavioral burden, and it does disclose a real operational trait: cost of 1 credit per call. Combined with 'Live' (real-time data) and a full field inventory, the agent knows what it gets. It still omits auth requirements, rate limits, and error/fallback behavior for unknown coin ids, so it is not complete.
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 that front-loads the scope ('Live market snapshot') and then enumerates the return payload and cost. No filler, every clause carries 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?
With no output schema, the field enumeration usefully compensates for a missing return spec, and cost is covered. But the 33% schema coverage on sort/limit is not offset, and for a 3-param tool with zero annotations the definition leaves gaps in how to control sorting and pagination.
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 33%: only 'ids' is documented in the schema. The description restates the ids path and its override behavior but says nothing about the 'sort' enum values or the 'limit' range/default, leaving two undocumented parameters for the agent to guess at from constraints alone.
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 names the resource (crypto market data) and the exact payload: top coins by market cap or explicit ids, with price, multi-period change, volume, market cap, ATH distance, plus global cap, BTC dominance and Fear & Greed. That is far more specific than the title. It does not, however, explicitly distinguish itself from siblings like crypto_coin or crypto_signals, which likely overlap on per-coin data.
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 mentions the two retrieval modes (top-by-cap vs explicit ids) but gives no when-to-use guidance versus crypto_coin, crypto_signals, or crypto_search, no exclusions, and no prerequisites. The agent must infer routing from the payload list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_newsCrypto headlines with sentimentAInspect
Latest headlines from CoinDesk, Cointelegraph, Decrypt and The Block, each tagged positive, negative or neutral by keyword, with an overall mood score. Filter by coin name or symbol. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | Name or symbol, e.g. Solana or SOL | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations the description carries the full burden, and it discloses meaningful traits: the sentiment is computed 'by keyword' (a real limitation), the return shape (per-headline tags plus an overall mood score), and the cost of 1 credit per call. It stops short of freshness/pagination or error behavior, so not 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?
Three tight sentences that front-load the core purpose, then add filtering scope and cost. Every sentence earns its place with no filler.
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 no-output-schema, no-annotation tool the description covers purpose, return content (tagged headlines + mood score), sentiment method and cost. It leaves the limit parameter and data freshness unaddressed, which keeps it just short of 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 coverage is 50% (coin documented, limit not). The description's 'filter by coin name or symbol' merely restates the schema's own coin description and adds no syntax or format detail, and the limit parameter goes unexplained in both places. Baseline 3 for partial coverage with no compensating value.
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 (latest crypto headlines) and names the exact sources (CoinDesk, Cointelegraph, Decrypt, The Block) plus the sentiment tagging behavior and mood score. This is unmistakably a news-aggregation tool, clearly distinct from siblings like crypto_markets, crypto_coin and crypto_signals.
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 alternatives named. 'Filter by coin name or symbol' is parameter guidance, not usage routing, and the cost note, while useful, does not help an agent decide between this and related crypto siblings. Usage is only faintly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_searchFind a coin idAInspect
Search coins by name or symbol and get the id used by the other crypto tools, plus the trending coins right now. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Leave empty to see trending coins |
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 add genuinely useful context — a cost of 1 credit per call and the fact that the returned id feeds other crypto tools — but says nothing about auth requirements, error/empty-result behavior, or whether results are ranked.
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 with no filler: purpose and output first, cost last. Every clause 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 single-optional-parameter lookup with no output schema, the description covers what the tool returns, an alternate mode, and its cost. It stops short of describing result shape (ranked list, exact vs fuzzy match) or failure behavior, but nothing critical 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 coverage is 100% and there is only one parameter, so the baseline is 3. The description goes beyond the schema text by specifying that the query accepts a name or a symbol (the schema only documents the empty-query case), adding real semantic value for how to populate it.
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 ('Search coins by name or symbol') and clarifies the output's role ('the id used by the other crypto tools'), which helps separate it from crypto_markets or crypto_coin. It never names a sibling tool explicitly, so the differentiation is functional rather than direct.
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 'Leave empty to see trending coins' behavior is only in the schema, and the description hints at it with 'plus the trending coins right now.' There is no explicit when-to-use-this-vs-crypto_coin/crypto_markets guidance or prerequisite statement; usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_signalsSpot potential runs and downfallsAInspect
Scan the market for coins that look set to run and coins showing warning signs. Combines live price action (momentum, volume surge, RSI, trend vs 20/50-day averages, distance from all-time high) with the latest news sentiment and the Fear & Greed index. Returns two ranked lists, 'potential runs' and 'risk watch', each with a score and the reasons behind it. Scan the top coins or pass your own list. Cost: 3 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Coins to scan. Default: the top coins by market cap | |
| deep | No | How many top candidates get a full indicator check (RSI, moving averages) | |
| universe | No |
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 well: it discloses the data sources combined (price action, news sentiment, Fear & Greed), the shape of the result (two ranked lists with scores and reasons), and an explicit cost of 3 credits per call. It omits read-only status and any auth/rate-limit context, which slightly limits the score.
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 tight sentences, front-loaded with the purpose, then data sources, return shape, parameter behavior, and cost. Every sentence adds distinct information; nothing is redundant.
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 no-output-schema, no-annotation tool, the description covers return shape, data provenance, defaults, and cost, which is enough for an agent to call it correctly. The gap is the unexplained deep/universe parameters, but these are optional knobs with schema-level hints.
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%, above the half-way mark, so the baseline of 3 applies. The description only illuminates the ids parameter ('scan the top coins or pass your own list') and says nothing about deep or universe, whose meaning is left entirely to 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 and resource: scans the market for coins likely to run vs. showing warning signs, and names the two output lists. It is clearly distinguishable from data-lookup siblings like crypto_markets or crypto_coin, though it never names an alternative directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives implied usage (scan top coins by default, or pass your own list) but no explicit when-to-use vs. when-not, and no routing against the many crypto_* siblings. An agent must infer that this is the analysis/signal tool rather than the raw-data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_walletView a wallet (read-only)AInspect
Look up any public wallet address on Bitcoin, Ethereum or Solana: balance, USD value, token holdings (Ethereum), transaction count and optionally a risk check on the biggest holdings. READ-ONLY by design: it only needs a public address and refuses private keys or seed phrases. It cannot move funds. Cost: 2 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | ||
| address | Yes | ||
| include_signals | No | Also run the risk/momentum scan on the native coin |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discharges it well: it declares READ-ONLY by design, states it cannot move funds, that it refuses private keys or seed phrases, and quantifies cost at 2 credits per call. These are exactly the behavioral traits an agent needs before invoking a wallet 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?
Three sentences, front-loaded with the capability and scope, followed by the safety constraint and then the cost. Every clause earns its place; nothing is repeated from the schema or annotations.
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 3-parameter read-only tool with no output schema and no annotations, the description covers the return fields, chain scope, safety posture and cost, which is nearly everything an agent needs. It stops short of describing address formats per chain or error behavior for invalid/empty wallets.
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 33%, so the description must compensate, and it does: it enumerates the chain enum values (Bitcoin, Ethereum, Solana), explains address as a public wallet address, and describes include_signals as a risk check on the biggest holdings. Minor gap: the schema frames include_signals as a scan on the native coin while the description says 'biggest holdings', a slight mismatch, and address length limits are unmentioned.
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 (look up) and resource (public wallet address) plus the exact chains supported and the fields returned: balance, USD value, token holdings, transaction count, optional risk check. This clearly distinguishes it from siblings like crypto_markets, crypto_search, crypto_coin and get_balance.
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 context for when it applies: a public wallet address on one of three named chains, with an optional risk-check flag. It does not name an alternative or state when NOT to use it (e.g., vs. crypto_signals for the standalone signal scan), so it falls short of the explicit when/when-not/alternatives bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
csv_profileProfile a CSV (data quality)AInspect
Paste CSV text and get a data-quality report: row count, per-column type, blanks, distinct values, min/max/mean for numbers, top values and duplicate rows. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| csv | 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 does add real value by disclosing the cost (1 credit per call) and the fact that it returns a report rather than mutating data. But it omits the schema's 2MB input ceiling, any auth or rate-limit context, and error behavior on malformed CSV.
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 dense sentence covering the action and its full output contract, followed by a short cost sentence. Front-loaded, no filler, and every clause maps to information an agent 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 and no annotations, the description steps in admirably by enumerating the report contents, so an agent can anticipate the return shape. It is only incomplete on input constraints and failure modes, which are minor for a stateless read-style 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 'csv' parameter, so the description must compensate. "Paste CSV text" usefully clarifies that the value is raw CSV content, not a file path or URL, but it does not surface the minLength/maxLength bounds (3 to 2,000,000 characters) that the schema only encodes structurally.
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: it profiles pasted CSV text and enumerates the exact report contents (row count, per-column type, blanks, distinct values, numeric stats, top values, duplicate rows). An agent knows exactly what the tool produces. It never explicitly names a distinguishing sibling (e.g., convert_data, extract_tables), so it falls just short of 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?
"Paste CSV text" implies the usage mode and the input shape, which is the single most important usage fact for a one-parameter tool. However, it gives no when-to-use guidance, no exclusions, and never points to an alternative among the many data-handling siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_convertCurrency conversionBInspect
Convert an amount between currencies using current reference exchange rates (ECB). Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | Yes | ||
| amount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does add real context: rates are 'current' (not historical), sourced from ECB, and each call costs 1 credit. However, it says nothing about rate freshness/refresh cadence, precision or rounding of the returned value, or error behavior for unsupported currency codes.
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 with the core operation front-loaded and the cost disclosure appended; nothing is wasted or buried.
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, no output schema, and 0% parameter documentation, the description leaves too much unstated: the expected format of the result, rounding behavior, and currency-code format. The credit-cost disclosure is a positive, but the definition is not self-sufficient.
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 all three required parameters. The phrase 'convert an amount between currencies' loosely maps to amount/from/to, but the description never clarifies that from/to are 3-letter ISO currency codes, nor does it explain the amount bounds or direction of conversion. 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 ('Convert') and resource ('an amount between currencies') with the data source (ECB reference rates) named, which cleanly separates it from siblings like convert_data, subtitle_convert, and convert_media. An agent can identify the tool's function 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?
The description explains what the tool does but offers no when-to-use guidance, no prerequisites, and no alternatives or exclusions (e.g., historical vs. current rates, unsupported currencies). Usage is only implied by the tool's obvious domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cve_lookupCVE vulnerability lookupAInspect
Look up a CVE ID, or search recent vulnerabilities by keyword, using the US National Vulnerability Database. Returns severity (CVSS), description, affected products and references. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cve_id | No | ||
| keyword | No |
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 reasonably well: it discloses the data source, the return content (CVSS severity, description, affected products, references), and a per-call cost of 1 credit. It omits auth/permission needs and error behavior for invalid IDs, but the cost and output disclosure are genuinely useful.
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 tightly packed sentences, front-loaded with the action and modes, followed by return values and cost. No filler; every clause adds 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?
No output schema or annotations exist, and the description compensates by describing return fields and cost. It is nearly complete, though it leaves the 'limit' parameter and any optionality rules (0 required params) unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains the semantics of cve_id and keyword (the two ways to query), but never mentions the 'limit' parameter or the required CVE-ID format, leaving one of three params undocumented in both schema and description.
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 (look up / search) and resource (CVE vulnerabilities), names the authoritative data source (NVD), and distinguishes the two operating modes (ID lookup vs keyword search). An agent can immediately tell what the tool does.
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 implies how to choose between the two modes ('look up a CVE ID, or search recent vulnerabilities by keyword'), but gives no explicit when-to-use guidance or exclusions relative to other security tools like web_search or ioc_extract. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dice_rollerDice roller and oddsBInspect
Roll tabletop dice from notation like 2d6+3 or 4d6kh3 (keep highest), with repeatable seeds, plus the exact probability distribution of a roll. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| times | No | ||
| notation | Yes | e.g. 1d20+5, 2d6, 4d6kh3 |
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 disclose two valuable behaviors the schema cannot express: seed-based reproducibility and a per-call cost of 1 credit. However, it says nothing about determinism guarantees, batching behavior for multiple rolls, or failure modes for malformed notation.
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 that opens with the core action and notation formats, with the pricing caveat tacked on at the end where it is easy to find. Slightly overloaded by bundling the probability-distribution capability into the same clause, but no wasted 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?
With no annotations and no output schema, the description should describe what comes back. It names the probability distribution as an output but not the shape of a repeated-roll result or how multiple rolls are returned, and the batching parameter is left ambiguous.
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% (only notation is documented in-schema), so the description must compensate. It clarifies that seeds give repeatable results, which adds real meaning beyond the bare 'seed' field, but it leaves 'times' (number of rolls, default 1, max 100) entirely unexplained in either place.
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 (Roll) and resource (tabletop dice) and pins down the notation grammar with concrete examples (2d6+3, 4d6kh3) plus the extra probability-distribution output. It is unambiguously about dice math, but it never distinguishes itself from the nearest sibling, loot_table, which an agent could plausibly confuse for tabletop randomness.
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 notation examples and the mention of repeatable seeds hint at how to call it, but there is no explicit when-to-use or when-not-to-use guidance, and no routing to alternatives such as loot_table for item generation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dns_lookupDNS lookupBInspect
Look up a domain's A, AAAA, MX, TXT, NS and CNAME records. Cost: 1 credit per call.
| 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 behavioral burden. It does add one genuinely useful non-schema fact — 'Cost: 1 credit per call' — which tells the agent this is a metered operation worth using deliberately. It does not disclose whether the lookup is read-only, how failures (NXDOMAIN, timeouts) are surfaced, or any rate limits, leaving meaningful gaps for an unannotated 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?
Two short sentences with zero filler. The functional scope is front-loaded and the cost constraint follows immediately. Every clause 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?
With no output schema and no annotations, the description should ideally describe the shape of the result, error behavior, and safe usage. It partially compensates by listing the record types returned, but omits any return-format or failure-mode detail for a tool whose structured metadata offers nothing.
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?
There is a single parameter, 'domain', and the schema description coverage is 0%, so the description must compensate. Saying 'a domain's ... records' implies the parameter is a domain name, but it adds no format guidance (e.g., whether a bare domain, subdomain, or URL is accepted) despite the schema imposing a pattern, minLength, and maxLength.
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 ('look up') and resource ('a domain's ... records') and enumerates exactly which record types are returned (A, AAAA, MX, TXT, NS, CNAME), so an agent knows precisely what the tool does. It does not, however, distinguish itself from adjacent siblings such as domain_info, subdomain_enum, or reverse_dns, which also operate on domains.
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 choose this tool over domain_info, subdomain_enum, or reverse_dns, and no stated prerequisites or exclusions. The only usage-adjacent information is the cost line, which is not a selection criterion. The agent must infer applicability 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.
domain_infoDomain registration info (RDAP)AInspect
Look up a domain's registrar, registration and expiry dates and nameservers via RDAP. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It does disclose cost ('1 credit per call'), which is genuinely useful non-schema context, but says nothing about read-only/non-destructive nature, authentication needs, behavior for unregistered domains, rate limits, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with zero filler; the core capability is front-loaded and the cost caveat follows in a short clause. Every word 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 lookup with no output schema, the description adequately enumerates the returned data fields and the credit cost. It is missing only edge-case behavior (unregistered domains, invalid TLDs) and input format guidance, which keeps it from a 5.
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 parameter is undocumented in the schema beyond a regex pattern and length bounds. The description references 'a domain's' but never clarifies the expected format (bare registrable domain vs. hostname/subdomain) or whether IDN/internationalized input is accepted, so it only partially compensates.
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 (look up) and resource (a domain's registrar, registration/expiry dates, nameservers) plus the data source (RDAP), which is enough to separate it from generic web or DNS tools. It stops short of naming the adjacent siblings it must not be confused with, such as dns_lookup, reverse_dns and ip_whois, so a 5 is not warranted.
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 agent can infer it is for registration metadata, and 'via RDAP' scopes it to registry data. There is no explicit when-to-use or when-not, and with siblings like dns_lookup, ip_whois, reverse_dns and domain-adjacent site_audit tools in the list, the lack of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_metadataEdit or strip metadataAInspect
Set title, artist, album, comment or year tags, or strip all metadata (location, device, software) before sharing. Copies the streams without re-encoding, so quality is untouched. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Source file: public http(s) link | |
| year | No | ||
| album | No | ||
| title | No | ||
| artist | No | ||
| comment | No | ||
| strip_all | No | Remove all existing metadata first |
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 well: it discloses that streams are copied without re-encoding (quality untouched), a flat cost of 1 credit, async behavior via job_id polled with get_job, and 1-hour link expiry. It omits any auth/permission requirements or confirmation that stripping is irreversible, hence not 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 purpose is front-loaded in the first sentence, followed by operational facts (encoding, cost, async, expiry). Four tight sentences with little waste, though the cost/expiry details could be grouped more cohesively.
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 and no annotations, so the description must cover the operational surface: it explains async job handling and result-link expiry, which is exactly what an agent needs to complete the call. Missing auth prerequisites and per-parameter format detail keep it just short of 5.
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 29% (url and strip_all documented), so the description must compensate. It lists the editable tags (title, artist, album, comment, year) and clarifies what 'strip' removes (location, device, software), but adds no format guidance (e.g. year as a string) beyond the field names.
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: setting named tags (title, artist, album, comment, year) or stripping all metadata, with the explicit goal 'before sharing'. An agent can distinguish it from compress_media or edit_video, though it does not name a sibling to route 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 phrase 'before sharing' implies the primary use case, giving implied context. However there is no explicit when-to-use/when-not guidance and no named alternative (e.g. vs. convert_media or process_audio), leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_videoResize, crop, rotate, speedAInspect
Reframe and adjust a video in one pass: change aspect ratio (for example 9:16 for Shorts and Reels) by cropping to fill or adding bars, downscale, rotate, flip, change speed (audio pitch is preserved), set frame rate, or remove the audio. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | Crop to fill the frame, or pad with black bars | crop |
| fps | No | Output frame rate | |
| url | Yes | Video: public http(s) link | |
| flip | No | Mirror the picture | none |
| mute | No | Remove the audio | |
| speed | No | 1 is normal. 2 is double speed, 0.5 is slow motion | |
| format | No | Output format | mp4 |
| rotate | No | Rotate clockwise, in degrees | 0 |
| quality | No | Quality. Lower quality gives smaller files | medium |
| max_height | No | Shrink video to at most this height, e.g. 720 | |
| aspect_ratio | No | Reframe to this aspect ratio | |
| start_seconds | No | Start time in seconds | |
| duration_seconds | No | Length of the result in seconds |
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 well: it discloses billing rate, asynchronous job semantics with a named polling tool, and a 1-hour expiry window for output links. It still omits whether the source video is modified or preserved, which is the main unresolved behavioral question for a transform 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?
Four front-loaded sentences: purpose first, then cost, async handling, and expiry. The long enumeration in sentence one is dense but scannable; nothing is redundant or 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 13-parameter, no-annotation, no-output-schema tool, the description covers the critical gaps: how long-running work is retrieved and how long links live. It is nearly complete, missing only an explicit statement about what the call returns and whether the input asset is left untouched.
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 already 100%, so the baseline is 3, but the description adds genuine meaning: the aspect_ratio use case (9:16 for Shorts/Reels), the crop-to-fill vs pad-with-bars choice corresponding to the fit enum, and the note that speed changes preserve audio pitch. These go beyond the schema text and justify a 4.
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 opens with a specific verb+resource and enumerates concrete operations (aspect ratio, downscale, rotate, flip, speed, frame rate, mute), so an agent knows exactly what the tool transforms. It does not, however, differentiate itself from overlapping siblings like compress_media (downscaling) or convert_media (format), which is why it falls short of 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?
It gives clear operational context: cost is 1 credit per minute of output, long jobs return a job_id that must be polled with get_job, and result links expire in 1 hour. What's missing is any explicit when-not/to-use-alternative guidance versus trim_media, convert_media, or compress_media.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
email_checkValidate an email addressAInspect
Check email syntax and whether the domain can receive mail (MX records). Flags common disposable domains. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes |
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 meaningful behavioral traits beyond the name: it performs DNS/MX lookups (implying network I/O and latency) and it charges 1 credit per call. That cost disclosure is genuinely useful and not derivable from any structured field. It still omits failure behavior and response shape, keeping it short of 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?
Two sentences plus a cost clause, all front-loaded: what is checked first, then the cost. No wasted words and nothing buried.
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, no-annotation, no-output-schema tool, the description covers what is validated and the cost. The remaining gap is what the result looks like (boolean vs. structured flags), but with no output schema and a trivial input this is close to sufficient.
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 'email' parameter, and the description only implies the input is an email string without adding format, normalization, or edge-case detail beyond the 254-char maxLength already in the schema. Minimum-viable for a trivially simple single-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 (check) and resource (email address), and enumerates the exact sub-checks performed: syntax, MX record deliverability, and disposable-domain flagging. An agent knows precisely what the tool returns conceptually 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?
The use case (validating an email before relying on it) is implied by the checks described, but there is no explicit when-to-use guidance. It does not state whether this is the right call versus related siblings like dns_lookup or domain_info, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_audioExtract audio from videoAInspect
Pull the audio track out of a video (or re-encode an audio file). Choose which audio track when a file has several. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Source file: public http(s) link | |
| format | No | Audio format | mp3 |
| audio_track | No | Which audio track, starting at 0 | |
| bitrate_kbps | No | Audio bitrate in kbps | |
| start_seconds | No | Start time in seconds | |
| duration_seconds | No | Length of the result in seconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the whole burden and does so well: cost per minute of output, async job_id with a named polling tool, and a 1-hour link expiry. It omits auth requirements and error behavior, so it falls short of 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, each carrying a distinct fact (purpose, track selection, cost, async/expiry), with the primary purpose front-loaded. Nothing is redundant.
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, but the description explains the return path (job_id, poll via get_job, expiring links) and the cost model, which is exactly what an agent needs to plan a call to this 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 100%, so the schema already documents all six parameters with enums, bounds, and defaults; baseline is 3. The description only adds the notion that audio_track matters when a file has several tracks, which is marginal 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+resource ('pull the audio track out of a video') and expands scope to a second case ('or re-encode an audio file'). This clearly distinguishes it from nearby siblings like process_audio, trim_media, and compress_media.
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 useful context — choose the track when multiple exist, and poll with get_job for long jobs — but never states when to prefer this over alternatives such as process_audio or trim_media. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_contactsFind contact details on a pageBInspect
Scan a page for email addresses, phone numbers and social profile links (LinkedIn, X, Facebook, Instagram, YouTube, GitHub). Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL |
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 usefully discloses a concrete cost ('1 credit per call'), which is real information beyond the schema, but omits permission/auth needs, whether JS-rendered pages are handled, rate limits, and failure behavior on non-HTML responses.
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 tight sentences with zero filler; the extraction scope is front-loaded and the cost caveat follows. Nothing is redundant with the title or 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 simple one-parameter read tool with no annotations and no output schema, the description covers what is extracted and the cost, but leaves the return shape (flat list vs. grouped per type), empty-result behavior, and page-fetch constraints unaddressed. 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?
Schema description coverage is 100% for the single 'url' parameter, so the schema already documents it as a public http(s) URL. The description adds no syntax, format, or constraint detail beyond the schema, which is the expected baseline for full-coverage schemas.
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 ('Scan a page') and resource, and enumerates exactly what it extracts (emails, phones, social profiles), which separates it from generic siblings like extract_links and extract_tables. It never names a sibling explicitly, so differentiation is achieved through the field list rather than routing.
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 statement of prerequisites, and no mention of alternatives such as extract_links, extract_content, or scrape_page, despite several overlapping siblings. Usage must be inferred entirely from the field enumeration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_contentExtract content from many URLsBInspect
Fetch up to 10 URLs in parallel and return the clean readable text of each (title, text). Failed URLs report an error. Cost: 3 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| max_chars_per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses parallel execution, per-URL error reporting, and a cost of 3 credits per call, but says nothing about auth requirements, rate limits, retries, or how non-HTML/JS-rendered pages are handled.
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 zero filler; the core capability and its scale limit are front-loaded, followed by failure behavior and cost. Every sentence carries information an agent 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 annotations and no output schema, the description does a fair job covering return shape and error behavior, but the undocumented max_chars_per_page parameter is a real gap for a 2-param tool. Adequate but not 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 0% for both parameters. The description conveys the URL count limit (10, mirroring maxItems) but never explains max_chars_per_page, its 8000 default, or its 500-30000 bounds, leaving one of two parameters undocumented anywhere.
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 (fetch URLs, return clean readable text) plus concrete scope: up to 10 in parallel, with the return shape (title, text). It does not name or distinguish itself from close siblings like scrape_page, crawl_site, or fetch_json, so an agent must infer the 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?
Usage is only implied: the parallel batch of up to 10 URLs and 'clean readable text' output suggest bulk article/page extraction, distinct from extract_links or fetch_json. No explicit when-to-use, when-not, or named alternative is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_dataExtract data with CSS selectorsBInspect
Scrape specific elements from a page. Give a map of field name to CSS selector; each field returns the text of every match. Append '@attr' to a selector to read an attribute instead, e.g. 'a.product@href' or 'img@src'. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL | |
| limit | No | Max matches per field | |
| selectors | Yes | e.g. {"titles": "h2.title", "links": "a.item@href"} |
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 add real value by specifying the return shape ('each field returns the text of every match') and a cost signal ('1 credit per call'), both absent from structured fields. However, it omits operationally important traits such as JS-rendering support, no-match/error behavior, and rate limits.
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 tightly written sentences, front-loaded with the core action, then the input format, then the attribute trick and cost. No filler or redundancy; every sentence carries 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?
With no output schema, the description usefully covers the return semantics and the per-call cost, and the schema fully covers inputs. It is nearly complete for a scraping tool, falling short only on failure/pagination behavior that an agent might reasonably want.
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 url, limit, and the selectors map, including the '@href' example. The description reiterates the field-to-selector mapping and @attr syntax, adding little beyond the schema, and it never mentions the limit parameter. 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?
The description gives a specific verb and resource: 'Scrape specific elements from a page,' and the CSS-selector mechanism makes it distinguishable from nearby siblings like extract_links and extract_tables. It does not, however, explicitly differentiate itself from scrape_page or extract_content, so an agent still has to infer which is right.
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 explicit when-to-use or when-not-to-use guidance, and no alternative tools are named despite several overlapping siblings (scrape_page, extract_content, extract_links, extract_tables, crawl_site). The text explains how to format the input, not when this tool is the correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_linksExtract linksAInspect
List every link on a page with its anchor text. Optionally keep only links on the same domain. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL | |
| same_domain_only | No |
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 a real behavioral trait not present in the schema: cost of 1 credit per call. It is silent on other relevant traits such as whether the page must be statically fetchable, whether redirects are followed, and any rate limits.
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 filler: what it returns, the optional filter, and the cost. The core purpose is front-loaded and each sentence 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 2-parameter read tool with no output schema, the description states the return shape (links plus anchor text) and the cost. Minor gaps remain around output volume/pagination and static-vs-JS rendering behavior, but nothing blocking for correct 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% — url is documented but same_domain_only has no schema description. The description compensates by explaining that flag ('Optionally keep only links on the same domain'), so the semantics of the undocumented parameter are recoverable from the text.
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 ('List every link on a page with its anchor text'), which cleanly separates it from neighbors like extract_content, scrape_page, and sitemap_urls. It stops short of naming any sibling, so sibling differentiation is implicit rather than explicit.
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 reference to alternatives such as crawl_site (multi-page) or check_urls (validate links). The only usage flavor is the inline note that same-domain filtering is optional, which describes a parameter rather than when to pick this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_tablesExtract HTML tablesBInspect
Pull every table on a page as rows of cells (first row of each table is usually the header). Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL | |
| max_tables | No |
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 usefully discloses the cost (1 credit per call) and a header heuristic, but omits important traits like what happens on pages with no tables, how max_tables affects results, and whether the extraction is static or rendered.
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 tightly written sentences with no filler, front-loading the core action and output shape before the cost note. Every sentence 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 extraction tool with no output schema, the description covers purpose, output shape, and cost, but leaves key gaps around max_tables behavior and empty-result handling. It is adequate but incomplete for correct 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 50%: url is documented, but max_tables has no description in either schema or description. The description says 'every table' while the schema defaults max_tables to 10, which is potentially misleading and does not compensate for the missing parameter semantics.
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 and resource ('Pull every table on a page') and clarifies the output shape ('rows of cells'), which distinguishes it from general siblings like extract_content or extract_data. It does not explicitly name or contrast with those alternatives, so it stops short of 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 guidance on when to choose this tool over siblings such as scrape_page, extract_content, extract_data, or extract_links, and no prerequisites or exclusions are stated. The only conditional information is a cost note, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_jsonFetch a JSON APIBInspect
GET a public JSON endpoint and return the parsed result. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It usefully discloses a cost ('1 credit per call'), but says nothing about timeouts, redirect following, auth requirements, size limits, or error behavior for a live network call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the core action front-loaded and the cost disclosure appended. Nothing is wasted or buried.
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 low-complexity single-param tool with no output schema, the description should still clarify return shape and failure behavior; 'parsed result' is thin and nothing is said about non-JSON responses or errors. It is minimally adequate but leaves real gaps for a network-facing 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?
There is a single parameter with 100% schema description coverage ('Public http(s) page URL'), so the schema already does the work. The description adds no extra meaning about the URL (e.g. query handling or scheme restrictions), giving 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 (GET) and resource (public JSON endpoint) and clarifies the output ('parsed result'). It implicitly distinguishes itself from HTML-oriented siblings like scrape_page or extract_content by targeting JSON, but never names or contrasts those siblings 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 or when-not-to-use guidance and does not point to any alternative sibling (e.g. scrape_page for HTML, parse_feed for feeds). An agent must infer the selection criteria 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.
get_audit_logGet audit logAInspect
Free. List this API key's recent web and dark web tool calls (time, tool, input, success) for compliance and record keeping. For CSV export use GET /api/audit?format=csv with your key.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Only this tool, e.g. onion_fetch | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden; it does disclose that the call is 'Free', that it is key-scoped and read-only in nature, and it lists the response fields. However it omits pagination behavior, ordering, retention window for 'recent', default/limit behavior (50/500), and rate limits, leaving meaningful gaps for a no-annotation 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?
Two sentences, cost information front-loaded, no filler. Every clause earns its place: cost, scope, output fields, purpose, and the CSV alternative.
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 the description partially compensates by naming the returned fields. Still missing are result ordering, how 'recent' is bounded, pagination semantics, and an explanation of the undocumented 'limit' parameter, which an agent would need to call this 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 only 50%: 'tool' is documented in the schema but 'limit' has only default/min/max constraints and no prose. The description mentions neither the tool filter nor the limit/pagination parameter, so it does not 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 concrete verb ('List') plus the resource ('this API key's recent web and dark web tool calls') and even enumerates the returned fields (time, tool, input, success). It is clearly distinguished from the similarly named sibling site_audit. It stops short of naming any competing MCP tool, so a 4 rather than 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?
It states the use case ('for compliance and record keeping') and explicitly routes the agent to a different mechanism for CSV output. It does not state when not to use this tool or any prerequisites, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balanceGet balanceBInspect
Show how many media minutes (credits) are left on this API key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 implies a read-only lookup, but discloses nothing about authentication scope, rate limits, unit conversion nuances, or what is returned when credits are exhausted.
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. It says exactly what the tool returns and nothing more.
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-parameter tool with no output schema, the description usefully explains the return value's meaning (media minutes mapped to credits), which compensates for the missing output schema. The one gap is the absence of any note on behavior at zero balance.
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 tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate. It correctly avoids inventing parameter semantics that do not exist.
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 and resource: showing remaining media minutes/credits on the API key. It is unambiguous, though it makes no attempt to distinguish itself from siblings like get_job or get_audit_log, so it lands at a clear-but-undifferentiated 4.
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 checking balance before expensive operations, and no stated prerequisites. The usage is only weakly implied by the phrase 'left on this API key'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jobGet job statusCInspect
Check a job started by any other tool. Returns the results when it is finished.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | 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. It hints at async completion semantics ('Returns the results when it is finished'), but does not say what is returned while the job is still pending, what happens on failure or timeout, or whether polling is required — all critical for a job-status 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?
Two short, front-loaded sentences with no filler; the core action leads and the return behavior follows. Slightly terse rather than padded, which is appropriate, though it leaves no room for the missing detail 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, no output schema, and a 0%-coverage input schema, the description is the only source of information and it omits the job_id contract, pending/failure states, and return shape. For a polling tool in a large toolset, this leaves the agent under-equipped to call 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 0% and the description never mentions the single parameter job_id — not its format, where it comes from, or whether it is required. With one undocumented parameter, the description does not compensate for the schema 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 ('a job'), and scopes it to jobs 'started by any other tool', which distinguishes it from sibling tools that do the work itself. It stops short of naming any specific sibling start tool, but the async-job-worker role 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?
'Check a job started by any other tool' implies the usage context (call this after some other tool launched an async job), which is genuine guidance. However, it says nothing about when not to use it, how to obtain the job_id, or how often/when to poll versus waiting for a push.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_media_infoInspect a media fileAInspect
Read a file's duration, resolution, frame rate, codecs, bitrate, audio tracks and metadata tags without converting it. Free. Cost: Free. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Source file: public http(s) link |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses the operation is non-converting (read-only), is free, may run as a long job returning a job_id to poll via get_job, and that result links expire in one hour. These are exactly the operational traits an agent needs. It still doesn't say what happens on an unreachable/unsupported file.
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 capability list is front-loaded and the operational notes follow compactly. The only waste is the redundant 'Free. Cost: Free.' duplication, which costs it a point.
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 or annotations, the description covers the return contents, cost, async/polling behavior, and link expiry. The main omission is error behavior for unsupported or inaccessible URLs, which is a minor 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 parameter is fully documented in the schema itself ('Source file: public http(s) link'). The description adds no format or constraint detail beyond that, 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?
States a specific verb (read/inspect) and resource (a media file) and enumerates exactly what is extracted: duration, resolution, frame rate, codecs, bitrate, audio tracks, metadata tags. It is clearly a read-only inspection tool, though it does not differentiate itself from the sibling analyze_media, which sounds closely related.
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 phrase 'without converting it' implies this is the non-destructive inspection option versus conversion/edit siblings, and 'Free' hints at cost considerations. However, it never states when to prefer this over analyze_media or edit_metadata, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hash_identifyIdentify a hash typeAInspect
Guess which algorithm produced a hash (MD5, SHA family, bcrypt, argon2, crypt formats) from its length and format. Does not crack or reverse hashes. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | 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 usefully discloses the non-goal (no cracking/reversing) and the cost model (1 credit per call), which are real behavioral traits. However, it says nothing about result shape (single best guess vs. ranked candidates), confidence, or accuracy limits for ambiguous lengths/formats.
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 sentences plus a short cost line, with the core purpose and the algorithm families front-loaded. Every clause carries information; nothing is 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 single-parameter tool with no output schema and no annotations, the description covers purpose, scope boundary, and cost, which is close to what an agent needs. The one remaining gap is that it never characterizes the return value, which the absence of an output schema leaves entirely to the agent's imagination.
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 at 0% schema coverage: the description implies the input is the raw hash string and that length/format are what get analyzed, which is useful orientation. It adds no syntax, encoding, or formatting guidance (e.g., how to pass crypt strings, whether prefixes like '$2y$' are required) and doesn't explain the 8–300 char bounds.
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 (guess/identify) and resource (hash type) plus the concrete algorithm families covered (MD5, SHA, bcrypt, argon2, crypt). The clause 'Does not crack or reverse hashes' cleanly separates it from any cracking-adjacent tool, so an agent can pick it 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?
The negative scope ('does not crack or reverse hashes') gives the agent an explicit when-not condition, which is more than most definitions offer. It stops short of naming a sibling to use instead (e.g., password_check or jwt_inspect for those adjacent tasks), so it is clear context rather than a full routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hub_appsConnect, list and test appsBInspect
Manage the apps in a workspace. Actions: list (apps, inbound URLs, routes and activity), add (an agent inbox, Slack, Discord or generic https webhook), remove, test (send a test message to an app), rotate_token (new inbound URL if one leaked). Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| kind | No | agent | |
| name | No | ||
| action | No | list | |
| workspace | No | Workspace name. Leave as main unless you run several | main |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the cost (1 credit per call) and the purpose of rotate_token, but says nothing about whether 'remove' is destructive/reversible, what auth or permissions are needed, or what 'test' actually validates.
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 dense sentence, front-loaded with the resource and followed by an action list, then cost. No filler; each clause earns its place, though the sentence is getting long.
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 5-param, no-output-schema, no-annotation tool this is close but not complete: the action/kind semantics and cost are covered, but url/name semantics and any return or side-effect behavior for add/remove/test/rotate_token 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 only 20% (only 'workspace' documented), so the description must compensate. It does explain the 'action' enum values and the 'kind' targets (agent inbox, Slack, Discord, generic https webhook), but leaves 'url' and 'name' format/purpose undocumented, so coverage of the 5 params is partial.
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 ('Manage the apps in a workspace') and enumerates the five actions with parenthetical clarifications, so the agent knows exactly what the tool covers. It doesn't explicitly distinguish itself from nearby siblings like hub_routes or hub_send, but the action list is concrete enough to place 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?
The action glosses double as implied usage ('rotate_token (new inbound URL if one leaked)'), giving context for each mode, and the credit cost is disclosed. However there is no explicit when-to-use-this-vs-alternative guidance, and no exclusions against hub_send/hub_routes for overlapping concepts like routes and messages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hub_readRead an agent inbox or the event logAInspect
Read messages waiting in an agent app's inbox (marks them read unless peek is true), or the recent event log of the whole workspace for debugging. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Agent app to read. Omit to read the workspace event log | |
| peek | No | ||
| limit | No | ||
| workspace | No | Workspace name. Leave as main unless you run several | main |
| include_read | No |
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 the key side effect (messages are marked read unless peek=true) plus a cost of 1 credit per call. It omits other behavioral facts an agent would want, such as whether the read is idempotent or how results are ordered/paginated.
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 tight sentences, front-loaded with the primary inbox action, then the debugging mode, then the cost. Nothing is wasted or repeated from 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 5-parameter read with no output schema and no annotations, the description covers both operating modes, the mutation side effect, and cost. It stops short of explaining include_read and limit boundaries, which nothing else documents either.
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 40%. The description compensates for 'peek' by explaining it suppresses the mark-as-read side effect, but 'limit' and 'include_read' are undocumented in both the schema and the description, leaving meaningful gaps.
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 the specific resource and the two distinct modes in one breath: reading an agent app's inbox, or the workspace event log. It also states the condition that switches modes (omit 'app'), which is exactly what distinguishes this tool from hub_send, hub_state, and get_audit_log.
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 context for each mode: inbox reading for messages, event log 'for debugging'. It does not explicitly exclude or name alternatives like get_audit_log or hub_state, so an agent must infer routing from names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hub_routesConnect apps with routesBInspect
Decide what flows where. A route forwards events from one app (or * for any) to another when the event type matches (supports * wildcards such as alert.*) and optionally when the payload contains some text. Templates shape the message, e.g. '{{from}} says {{payload.message}}'. Actions: add, list, remove. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| when | No | ||
| action | No | add | |
| contains | No | ||
| route_id | No | ||
| template | No | ||
| workspace | No | Workspace name. Leave as main unless you run several | main |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses cost (1 credit per call), wildcard matching semantics, and template syntax, but omits critical behavioral details: permissions required, whether remove is destructive or permanent, and what happens when an add conflicts with an existing route.
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-loads the purpose with 'Decide what flows where' and then packs useful mechanics, an example template, action list, and cost into minimal sentences. Every sentence adds distinct value with no filler or repetition.
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 an 8-parameter, multi-action tool with no annotations and no output schema, the description is helpful but incomplete. It does not say which parameters apply to which action (e.g., route_id for remove), nor does it describe what list returns. An agent would still need to infer operational details.
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 13%, so the description must compensate, and it largely does: it explains the semantics of from, to, when, contains, template, and action. Only route_id is left unexplained, and workspace is covered by the schema. This is strong but not complete.
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 domain action: it manages event-routing rules that forward events from one app to another. It clearly distinguishes routing from sending by describing the forwarding conditions, wildcards, and templates. It does not name sibling tools, but the core 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?
Offers the vague hook 'Decide what flows where' but gives no explicit when-to-use criteria or alternatives. It lists actions add, list, remove but does not explain when to choose each or how they relate to sibling hub tools like hub_send. Usage context is implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hub_sendSend a message or event between appsAInspect
Send an event into the workspace as one of your apps. Routes then deliver it to Slack, Discord, webhooks or agent inboxes. Use to to deliver straight to one app without a route. This is how agents and apps talk to each other. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | Which app is sending | agent |
| type | No | Event type, e.g. alert.price or to:reviewer | message |
| message | No | ||
| payload | No | Any JSON data to include | |
| workspace | No | Workspace name. Leave as main unless you run several | main |
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 usefully discloses the cost ('1 credit per call') and the routing behavior, but says nothing about auth requirements, delivery guarantees (sync vs async), failure modes, or what happens with the all-default (zero required) parameter set.
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?
Five short sentences, front-loaded with the core action and the routing model, with the cost note placed last where it belongs. No sentence is redundant or padded.
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 could usefully say what a successful send returns or how delivery is confirmed, but it is silent on return values and failure behavior. For a zero-required-parameter send tool, this leaves meaningful gaps despite solid coverage of purpose and routing.
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 `to`, `message`, and `payload` undocumented in the schema. The description meaningfully compensates for the most important gap by explaining that `to` bypasses routes to target a single app directly. It does not add semantics for `message`, `payload`, or `type` 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 (Send) and resource (event/message) and explains the delivery mechanism: routes push to Slack, Discord, webhooks, or agent inboxes. This clearly separates it from read-oriented siblings like hub_read/hub_state, 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?
Gives a concrete when-to-use rule for the `to` parameter ('deliver straight to one app without a route') versus the default routed delivery, and frames the tool's role ('this is how agents and apps talk to each other'). It lacks any when-not-to-use or explicit sibling referral, so it stops 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.
hub_setupSet up a connected workspace in one stepAInspect
Create a workspace that links your apps and agents so they can talk to each other. Pick a template or list apps and routes yourself. Every app gets a private inbound URL: any tool that can POST JSON to it sends events into the workspace, and routes forward those events to other apps (Slack, Discord, any https webhook, or an agent inbox that AI agents read with hub_read). Templates: 'chat_alerts' (send alerts from anything into Slack/Discord), 'agent_team' (give each agent an inbox and let them message one another), 'webhook_relay' (receive events and forward them to another service), 'blank'. Cost: 2 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| apps | No | ||
| agents | No | agent_team: names, e.g. [researcher, writer, reviewer] | |
| routes | No | ||
| chat_url | No | chat_alerts: Slack or Discord incoming-webhook URL | |
| template | No | blank | |
| workspace | No | Workspace name. Leave as main unless you run several | main |
| target_url | No | webhook_relay: https URL to forward events to |
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 well: it discloses the cost (2 credits per call), the behavioral model (every app gets a private inbound URL that accepts POSTed JSON, routes forward events), and where events land (Slack, Discord, https webhook, agent inbox read via hub_read). It omits auth/permission requirements and whether re-running against an existing workspace overwrites or errors.
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 action and mechanism, then template enumeration and cost. Long but dense with useful specifics; the template list is the only section that could be tightened, and it is arguably necessary for correct invocation.
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 7-parameter creation tool with no annotations and no output schema, the description covers mechanism, cost, and template semantics well. The main gap is that, absent an output schema, the description never states what is returned (e.g. the inbound URLs or workspace id an agent needs to proceed to hub_send).
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?
At 57% schema description coverage, the description compensates by mapping parameters to templates: chat_url for chat_alerts, target_url for webhook_relay, agents for agent_team, and the template names themselves. It adds real meaning over the raw schema, though the nested apps/routes structures are left to the schema's own field descriptions.
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 ('Create a workspace that links your apps and agents') and immediately clarifies the mechanism: private inbound URLs, routes forwarding events. An agent can distinguish this from hub_read/hub_send/hub_state, which operate on an existing workspace rather than creating one.
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?
Explains the two creation paths ('Pick a template or list apps and routes yourself') and enumerates each template with its purpose, which effectively tells an agent when each configuration applies. It does not explicitly say 'call this before hub_send/hub_read', leaving the ordering against siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hub_stateShared workspace memoryBInspect
A small key-value store every app and agent in the workspace can read and write, so they share context (current task, last result, settings). Actions: get, set, delete, list. Up to 100 keys of 4 KB each. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| value | No | ||
| action | No | list | |
| workspace | No | Workspace name. Leave as main unless you run several | main |
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 facts: a 100-key / 4 KB capacity limit and a 1-credit cost per call, plus workspace-wide sharing scope. It stops short of mutation semantics — nothing says delete is irreversible, what happens on a missing key, or what the response contains.
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, front-loaded sentences: identity, actions, capacity, cost. No filler, and the most important framing (what the store is for) comes first.
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, no-output-schema tool with no annotations, the description covers purpose, operations, limits, and cost but omits return/error behavior and any differentiation from the hub_* family. Adequate but leaves real gaps an agent would have to probe.
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 25% (workspace alone is documented in the schema), so the description must compensate and does not. It repeats the action enum already present in the schema and says nothing about the key pattern, accepted value types, or the workspace scoping rules.
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 resource (a shared key-value store) and enumerates the exact operations (get, set, delete, list), so the agent knows precisely what the tool does. It does not, however, distinguish itself from the hub_* siblings (hub_read, hub_send, hub_routes), which could plausibly overlap.
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 gives a use case — 'every app and agent in the workspace can read and write, so they share context (current task, last result, settings)' — which implies when it is useful. But there is no explicit when-to-use versus alternatives, no prerequisites, and no exclusion guidance relative to the other hub tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ioc_extractExtract indicators of compromiseAInspect
Pull IPs, domains, URLs, emails, file hashes (MD5, SHA-1, SHA-256) and CVE IDs out of a block of text such as a threat report, log or email. De-fangs hxxp and [.] notation. Cost: 1 credit per call.
| 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, and it adds genuinely useful behavior: de-fanging normalization of hxxp and [.] notation, and a per-call credit cost. It stops short of describing return shape (list vs grouped, dedup) or how the 500KB limit is enforced, but the normalization and cost disclosures are meaningful.
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 sentences, front-loaded with the extraction scope. The normalization note and cost line each carry distinct value; nothing is redundant.
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-input extraction tool with no annotations and no output schema, the description covers what is extracted, from what kind of input, and a normalization caveat. Missing an explicit return-format statement, which matters more since no output schema exists to document it.
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 there is one parameter, so the description must compensate. It characterizes the 'text' input semantically as a block of text such as a threat report, log, or email, which tells the agent what to feed in. It adds no format/size hints beyond the schema's min/max length.
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 (pull/extract) and resource (IOCs), then enumerates the exact artifact classes: IPs, domains, URLs, emails, file hashes, CVE IDs. This distinguishes it clearly from siblings like extract_links, extract_contacts, and extract_data without needing 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 context for when to use it ('a block of text such as a threat report, log or email'), which frames the input domain well. It does not name or exclude any sibling extract_* tool, so there is context but no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ip_infoIP / domain geolocationBInspect
Geolocate a public IP address: country, city, ISP/organization, ASN and timezone. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | 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 usefully discloses the cost ('1 credit per call') and the public-IP constraint, but says nothing about read-only nature, authentication, rate limits, or what happens on invalid/private input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the core action and output fields, with the cost constraint appended. No wasted 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?
Because there is no output schema, the description appropriately names the returned fields. Cost is disclosed. It is nearly complete for a simple lookup, missing only error/edge-case behavior and sibling differentiation.
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; the schema only encodes a pattern and length bounds. The description partially compensates by clarifying that the value must be a public IP, but adds no format guidance (IPv4 vs IPv6) beyond that.
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 (Geolocate) and resource (public IP address) and enumerates the returned fields (country, city, ISP/org, ASN, timezone). It does not differentiate itself from the very similar sibling ip_whois, which also operates on IPs, so an agent cannot route between them 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 and no mention of alternatives such as ip_whois or domain_info. The only constraint offered is the adjective 'public', which implicitly excludes private/reserved ranges, but this is not stated as a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ip_whoisIP WHOIS (RDAP)AInspect
Look up who owns a public IP address: network name, range, country, registrant and abuse contact, from the regional internet registries. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | 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 usefully discloses the data source (RIR RDAP) and the billing behavior (1 credit per call), which are real operational facts. It omits what happens for private/reserved IPs, error behavior, and rate limits, so it is adequate but incomplete.
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 front-loaded sentence covering purpose, source, returned fields, and cost. No filler, nothing repeated from the title.
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?
Single-parameter tool with no output schema and no annotations; the description compensates by listing the fields returned and disclosing cost. It would be complete with a note on private-IP handling and error behavior, but for this complexity level it is nearly sufficient.
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 0% – the schema supplies just a character pattern and length bounds. The description adds the important semantic constraint that the input must be a *public* IP, which the schema cannot express. That is meaningful additional meaning above 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 (look up) and resource (public IP ownership) and enumerates the returned fields (network name, range, country, registrant, abuse contact) plus the source (regional internet registries). This clearly separates it from registration-less siblings like ip_info, ping, or reverse_dns.
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 ip_info, dns_lookup, or reverse_dns, and no mention of the implied precondition that the IP must be public/routable. The only usage-adjacent statement is the cost, which is not a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jwt_inspectDecode a JWTAInspect
Decode a JSON Web Token's header and claims and check expiry. Does not verify the signature and never sends the token anywhere. Cost: 1 credit per call.
| 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 burden and does a good job: it discloses that the signature is NOT verified, that the token is never transmitted externally (a privacy guarantee), and the cost of 1 credit per call. It omits behavior on malformed/expired tokens and the exact return shape, which keeps it short of 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?
Three short sentences, each earning its place: purpose, the critical non-verification/privacy caveat, and cost. Front-loaded with the action and free of filler.
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, read-only decoder with no output schema, the description covers what gets decoded (header, claims, expiry), the signature-verification limit, privacy, and cost. Only minor gaps remain around error handling and the precise decoded response shape.
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 'token' parameter has 0% schema description coverage, so the schema only supplies type and length bounds. The description implies the expected input is a raw JWT via the phrase 'JSON Web Token', but adds no format or encoding guidance (e.g., compact JWS string) beyond that.
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 header and claims), plus the additional expiry check. No sibling tool does anything similar, so the agent can identify this unambiguously from the name and 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 explicit when-to-use guidance or named alternative, but the scope boundary 'Does not verify the signature' implicitly tells the agent when this tool is and isn't appropriate. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
keyword_formatterKeyword match-type formatterAInspect
Turn a keyword list into Google/Microsoft Ads match types (broad, phrase, exact), find duplicates, and generate a negative-keyword starter list for a chosen intent. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | Yes | ||
| negatives_for | No | none |
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 disclose a meaningful trait: cost (1 credit per call). However, it does not say whether the operation is deterministic, whether duplicates are removed or merely reported, whether output is idempotent, or what happens when the 500-keyword cap is exceeded.
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 sentences, zero waste: the primary purpose and its three sub-operations are front-loaded, and the cost line is short and independently useful. Nothing is repeated from the name or title.
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-parameter, no-output-schema transform tool, the description is nearly complete: it states inputs, outputs, and cost. The remaining gap is output shape (how match types and duplicates are returned) and the undocumented enum values, which the schema leaves entirely bare.
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 only partially does. It implies the keywords input and gestures at the intent/negatives_for parameter, but never enumerates the five allowed intent values (none, b2c_services, ecommerce, software, jobs_filter) or explains the 80-char/500-item limits.
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 names a specific verb+resource ('Turn a keyword list into Google/Microsoft Ads match types') and enumerates three concrete outputs: match types, duplicate detection, and a negative-keyword starter list. No sibling tool (ad_copy_check, ad_metrics, utm_builder) overlaps with this keyword-formatting job, so an agent can route to it unambiguously.
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 implied by 'for a chosen intent,' which hints that negatives_for should be set deliberately, but there is no explicit when-to-use, when-not-to-use, or alternative-tool guidance. Nothing tells the agent whether this replaces or complements ad_copy_check or ad_metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loot_tableWeighted loot and drop tablesAInspect
Roll from a weighted loot table, or report each item's drop chance. Handles rarity weights and returns repeatable results with a seed. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| items | Yes | ||
| rolls | No |
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 add real value by disclosing determinism via seed and a cost of 1 credit per call. However, it omits what happens with non-normalized weights, weight limits, or error behavior, so the disclosure is partial.
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 tight sentences, front-loaded with the primary action, with no filler. The cost note earns its place as an operational constraint.
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 small three-parameter tool with no output schema and no annotations, the description covers mode, determinism, and cost but leaves parameter behavior (rolls) and return shape unaddressed. Adequate but with visible 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 coverage is 0% across three parameters. The description adds meaning for items ('rarity weights') and seed ('repeatable results'), but the rolls parameter, its default of 10, and its 0-1000 range are never addressed, leaving a key input unexplained.
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 ('Roll from a weighted loot table') plus a second mode ('report each item's drop chance'). It is clearly distinguishable from siblings like dice_roller or xp_curve, though it never names an alternative to route 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 two modes (roll vs. report drop chance) are mentioned but nothing explains how to select between them; presumably rolls=0 triggers reporting, but that is left to inference. No explicit when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_slideshowImages to videoAInspect
Turn a set of images into a video slideshow, with optional slow zoom and a music track. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | 1280x720 | |
| zoom | No | Slow zoom on each image | |
| images | Yes | Images, in order: public http(s) links | |
| music_url | No | Music (optional): public http(s) link | |
| seconds_per_image | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses the credit cost (1/minute), async job_id behavior, the need to poll via get_job, and a 1-hour expiry on result links. It still omits failure modes and any input caveats beyond what the schema states.
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 tight sentences; the core action is front-loaded and each remaining sentence delivers a distinct operational fact (cost, async polling, expiry) with no filler.
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 explains returns: synchronous vs. job_id plus polling and link expiry. The only gap is that it never says what a completed (non-async) job returns directly.
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 60%, and the description only reinforces zoom and music; the size enum and seconds_per_image (with its 1-30 bounds) are left entirely to the schema. It adds modest meaning over the structured fields, matching the baseline for partial coverage.
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 ('Turn a set of images into a video slideshow') and names the two major optional behaviors (slow zoom, music track). It is clearly distinguishable from media siblings like edit_video or merge_media, though it does not explicitly say 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?
Gives operational guidance for the async path (poll with get_job) and the cost model, which implies when this is worthwhile, but offers no explicit when-to-use vs. alternatives such as merge_media or sprite_sheet.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_thumbnailsThumbnails and contact sheetAInspect
Grab still frames from a video at chosen times or evenly spaced, or build one contact sheet that shows the whole video at a glance. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video: public http(s) link | |
| mode | No | frames | |
| count | No | How many frames, spread evenly through the video | |
| width | No | Frame width in pixels | |
| format | No | jpg | |
| at_seconds | No | Exact times to grab. Overrides count |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden and does well: it states the flat credit cost, explains that long jobs return a job_id to poll with get_job, and warns that result links expire in one hour. These are important operational traits beyond the schema. It still omits auth requirements and error behavior, so it is not fully comprehensive.
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 tightly written sentences, with the core purpose front-loaded before operational caveats. Every sentence earns its place: purpose, cost, async polling, and link expiry. No filler or redundancy.
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 most context. It adequately covers purpose, modes, cost, async behavior, polling, and link expiry. It could still say more about return structure or authentication, but for a tool of this complexity the description is largely 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 67%, so some parameters are documented in the schema while mode and format lack descriptions there. The description adds useful meaning by explaining the frames-vs-contact-sheet modes and the chosen-times vs evenly-spaced frame selection. It does not cover width, format, or the count/at_seconds override relationship beyond what is already in 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 specific verb and resource: grabbing still frames from a video or building a contact sheet. It clearly separates the two output modes, so an agent can tell what the tool does. However, it does not name or contrast against sibling tools like sprite_sheet, shot_list, or make_slideshow, so it falls short of full 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?
The description explains the two output modes but gives no explicit guidance on when to choose this tool over alternatives. There are no when-to-use conditions, exclusions, or named alternatives. The agent must infer usage context from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merge_mediaJoin clips togetherAInspect
Join several video or audio files end to end. Clips with different sizes, frame rates or audio settings are matched automatically, so mixed sources just work. Clips without audio get silence and audio-only clips get a black picture. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | Clips, in order: public http(s) links | |
| format | No | Defaults to mp4 for video and mp3 for audio-only | |
| quality | No | Quality. Lower quality gives smaller files | medium |
| max_height | No | Shrink video to at most this height, e.g. 720 |
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, and it delivers: automatic normalization of mismatched sizes/frame rates/audio, defined behavior for audio-less and audio-only clips, credit cost per output minute, job_id polling via get_job for long jobs, and 1-hour link expiry. This is unusually rich 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?
Six tight sentences, front-loaded with the core operation, then behavior, then cost and lifecycle. Every sentence carries distinct information with no repetition.
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 supplies the operational essentials an agent needs: cost model, async job handling via get_job, and result expiry. Nothing critical to correct invocation 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 coverage is 100% and every parameter (urls ordering, format defaults, quality, max_height) is already documented in the schema. The description adds no format, ordering, or default detail beyond what structured fields provide, 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 and resource ('Join several video or audio files end to end'), which clearly distinguishes it from siblings like trim_media, convert_media, and edit_video. An agent can identify the operation 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?
Gives clear context for when this applies ('mixed sources just work', audio-only/video-only handling) and how to follow up on long jobs via get_job. However, it never names or excludes sibling alternatives (e.g. trim_media, convert_media), so routing among similar media tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
midi_generateMake a MIDI file from chordsAInspect
Create a downloadable .mid file from a chord list, as block chords, arpeggios or a bass line. Returns the file base64 encoded so it can be saved and opened in any DAW. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| bpm | No | ||
| seed | No | Same seed gives the same velocities | |
| chords | Yes | Chord names, e.g. ['Am','F','C','G'] | |
| octave | No | ||
| pattern | No | block | |
| beats_per_chord | No |
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 add real behavioral context: the output is base64-encoded, it is a downloadable file usable in any DAW, and each call costs 1 credit. It omits determinism behavior, error cases, and the practical limits (32 chords, bpm 40-240) that live only in 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?
Three short sentences, each doing distinct work: what is produced, how it is returned, and what it costs. The capability statement is front-loaded and there is no filler.
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 the description correctly fills that gap by explaining the base64 return payload and DAW compatibility. Cost is also covered, which annotations would normally not provide. Remaining gaps are the unstated generation constraints and the non-documented musical parameters.
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%, so the description must compensate and it partly does by enumerating the pattern options (block, arpeggio, bass) that map to the enum parameter. However, bpm, octave, beats_per_chord, and seed receive no explanation anywhere, and the chord-format hint in the schema is left unreinforced.
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 and resource: 'Create a downloadable .mid file from a chord list', and names the three pattern variants (block chords, arpeggios, bass line). That is enough to separate it from analysis-oriented siblings like music_theory or tempo_calculator, but it never explicitly contrasts itself with adjacent audio tools such as add_background_music.
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 implied by the purpose: an agent can infer it should call this when it needs a MIDI file rendered from chord symbols. There is no explicit when-to-use/when-not-to-use statement, no mention of prerequisites, and no alternative tool named for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_model_compareRun up to 4 AI models at onceAInspect
Send one prompt to up to 4 AI models in parallel (OpenAI, Anthropic, Google Gemini, OpenRouter, Groq, Mistral) and get the answers side by side with latency and token use. Bring your own API key per model: keys are used for this single request only and are never stored or logged. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| models | Yes | ||
| prompt | Yes | ||
| system | No | ||
| max_tokens | No | ||
| temperature | No |
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 well: it discloses that keys are used for a single request only and never stored or logged, and that each call costs 1 credit. It omits failure/timeout behavior and per-provider rate-limit implications, which keeps it short of 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?
Three sentences, front-loaded with the core purpose, followed by the security-sensitive key handling and the cost. Every sentence adds decision-relevant information with no filler.
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 and no annotations exist, so the description must cover behavior and returns — it names the return contents (answers, latency, token use), the billing model, and the key lifecycle. Reasonably complete, though it doesn't cover error handling or whether partial results are returned if one model fails.
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%, across 5 params. The description explains prompt, the models array, the provider set, and the api_key semantics (BYOK, not persisted), but says nothing about system, max_tokens, or temperature — three parameters documented only by the bare schema. Partial compensation warrants a mid score.
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 (send one prompt) and resource (up to 4 AI models in parallel), plus the return shape (answers side by side with latency and token use). The named providers and the fan-out semantics make it clearly distinguishable from any sibling tool in the list.
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 implied rather than stated: the tool is for comparing model outputs, and the BYOK prerequisite ('bring your own API key per model') is disclosed. However, there is no explicit when-to-use/when-not guidance, no mention of what happens on partial provider failure, and no suggested alternative for single-model calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
music_theoryScales, chords and keysAInspect
Look up the notes of any scale or mode, build the diatonic chords of a key, or turn a roman-numeral progression (for example I V vi IV) into chords. Optionally transpose. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | Key or root note, e.g. C, F#, Bb | C |
| scale | No | major | |
| progression | No | Roman numerals separated by spaces, e.g. 'I V vi IV' or 'ii V I' | |
| transpose_semitones | No |
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 disclose a genuinely useful trait absent from structured data: the cost of 1 credit per call, plus the optional nature of transposition. It stops short of describing output shape or error behavior for invalid input, but the cost disclosure is real value.
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 tightly written sentences: capabilities first, then the optional transpose modifier and cost note. Every clause earns its place and nothing is padded.
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 pure-computation tool with no output schema and no annotations, the description covers the three operating modes and cost adequately; the rule that return values need not be explained applies. The remaining gap is how progression and scale interact when both are supplied, which is not clarified.
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% (root and progression are described, scale and transpose_semitones are not). The description compensates by naming scales/modes, diatonic-chord construction, roman-numeral progression syntax with an example, and optional transposition, mapping the free-text capabilities onto the parameters.
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 three concrete capabilities with specific verbs and resources: look up scale/mode notes, build diatonic chords of a key, and convert roman-numeral progressions to chords. This clearly separates it from siblings like midi_generate or tempo_calculator, so an agent can identify the tool's domain immediately.
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 lays out three use-cases that imply when the tool applies (scales, diatonic chords, roman-numeral progressions) and gives a concrete input example ('I V vi IV'), but never states when to prefer it over alternatives or what prerequisites/combinations are needed. Usage is inferred rather than explicitly directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
name_generatorFantasy and sci-fi name generatorAInspect
Generate character, town or ship names in a chosen style (fantasy, elven, dwarven, sci-fi, orcish). Repeatable with a seed. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| count | No | ||
| style | No | fantasy |
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 disclose two concrete traits beyond the schema: cost (1 credit per call) and determinism ('Repeatable with a seed'). It stops short of describing the return payload or error behavior for an invalid style, so it is strong but not exhaustive.
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, no filler, with the core purpose and the valid styles front-loaded before the operational notes. Every sentence adds information the agent 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?
There is no output schema, so the description should have picked up the return-value burden, but it never says the result is a list of names or how many are returned by default. Combined with the undocumented 'count' parameter, an agent can call the tool but cannot fully predict its response.
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. It does explain 'seed' (repeatability) and enumerates all five style values, but it never mentions 'count' (default 10, max 50), leaving one of three parameters undocumented in both the description and 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 specific verb and resource ('Generate character, town or ship names') and scopes it with the chosen style and its enum values. It distinguishes the tool from other random generators in the sibling list (dice_roller, loot_table, xp_curve) by naming exactly what is produced.
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 implied by the purpose plus the credit-cost note, which tells the agent the call has a price. However, there is no explicit when-to-use or when-not-to-use guidance, no alternative tool named, and no prerequisite or rate-limit context to help route between this and the other generative siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
noise_heightmapProcedural terrain heightmap (PNG)AInspect
Generate a greyscale heightmap PNG from layered value noise for terrain, clouds or textures. Repeatable with a seed. Returns the PNG base64 encoded. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | world | |
| size | No | ||
| scale | No | ||
| octaves | No |
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 meaningfully: it discloses determinism ('Repeatable with a seed'), the output encoding ('Returns the PNG base64 encoded'), and the cost ('1 credit per call'). It stops short of covering size limits or failure behavior, but the core behavioral profile is present.
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 the core purpose and followed by the three facts an agent needs (determinism, return format, cost). No filler.
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, and the description usefully compensates by stating the return is a base64 PNG, plus it discloses cost. However, for a tool whose four tuning parameters (size, scale, octaves) directly determine the result, the absence of any parameter guidance leaves 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 0% for four parameters, so the description must compensate and largely does not. It only touches 'seed' (via 'repeatable with a seed') and hints at octaves through 'layered'; size, scale, and octaves semantics and their ranges are left entirely unexplained.
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 a greyscale heightmap PNG from layered value noise') plus concrete domains (terrain, clouds, textures). This clearly separates it from image siblings like pixel_art, sprite_sheet, or color_palette.
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 'for terrain, clouds or textures' clause implies when the tool is appropriate, but there is no explicit when-not guidance and no named alternative for adjacent tasks. Usage is inferable but not directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onion_directoryList collected .onion addressesAInspect
List the curated and discovered .onion addresses, newest first. Optional search over address or title. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| search | No |
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 usefully discloses cost (1 credit per call) and ordering (newest first), but does not describe pagination behavior, return format, or authentication/rate-limit considerations.
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, front-loaded sentences with no wasted words. The key scope and ordering are stated first, followed by search and cost details.
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 low-complexity list tool with no output schema, the description covers purpose, ordering, search, and cost adequately. It could be improved by mentioning pagination or the relationship to sibling onion tools, but it is largely 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 0%, so the description must compensate. It clarifies that search matches address or title, which is valuable, but it does not explain the limit or offset parameters, their defaults, or pagination behavior at all.
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 (.onion addresses), with scope (curated and discovered) and ordering (newest first). This clearly differentiates it from sibling tools like onion_discover and onion_fetch.
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 implies usage by saying it lists curated and discovered addresses, and notes an optional search. However, it does not explicitly say when to use this tool instead of onion_discover or onion_fetch, nor does it state exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onion_discoverDiscover .onion addressesAInspect
Collect v3 .onion addresses from a seed page (a clearnet link directory or a .onion page) and optionally follow the .onion links it lists one level deep to read their titles. New addresses are saved to the shared directory; use onion_directory to list everything collected. Slow when crawling. DISCLAIMER: for lawful use only. You are solely responsible for what you collect and how you use it (see /terms). Cost: 3 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| crawl | No | Also fetch up to this many discovered .onion pages (via Tor) to record their titles and any further addresses | |
| seed_url | Yes | Page to harvest addresses from, e.g. a public hidden-service link list |
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 well: it discloses a mutation side effect (new addresses saved to a shared directory), a performance trait (slow when crawling, Tor-based fetching), a cost (3 credits/call), and a legal disclaimer. It does not cover rate limits, auth needs, or error behavior, so gaps remain.
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 action and side effect, then alternatives, then cost. The disclaimer/terms sentence is somewhat boilerplate but arguably warranted for this tool class; overall it is tight and well-ordered.
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, yet the description covers purpose, persistence side effects, sibling routing, cost, and performance. The main remaining gap is the return value (what the call yields, e.g. counts or addresses found), which an output schema would normally supply.
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% (baseline 3), and the description adds meaning the schema lacks: crawling is 'one level deep' and records titles, clarifying depth semantics. It is slightly less precise than the schema on the crawl quantity limit but adds the depth constraint, so it earns above 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?
Specific verb ('Collect') plus a precisely scoped resource (v3 .onion addresses) and mechanism (from a seed page, optionally one level deep). It names the sibling onion_directory and how this tool differs from a plain listing, so an agent can distinguish it from onion_fetch/onion_directory without opening schemas.
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 states the use context (harvest from a clearnet directory or .onion seed page; optionally follow links) and routes the agent to onion_directory for listing. The 'Slow when crawling' note implies when to avoid the crawl, but there is no explicit exclusion versus onion_fetch for single-page retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onion_fetchScrape a .onion (dark web) pageAInspect
Fetch a public .onion page through the Tor network and return its title, readable text and links. For threat-intelligence, brand-protection and research use on publicly reachable hidden services. Slow (can take 30+ seconds); .onion addresses only. DISCLAIMER: for lawful use only. You are solely responsible for what you fetch and how you use it (see /terms). Cost: 3 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A http(s) URL on a .onion host | |
| include_links | No |
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 discloses latency (30+ seconds), a per-call cost (3 credits), a network constraint (Tor only), a legal disclaimer, and what is returned. It stops short of auth requirements, failure modes, or rate-limit behavior, but the operational profile is unusually well conveyed.
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, then constraints, disclaimer, and cost in a compact block. Every sentence carries operational or legal weight, though the disclaimer sentence is comparatively verbose for its low selection value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter fetch tool with no annotations and no output schema, the description covers return contents, latency, cost, and legality. The only real gap is the untoggleable, undocumented include_links parameter.
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%: url is documented in the schema, include_links has no description anywhere. The mention that links are returned loosely signals the default behavior but does not explain the include_links toggle, so the description 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?
A specific verb (fetch), resource (.onion page via Tor), and explicit scope (returned fields: title, readable text, links). The '.onion addresses only' clause separates it from clearnet siblings like scrape_page and crawl_site without opening either 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?
It names intended use cases (threat-intelligence, brand-protection, research) and an applicability constraint (.onion only), which implicitly routes the agent away from clearnet scrapers. However, it never explicitly names the alternative tool or states when to prefer scrape_page, so the routing is inferential rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_metadataPage metadata and SEOBInspect
Read a page's title, description, canonical URL, Open Graph / Twitter tags, favicon, language, headings count and JSON-LD structured data. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL |
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 disclose real behavioral context — the operation is a read and it costs 1 credit per call — which is genuinely useful for budgeting. However, it omits whether the page is fetched over the network, JS-rendering behavior, redirect handling, or failure modes for unreachable URLs.
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 tightly packed sentences: the return payload is front-loaded and the cost note is placed last. Every clause earns its place and there is no filler.
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 correctly compensates by enumerating the returned fields, which is the key gap it needs to fill for a read tool. It is nearly complete for a simple one-parameter call, missing only caveats about network fetch behavior and error 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 description coverage is 100% for the single url parameter ("Public http(s) page URL"), so the schema fully documents the input. The description adds no further syntax, format, or constraint detail beyond that. 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?
The description gives a specific verb ("Read") and resource (a page's metadata) and enumerates the exact fields returned — title, description, canonical URL, OG/Twitter tags, favicon, language, headings count, JSON-LD. That enumeration usefully separates it from content-oriented siblings like extract_content or scrape_page. It stops short of naming any sibling explicitly, so it does not reach the 5 tier.
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 the many adjacent siblings (extract_content, scrape_page, site_audit, security_headers, extract_links). No prerequisites, no exclusions, no alternatives are stated. The agent must infer usage from the field list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_feedRead an RSS / Atom feedBInspect
Fetch an RSS or Atom feed and return its entries (title, link, date, summary). Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL | |
| limit | 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. It does disclose two real behavioral traits beyond the schema: the shape of the returned entries and a per-call cost of 1 credit. It omits error behavior, pagination/entry-count limits, and any auth or rate-limit context.
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 tight sentences with zero filler: purpose and return shape first, cost last. Every clause 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 2-parameter, no-annotation, no-output-schema tool, the description adequately covers purpose, return fields, and cost. It falls short on the limit parameter and on failure/empty-feed behavior, which an agent would need when a feed returns nothing or a URL is not a valid feed.
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%: url is documented in the schema, but limit (default 50, max 200) has no description anywhere. The description never mentions how many entries are returned or how limit affects the result, leaving the second parameter's semantics entirely to the agent's 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?
Specific verb (fetch/parse) plus specific resource (RSS/Atom feed) and an enumeration of the returned fields (title, link, date, summary). An agent immediately knows what it gets back. However, it never distinguishes itself from feed-adjacent siblings like crawl_site, scrape_page, extract_content, or fetch_json.
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 no when-to-use or when-not-to-use conditions and names no alternative. It implies the input must be a feed URL, but does not tell the agent to prefer parse_feed over scrape_page/extract_content when the target is a syndication feed, nor what happens with a non-feed page.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
password_checkPassword strength and breach checkAInspect
Estimate password entropy and check whether it appears in known data breaches using the Have I Been Pwned range API. Only the first 5 characters of the SHA-1 hash leave this server (k-anonymity) and nothing is stored. You can pass a SHA-1 hash instead of the password. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| sha1 | No | ||
| password | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full behavioral burden and does so well: it discloses the external API dependency, the k-anonymity data-leak surface (only the first 5 SHA-1 characters leave the server), that nothing is stored, and the per-call credit cost. These are exactly the traits an agent cannot infer from schema or annotations.
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 tight sentences, front-loaded with the primary action, followed by mechanism, privacy, parameter alternative, and cost. No filler; every sentence carries a distinct piece of 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?
With no output schema, the description should ideally sketch the return values (entropy estimate, breach hit count), which it only implies. Given the simple 2-parameter surface and the strong privacy/cost disclosure, it is still nearly 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 0%, so the description must compensate, and it partially does by explaining that a SHA-1 hash may be supplied instead of the raw password. However, it does not clarify that both parameters are optional, nor what happens if neither (or both) are supplied, leaving a real gap for a 2-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?
The description names a specific verb+resource pair ('Estimate password entropy and check whether it appears in known data breaches') and the exact backing API (Have I Been Pwned range API). This clearly separates it from ambiguous siblings such as hash_identify, email_check, and phishing_url_check.
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 implied by the purpose but there is no explicit when-to-use statement, no exclusions, and no routing to sibling tools (e.g. hash_identify for identifying an unknown hash vs. checking a known password). The cost note is the only decision-aiding guidance, so it sits at minimum-viable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
phishing_url_checkPhishing URL red-flag checkAInspect
Offline heuristic check of a URL for phishing signs: lookalike brand names, punycode, IP hosts, deep subdomains, risky TLDs, @ tricks and long obfuscated paths. Makes no request to the URL. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
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 meaningful work: it discloses that the check is offline and issues no request to the URL, and it states the cost (1 credit per call). It does not describe the return shape, but the offline no-network guarantee and pricing are exactly the behavioral facts an agent needs before invoking.
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 sentences, front-loaded with the core action, followed by the offline guarantee and cost. Every clause earns its place with no filler.
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, side-effect-free heuristic check with no output schema, the description covers what it detects, that it is offline, and its credit cost. Only the shape of the result is unspecified, which is a minor gap given the tool's simplicity.
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?
A single parameter with 0% schema description coverage, but its semantics are effectively self-evident from the description ('check of a URL'). The description confirms the input is the URL to be analyzed; the only unstated constraints (maxLength 2000) live in 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 and resource ('Offline heuristic check of a URL') and enumerates the exact signals it looks for (lookalike brands, punycode, IP hosts, risky TLDs, @ tricks), which is far more concrete than the generic sibling check_urls. It does not name or contrast with that sibling explicitly, so it falls just short of full 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?
Usage is implied ('check a URL for phishing signs', 'makes no request to the URL' suggests pre-navigation triage) but there is no explicit when-to-use, when-not-to-use, or named alternative such as check_urls or site_audit. The agent can infer the context but is not guided to the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingPing (TCP latency)BInspect
Measure round-trip latency, jitter and packet loss to a host by timing TCP connections (default port 443). ICMP ping is not available from a hosted server, so this checks that a service is reachable and how fast. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| port | No | ||
| count | No |
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 useful traits beyond the schema: ICMP is unavailable from a hosted server, so TCP timing is used, and each call costs 1 credit. It does not cover failure/timeout behavior, what happens on an unresolvable host, or any rate limits beyond the credit cost, leaving real gaps for a network diagnostic.
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 tight sentences with no filler; the measurement capability is front-loaded, and the cost note is placed last where it belongs. Every sentence carries information, though the redundant port-default mention is a minor waste.
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 3-parameter tool with no output schema and no annotations, the description covers purpose, mechanism, and cost but omits parameter semantics for count and any error or failure behavior. An agent could call it, but would be guessing about probe count and response shape.
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 largely does not. The only parameter detail given is the default port 443, which simply restates the schema default. Neither 'count' (number of probes) nor the expected host format (domain vs IP vs host:port) is explained anywhere, leaving two of three parameters underspecified.
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 measurable outputs: 'Measure round-trip latency, jitter and packet loss to a host by timing TCP connections.' It also explains the mechanism (TCP instead of ICMP), which pins down what the tool actually does. It stops short of distinguishing itself from close siblings like port_check or traceroute, so it earns a 4 rather than 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?
The description gives an implicit use case ('checks that a service is reachable and how fast'), which points an agent toward reachability/latency checks. However, it never says when to prefer this over port_check, traceroute, or check_urls, nor when it is inappropriate. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pixel_artPixel-art converterAInspect
Turn any image into crisp pixel art for games: pick the pixel size and colour count, and scale the result back up with sharp edges. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Image: public http(s) link | |
| colors | No | ||
| upscale | No | Scale the final picture up by this whole number | |
| pixel_width | No | Width of the pixel grid. Smaller is chunkier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the whole burden and does disclose real behavior: a flat 1-credit cost, asynchronous job_id return for long jobs with the poll path named, and a 1-hour expiry on result links. It stops short of saying anything about source-image retention, auth requirements, or what the synchronous non-job response looks like.
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, front-loaded with purpose and followed by cost, async behavior, and expiry. Every clause carries information and nothing is repeated from 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?
With no output schema, the description correctly covers the return contract for the long-job path (job_id, poll with get_job, expiring links), which is the main thing an agent needs. It omits what a short job returns directly and any constraints on the input URL beyond the schema's 'public http(s) link'.
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 description maps conceptual terms to parameters ('pixel size' -> pixel_width, 'colour count' -> colors, 'scale the result back up' -> upscale) and clarifies the intended effect (chunkier grid, sharp edges). colors lacks a schema description, so this framing adds meaning beyond the structured fields, though it gives no numeric ranges or format 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 gives a specific verb and resource ('Turn any image into crisp pixel art for games') plus the controllable knobs, so an agent knows exactly what it produces. It does not name or contrast with sibling media tools such as sprite_sheet, make_thumbnails, or compress_media, so it falls short of full 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?
Usage is implied by 'for games' and the parameter framing, but there is no explicit when-to-use/when-not-to-use guidance or statement of which sibling to pick instead for sprites, thumbnails, or generic conversion. The get_job polling hint is operational rather than a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
port_checkPort checkBInspect
Check whether up to 10 TCP ports are open on a public host. Only scan systems you own or are authorized to test. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| ports | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It usefully discloses the 10-port cap, TCP-only scope, a cost of 1 credit per call, and an authorization requirement. It omits the return shape, timeout/failure behavior, and whether it is a safe read-only probe.
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, purpose front-loaded, with the constraint and cost appended. Every sentence adds distinct information with no 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 2-parameter, no-output-schema tool, the description covers purpose, limits, cost, and legal constraints. The main gap is that the result format of the check is left to inference, which matters when no output schema exists.
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. It maps loosely to both params ('public host' for host, 'TCP ports' for ports) but adds no format, default, or constraint detail beyond what the schema already encodes.
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 with scope: 'Check whether up to 10 TCP ports are open on a public host.' This is clear and distinguishes the operation from ping/traceroute, though it never names a sibling to route 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 only usage context is a legal constraint ('Only scan systems you own or are authorized to test'). There is no guidance on when to prefer this over ping, traceroute, dns_lookup, or tls_certificate, nor any exclusions or prerequisites beyond authorization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
process_audioClean up and master audioAInspect
One-step audio cleanup. The podcast preset removes low rumble, reduces background noise, trims long silences and levels the loudness to -16 LUFS. You can also change volume, fade in and out, speed, or mix to mono. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Audio or video file: public http(s) link | |
| mono | No | ||
| speed | No | ||
| format | No | mp3 | |
| preset | No | Podcast: denoise, trim silence and normalise loudness | podcast |
| denoise | No | Reduce steady background noise | |
| volume_db | No | Volume change in dB | |
| trim_silence | No | Cut long pauses and leading or trailing silence | |
| start_seconds | No | Start time in seconds | |
| normalize_lufs | No | Target loudness. Overrides the preset's -16 | |
| fade_in_seconds | No | ||
| duration_seconds | No | Length of the result in seconds | |
| fade_out_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses cost (1 credit per minute of output), asynchronous behavior (long jobs return a job_id to poll via get_job), and result-link expiry (1 hour). It omits auth/permission requirements and failure behavior, but the pricing, async, and expiry disclosures are substantive operational context.
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 the purpose, then preset detail, then options, then operational constraints. Tight and well ordered, with only mild redundancy between the preset sentence and the schema's own preset description.
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 13-parameter tool with no annotations and no output schema, the description supplies the missing operational layer: cost, job_id polling, and result-link expiry, which effectively explains the return path. Remaining gaps are per-parameter detail and any mention of input constraints or auth needs.
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 62%, so roughly a third of the 13 parameters lack descriptions (format, speed, mono, fades, start/duration). The description compensates partially by naming the adjustable operations and stating the preset's -16 LUFS target and that normalize_lufs overrides it, but it says nothing about start_seconds, duration_seconds, or output format choices.
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 ('audio cleanup') plus a concrete capability list (denoise, silence trim, loudness leveling, volume, fades, speed, mono). It is clear what the tool does, but it never distinguishes itself from siblings like trim_media, convert_media, or compress_media, which overlap with trimming and format conversion.
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 implied rather than stated: 'one-step audio cleanup' and the preset enumeration signal the intended scenario, and polling with get_job is explicit guidance. However, there is no when-to-use/when-not-to-use framing and no routing to sibling tools for overlapping tasks such as trimming or format conversion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qr_codeGenerate a QR codeAInspect
Create a QR code (SVG) for a URL or any text, e.g. for menus, payments or business cards. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | ||
| 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 usefully discloses cost (1 credit per call) and the output format (SVG), but says nothing about whether the result is returned inline, stored, or downloadable, nor about any auth or rate limits. The cost disclosure is genuine added value, but key behavioral facts are still missing.
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 sentences, front-loaded with the core action and format, followed by the cost constraint. Every clause earns its place with no filler.
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 generation tool with no output schema and no annotations, the description covers the action, input flexibility, output format, and cost. The only real gap is the undocumented 'size' parameter and the delivery mechanism of the SVG.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It adds real meaning for 'text' by clarifying it accepts a URL or arbitrary text, but the 'size' parameter (default 300, range 100-1000) is never mentioned, leaving half the parameters undocumented.
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 (Create) and resource (QR code), plus the output format (SVG) and accepted inputs (URL or any text). This is unambiguous and distinguishable from all siblings, none of which generate QR codes.
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 examples (menus, payments, business cards) imply usage contexts but give no explicit when-to-use rule, prerequisites, or alternatives. With no competing sibling QR tool the routing risk is low, but the guidance is only implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_deleteDelete a recipeBInspect
Delete one of your saved recipes. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| name | 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. It usefully discloses the cost (1 credit per call), but for a destructive delete it omits whether the deletion is permanent/reversible, what happens to published copies, and any auth requirements.
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 with zero waste, purpose front-loaded and the cost detail trailing. Nothing redundant.
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 with no output schema, the description covers purpose and cost but leaves the destructive semantics and the identifier format unstated. Adequate but with clear gaps for a delete operation.
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 'name' parameter carries only a regex pattern with no prose. The description says 'your saved recipes' but adds nothing about the identifier's format, scope, or how to discover valid names, 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 ('Delete') and resource ('one of your saved recipes'), which is enough to distinguish it from the recipe_save/recipe_list/recipe_run siblings in the family. It does not, however, name or reference any sibling explicitly to sharpen the 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 when-to-use or when-not-to-use guidance. The description never says whether the recipe must be saved first, whether a published recipe can be deleted, or how this relates to recipe_save/recipe_publish. Usage is only implied by the obvious verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_importImport a shared recipeAInspect
Add a recipe someone shared with you, using its share code. Review it with recipe_list before running it. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| rename | No |
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 disclose a meaningful trait the schema cannot: a cost of 1 credit per call. However it never states that this is a write/mutation, whether it overwrites an existing recipe, or what happens to a previously imported recipe with the same name.
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, no filler, with the core action first and the review hint and cost disclosure trailing. Every sentence adds something the structured fields do not carry.
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 mutation with no annotations or output schema, purpose, cost, and review sequencing are covered. Gaps remain around the rename parameter and the result of a successful import, which an agent invoking this tool would benefit from knowing.
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 description only maps the 'share code' concept to the required 'code' parameter. The optional 'rename' parameter, including its naming constraints inherited only from a regex pattern, is never explained in prose.
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 (add/import) and a precise resource (a recipe someone shared with you) plus the mechanism (share code). It implicitly separates itself from recipe_save by emphasizing 'someone shared with you', though it never names recipe_save or recipe_publish directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit sequencing instruction: review with recipe_list before running it, which names a real sibling and the condition for using it. It stops short of saying when to pick import over recipe_save or what to do if the share code is invalid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_listList your recipesAInspect
List the saved recipes on your account with their inputs and steps. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 a concrete behavioral trait: a cost of 1 credit per call. However, it says nothing about authentication needs, pagination, result limits, or whether the listing is scoped to the caller's account only, leaving meaningful gaps for a no-annotation 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?
Two short sentences, zero filler. The core purpose is front-loaded and the pricing caveat follows, so an agent gets the essential facts 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 zero-parameter listing tool with no output schema, the description covers what is returned at a high level ('inputs and steps') and flags the credit cost. It is close to complete, though a note on result volume or auth requirements would close the remaining 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?
The tool takes zero parameters, so the baseline is 4 and there is no parameter meaning for the description to add or omit. Nothing here misleads the agent about inputs.
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 ('List the saved recipes on your account') and adds the scope of what is returned ('their inputs and steps'). It is clearly distinguishable from write-oriented siblings like recipe_save, recipe_delete, recipe_run, and recipe_publish, though it never names an alternative 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 mention of prerequisites, and no routing to alternatives such as recipe_run or recipe_import. The only contextual cue is the cost line, which tells the agent this is a billable call but not when it is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_publishShare a recipeAInspect
Publish a copy of one of your recipes and get a share code. Anyone can add it to their account with recipe_import. Only the workflow (tools and arguments) is shared, never your account or results. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
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 well: it discloses the cost (1 credit per call), the exact scope of what is shared (workflow only, never account or results), and the return value (a share code). It does not mention auth/permission needs, but the disclosure of side effects and cost is strong.
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, front-loaded with the core action and outcome, then scope and cost. Every sentence adds distinct information with no filler.
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 with no output schema, the description covers cost, sharing scope, and the return value well. The only real gap is that the 'name' argument is left entirely to the schema.
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 description never mentions the single 'name' parameter or its format constraints. An agent must infer from the schema's regex pattern alone that this is the recipe identifier, so the description 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 and resource ('publish a copy of one of your recipes') plus the concrete outcome ('get a share code'). This clearly distinguishes it from siblings like recipe_save and recipe_import.
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?
Implies the use case (share a recipe with others) and names recipe_import as the counterpart that consumes the share code, which helps routing. However, it never states explicitly when to choose publish over recipe_save, nor any prerequisite or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_runRun a recipeAInspect
Run a saved recipe: executes its steps in order, passing outputs forward, and returns every step's result. Stops at the first failing step and reports which one failed. Pass the recipe's inputs as an object. Cost: 3 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| inputs | No |
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 well: it discloses execution order, output forwarding, the failure policy ('stops at the first failing step and reports which one failed'), and a concrete cost of 3 credits per call. It does not mention auth requirements or external side effects, so it falls short of full 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?
Four tight sentences, front-loaded with what the tool does and followed by failure behavior and cost. Every clause carries information; nothing is redundant 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?
No output schema exists, and the description compensates by stating that every step's result is returned. For a 2-parameter mutation tool with nested inputs and no annotations, the main remaining gap is the undocumented input-contract detail, but the definition is otherwise sufficient to invoke the tool 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 0% for two parameters. The description adds one meaningful note — inputs are passed as an object — but says nothing about the 'name' parameter's format (the regex pattern lives only in the schema) and does not explain the shape or keys of the nested inputs object, so the compensation for the coverage gap is partial.
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 ('Run a saved recipe') and immediately clarifies the execution semantics — steps run in order, outputs pass forward. Against siblings like recipe_save, recipe_publish, recipe_list and recipe_delete, the agent can tell this is the executor 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?
The word 'saved' implies the recipe must already exist (created via recipe_save), which is useful implied context, and it tells the caller to supply the recipe's inputs as an object. However, it names no alternative tool or explicit when/when-not condition, so guidance is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_saveSave a tool recipeAInspect
Save a reusable multi-step workflow that chains this server's tools. Each step is {tool, args, as?}. Args may reference {{input.x}} (values supplied at run time) or {{steps..}} (output of an earlier step; steps without 'as' are s1, s2...). Up to 6 steps. Example: steps [{tool:'web_search',args:{query:'{{input.topic}}'},as:'find'},{tool:'extract_content',args:{url:'{{steps.find.results.0.url}}'}}]. Run it later with recipe_run, or publish it with recipe_publish. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| steps | Yes | ||
| inputs | No | Names of the inputs the recipe expects | |
| description | No |
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 does add genuinely useful traits beyond structured data — the 1-credit cost and the 6-step maximum — but says nothing about authentication, whether saving a duplicate name overwrites or errors, or what validation failures look like.
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?
Purpose is front-loaded in the first clause, followed by the format spec, a concrete example, and routing to siblings. The dense single paragraph contains no filler; each sentence delivers invocation-relevant 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 mutation tool with no annotations and no output schema, the description covers format, limits, cost, and alternatives well. It omits the return value (e.g. a recipe id) and overwrite/validation behavior, which an agent would want before calling.
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 25%, so the description must compensate, and it does: it defines the step object shape {tool, args, as?}, the {{input.x}} and {{steps.<as>.<field>}} templating syntax, and the s1/s2 default naming for steps lacking 'as'. This is essential calling knowledge absent from 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 specific verb and resource ('Save a reusable multi-step workflow that chains this server's tools') and immediately positions it against related siblings, making it distinguishable from recipe_run and recipe_publish without opening any 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?
It explicitly names the two downstream alternatives and their purpose ('Run it later with recipe_run, or publish it with recipe_publish'), giving clear usage context. It stops short of stating when NOT to save a recipe, so it lacks the exclusion half of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redirect_chainRedirect chainAInspect
Follow a URL's redirects hop by hop and report each status code and location, up to 10 hops. Useful for tracing shortened or tracking links. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | 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 does disclose two real behavioral traits — the 10-hop cap and a cost of 1 credit per call — plus the shape of what it reports. It does not cover error behavior when the hop limit is exceeded, timeout/pagination behavior, or whether it needs any auth, but for a simple read tool the disclosures it makes are meaningful.
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, front-loaded with the action and output, then the use case, then the cost. Every sentence supplies distinct information with no filler or repetition of the tool 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 one-parameter read-only tool with no output schema and no annotations, the description covers purpose, output content, hop limit, and cost — enough for an agent to call it correctly. Minor gaps remain around failure modes (e.g. non-redirecting URL, hop overflow) that the description leaves unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for the single url parameter. 'Follow a URL's redirects' does convey that the parameter is the URL whose chain is traversed, but adds no detail on accepted forms, scheme handling, or normalization beyond the schema's format: uri.
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 uses a specific verb and resource ('Follow a URL's redirects hop by hop and report each status code and location'), and even bounds the scope with 'up to 10 hops'. It is clearly a redirect-tracing tool rather than a generic URL checker like check_urls, though it never names a sibling to make the contrast explicit.
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?
'Useful for tracing shortened or tracking links' gives one concrete use context, which is more than nothing but far short of explicit when-to-use/when-not guidance. No alternatives (e.g. check_urls, page_metadata) are named, and there is no guidance on when this is the wrong tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_dnsReverse DNSBInspect
Find the hostnames (PTR records) for a public IP address. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| ip | 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. It usefully discloses the cost ('1 credit per call') and that only public IPs are targeted, but says nothing about behavior when no PTR record exists, error handling, or whether results are cached — notable gaps for a no-annotation 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?
Two short sentences with the purpose front-loaded and the cost note appended. Every clause 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 single-param, no-output-schema, no-annotation tool, the description covers the basics but omits the return shape (a list of hostnames? empty on failure?) and any failure behavior, which an agent needs to interpret results 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 0%, so the schema only supplies validation (pattern, length) rather than meaning. The description compensates partially by clarifying the semantic constraint 'public IP address', but adds nothing about IPv4 vs IPv6 handling or formatting 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 and resource ('Find the hostnames (PTR records)') and scopes it to a 'public IP address', so an agent can tell what it does. It does not, however, distinguish itself from the nearby dns_lookup sibling, which could plausibly cover the same ground.
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 only usage constraint offered is that the IP must be public, which is implicit in the description rather than framed as guidance. There is no statement of when to prefer this over dns_lookup, ip_info, or ip_whois, and no prerequisites or failure conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape_pageScrape a web pageBInspect
Fetch a web page and return its title, description and clean readable text (headings, paragraphs, lists). Use format=html for the raw HTML. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL | |
| format | No | text | |
| include_links | No | Also return the page's links |
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 usefully discloses the credit cost (1 per call) and the two output modes, but says nothing about permissions, rate limits, robots/caching behavior, JS rendering, or failure modes for an operation whose behavior an agent cannot predict.
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 tight, front-loaded sentences with no filler: the action and return shape come first, the mode switch second, and the cost last. Every sentence adds information the agent can act 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?
With no output schema, the description correctly explains the return payload (title, description, clean text structure) and the cost. It omits include_links entirely and offers no guidance on pages it can or cannot scrape, but for a single-URL fetch tool it is largely sufficient.
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 67%: url and include_links are documented in the schema, while format is not. The description compensates for the undocumented format enum by explaining that format=html yields raw HTML, but it never mentions include_links, so it only partially fills the 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 (fetch/scrape) and resource (web page) plus the concrete return payload (title, description, clean readable text with headings, paragraphs, lists). This distinguishes it reasonably from single-output siblings like fetch_json or extract_tables, though it never names a sibling such as crawl_site or extract_content.
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 and no comparison to alternatives like crawl_site (multi-page) or extract_content. The only guidance offered, 'Use format=html for the raw HTML,' is a parameter hint rather than a selection rule, leaving the agent to infer when this tool beats its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_headersSecurity headers auditAInspect
Check a site's HTTP security headers (HSTS, CSP, X-Frame-Options, etc.) and score them. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It correctly implies a read-only check and usefully discloses cost ('1 credit per call'), but omits auth requirements, rate limits, and how redirects or non-HTTP URLs are handled. This is partial disclosure for a no-annotation 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?
Two sentences with zero waste: the purpose is front-loaded and the cost is appended as a single concise clause. Every sentence 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?
The tool is simple with one fully described parameter, and the description states what it checks and the cost. However, there is no output schema, and the description does not explain what a 'score' means or what the response contains, leaving a gap for the agent to understand the return value.
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 'url' parameter is already documented as a 'Public http(s) page URL'. The description adds no additional syntax, examples, or constraints 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?
The description states a specific verb ('Check') and resource ('HTTP security headers'), and names concrete headers (HSTS, CSP, X-Frame-Options). It does not explicitly differentiate from sibling tools like site_audit, but the narrow focus on security headers is clear.
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 explicit when-to-use or when-not-to-use guidance is given. However, the stated scope ('Check a site's HTTP security headers') implies usage for security header auditing. Alternatives such as site_audit are not mentioned, leaving the agent to infer this tool's specific niche.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shot_listShot list and runtime plannerBInspect
Build a shot list from a scene list: assigns shot numbers, estimates runtime and setup time per shot, and totals the schedule for a shoot day. Great for planning short films and ads. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| scenes | Yes | ||
| setup_minutes_per_shot | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the cost (1 credit per call) and conceptually what it computes, but says nothing about return format, error behavior, or the effect of defaults (takes, seconds, shot_type). For a non-destructive planner this is adequate but 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?
Three short sentences, front-loaded with the core action, and no filler. The marketing-flavored 'Great for planning short films and ads' is mildly expendable but still conveys domain fit.
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 zero parameter documentation, so the description should say more. It conceptually names the computed results, which is helpful, but omits input-shape detail and how defaults affect the schedule, leaving an agent to infer from the schema.
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. It implies 'scenes' and 'setup time per shot' but does not explain the nested scene fields (takes, seconds, shot_type defaults/ranges) or the setup_minutes_per_shot default, leaving the structured data to do nearly 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?
The description states a specific verb and resource ('Build a shot list from a scene list') and enumerates the concrete outputs (shot numbers, runtime, setup time, day totals). It is clearly distinguishable from other tools in the set, though no sibling is named because none is obviously adjacent.
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 offers soft context ('Great for planning short films and ads') but gives no explicit when-to-use vs when-not guidance, no prerequisites, and no alternative tools. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_auditAudit a website and list fixesAInspect
Check any public web page (or one of your hosted sites) for SEO, accessibility, mobile, performance and security problems. Returns a 0-100 score, issues ranked by severity with the exact fix for each, and optionally checks up to 25 links on the page for breakage. Cost: 2 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public page to audit | |
| path | No | Page inside the hosted site | index.html |
| site_id | No | Site id from site_create or site_list | |
| check_links | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load and does well: it discloses the cost (2 credits per call), that results include a 0-100 score and severity-ranked issues with exact fixes, and that link checking is capped at 25. It omits auth/permission requirements and does not explicitly confirm the operation is read-only.
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 tight sentences, front-loaded with purpose and followed by return shape and cost. Nothing is redundant or filler.
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, and the description compensates well by describing the return payload (score, severity-ranked issues, fixes) and cost. The key gap is that no parameter is required and the mutual exclusivity of url versus site_id+path is never explained, leaving the agent to guess which targeting mode to use.
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 75%, so url/path/site_id are largely documented in-schema, but the description adds a constraint the schema lacks: check_links examines 'up to 25 links on the page,' and it notes the public-vs-hosted target choice. It does not explain the url vs path+site_id relationship.
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 (check/audit) plus resource (public web page or hosted site) with the audited dimensions enumerated (SEO, accessibility, mobile, performance, security). It implicitly differentiates from site_autofix by promising to 'list fixes' rather than apply them, 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?
It clarifies the two input contexts (any public page vs one of your hosted sites), which implies when it applies, but never states when to prefer site_autofix, crawl_site, check_urls, or security_headers, and gives 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.
site_autofixAuto-fix common HTML problemsAInspect
Apply safe automatic fixes to an HTML page in a hosted site: lang attribute, charset, viewport, title, meta description, canonical, Open Graph tags, lazy-loading and dimensions hints on images, rel=noopener on new-tab links, defer on head scripts, and empty alt on images missing it. Returns what changed and the new audit score. Cost: 2 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | en | |
| path | No | index.html | |
| fixes | No | ||
| title | No | ||
| site_id | Yes | Site id from site_create or site_list | |
| og_image | No | ||
| description | No | ||
| canonical_url | No |
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 well: it enumerates every mutation it can perform (lang, charset, viewport, title, description, canonical, OG tags, lazy images, noopener, defer, alt), characterizes them as 'safe', and states the return value. It omits auth/permission requirements and whether fixes are reversible or idempotent, which keeps it short of 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?
Front-loaded with the action and resource, and the long fix enumeration earns its place by mapping to the schema enum. The two trailing sentences (return value, cost) are short and useful, though the middle sentence is dense.
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 mutation tool with no annotations, no output schema, and low schema coverage, the description covers the two things an agent most needs: what will change and what comes back ('what changed and the new audit score'), plus cost. Missing prerequisites (ownership/auth, deployed-state requirements) are the main residual 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 coverage is only 13% (just site_id), so the description must compensate. It does explain the meaning of each 'fixes' enum value, which is valuable, but it says nothing about the value-override params (lang, path, title, og_image, description, canonical_url) or their length/format 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?
Specific verb ('Apply safe automatic fixes') plus a precise resource ('an HTML page in a hosted site'), followed by an enumeration of the exact fix categories. An agent can immediately distinguish this from the read-only sibling site_audit, especially since the description says it returns 'the new audit score'.
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 word 'fixes' and the mention of an audit score suggest running it after site_audit identifies problems, but no explicit when-to-use, when-not, or named alternative (site_audit, site_deploy) is given. The 'Cost: 2 credits per call' note is useful context but is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_createGenerate a dynamic website in secondsAInspect
Create a complete, responsive, animated website from a short brief and host it instantly. Pick sections (hero, features, stats, about, pricing, testimonials, faq, gallery, contact, cta), a style and an accent colour. Includes dark mode, mobile menu, scroll reveals, count-up stats, monthly/yearly pricing toggle, FAQ accordion, validated contact form, SEO tags, favicon, robots.txt and sitemap. Returns a site_id and a live URL once published. Edit afterwards with site_files and redeploy with site_deploy. Sites are served in a sandbox, so avoid code that needs cookies or cross-origin storage. Cost: 3 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| font | No | system | |
| lang | No | en | |
| name | Yes | Business or site name | |
| style | No | modern | |
| accent | No | #4f46e5 | |
| content | No | ||
| publish | No | ||
| site_id | No | Regenerate into an existing site (overwrites index.html, styles.css, app.js) | |
| tagline | Yes | Headline, e.g. 'Fresh bread, baked daily' | |
| cta_link | No | ||
| cta_text | No | Get started | |
| currency | No | $ | |
| sections | No | ||
| description | No | One or two sentences under the headline | |
| contact_email | No | Contact form falls back to opening this mailbox | |
| form_endpoint | No | Optional form backend (e.g. Formspree) that accepts JSON POST |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and does well: it discloses the return values (site_id and live URL), the overwrite behavior of regenerating into an existing site_id, the sandbox execution environment and its storage limits, and the exact cost (3 credits per call). The main omission is whether publishing is reversible or how long provisioning takes.
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-loads the core action and hosting outcome, then layers capabilities, workflow, constraints, and cost in a logical order. It is dense but each sentence adds usable information; the one feature-list sentence is long but earns its length by describing the generated output.
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 16-parameter mutation tool with no annotations and no output schema, the description covers the essentials an agent needs: purpose, workflow routing, return values, environment limits, and cost. It stops short of fully documenting the parameter surface, which is the remaining 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 coverage is only 38% across 16 parameters, so the description must compensate. It does map the sections enum and mentions style and accent colour, and gestures at the content model (stats count-up, monthly/yearly pricing toggle, FAQ accordion), but leaves many parameters (font, lang, publish, currency, cta_link, form_endpoint, and the field shapes of the nested content objects) undocumented, so the agent still has to infer a lot.
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 ('Create a complete, responsive, animated website... and host it instantly') and enumerates the concrete capabilities (sections, style, accent, dark mode, SEO tags). It distinguishes itself from siblings by naming site_files for editing and site_deploy for redeploying, so the agent can place it in the site workflow without opening other schemas.
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 describes the create-then-edit-then-deploy flow and names the alternatives (site_files, site_deploy), plus the sandbox constraint that rules out code needing cookies or cross-origin storage. This tells the agent both when to use it and what its downstream steps are.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_deployPublish, unpublish or delete a siteAInspect
Make a site live at its public URL, take it offline, or delete it permanently. Publishing checks the files first: pages with password fields are refused. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | publish | |
| site_id | Yes | Site id from site_create or site_list |
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 well: it discloses that deletion is permanent, that publishing performs a pre-check on files and refuses password-protected pages, and that each call costs 1 credit. It omits permission/auth requirements and failure behavior, keeping 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?
Two compact sentences plus a short cost note; the primary capabilities are front-loaded and no wording is wasted. Appropriate length for a two-parameter 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?
There is no output schema and no annotations, so the description must stand alone, and it covers the mutation semantics, the pre-flight check, and cost. It leaves unstated what the call returns and whether unpublish is reversible, minor gaps for a low-complexity 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 only 50% — site_id is documented but the action parameter has no schema description. The description compensates by spelling out the three operation modes in prose, giving the enum semantic grounding even though it doesn't map labels to outcomes as explicitly as it could.
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 names the resource (a site) plus its three concrete operations — 'make a site live at its public URL, take it offline, or delete it permanently' — which map to the publish/unpublish/delete enum. An agent can distinguish this from sibling tools like site_create, site_list, or site_files purely from the 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?
It clearly establishes the context in which the tool applies (publishing, unpublishing, permanent deletion) and gives a precondition for one action: pages with password fields cause publishing to be refused. It does not name alternatives for adjacent tasks (e.g., use site_create for a new site), so it falls short of explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_filesRead, write and manage site filesAInspect
Work with the files of a hosted site: list, read, write (one or many at once), delete. Text files (html, css, js, json, svg, xml, txt, md) are sent as utf8; images and fonts as base64. Limits: 200 files, 1.5 MB each, 25 MB per site. Changes are live immediately on published sites. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | For read, delete, or a single write | |
| files | No | For writing many files at once | |
| action | Yes | ||
| content | No | For a single write | |
| site_id | Yes | Site id from site_create or site_list | |
| encoding | No | utf8 |
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 real work: it discloses the encoding contract per file type (utf8 vs base64), hard limits (200 files, 1.5 MB each, 25 MB per site), the immediate live-publish side effect, and a per-call cost. It still omits whether deletes are reversible and what permissions are required for write/delete.
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 paragraph, front-loaded with the action set, then encoding rules, then limits, side effects, and cost in descending order of importance. No filler sentences and no redundancy.
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 6-parameter multi-action tool with no annotations and no output schema, the description covers actions, encoding, limits, mutation side effects, and cost. The remaining gap is the read return shape and authorization requirements, but the essentials for correct invocation are present.
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% and the description supplements it meaningfully, notably the encoding-by-extension rule (text as utf8, images and fonts as base64), which the schema only exposes as a raw enum. The path-vs-files split for single vs batch writes is restated from the schema rather than added to.
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 names a specific resource (files of a hosted site) and enumerates the concrete operations (list, read, write, delete) exposed by the action enum. It is clear what the tool does, though it does not explicitly contrast itself with site-level siblings like site_deploy, site_import, or app_frontend, leaving the agent to infer the file-vs-site 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?
Usage is implied by the action list and by the note that write can handle one or many files at once, which hints at the batching case. However, there is no explicit when-to-use, no exclusion of neighboring tools (e.g. when to prefer site_deploy over a write, or app_frontend over raw files), and no stated prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_importImport a customer's site to fix itAInspect
Copy a public page and its same-site CSS and JavaScript into a new editable workspace (up to 15 assets). References are rewritten to the local copies so you can fix the code with site_files and site_autofix, then publish a corrected version. Only import sites your customer owns or has asked you to fix. Cost: 3 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| name | No | ||
| site_id | No | Import into an existing workspace |
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 well: it discloses the 15-asset cap, that only same-site CSS/JS are pulled, that references are rewritten, and that each call costs 3 credits. It omits auth/permission requirements and what happens on partial or failed imports of large pages.
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 sentences, front-loaded with the core action, followed by the workflow and the constraints/cost. No filler and nothing buried.
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?
Covers purpose, asset scope, reference rewriting, ownership constraint, and credit cost despite having no annotations and no output schema. It could say more about auth requirements, failure modes, and the site_id-vs-new-workspace choice, but an agent has enough to invoke 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 only 33% (only site_id is documented), so the description should compensate more than it does. It implies the url is the public page being copied and hints at workspace creation/deployment, but says nothing about the 'name' parameter and never explains importing into an existing workspace via site_id.
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 ('copy') and resource ('a public page and its same-site CSS and JavaScript') and names the resulting target ('new editable workspace'). It also differentiates itself from crawler/scraper siblings like crawl_site and scrape_page by making clear the output is an editable local copy with rewritten references.
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 concrete workflow ('fix the code with site_files and site_autofix, then publish a corrected version') plus an explicit precondition ('Only import sites your customer owns or has asked you to fix'). It does not contrast with the nearest alternatives (crawl_site, scrape_page, site_create), so it falls short of a full when/when-not statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_listList your hosted sitesAInspect
List every site you have created with its id, name, live URL, publish state and file count. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does disclose a non-obvious behavioral trait — the 1-credit-per-call cost — and implies a read-only listing. However, it says nothing about pagination, ordering, empty-state behavior, or auth requirements for a zero-parameter account-scoped call.
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 resource and scope, followed by the cost note. Nothing is redundant or padded.
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-parameter read tool with no output schema, the description compensates by naming the returned fields (id, name, live URL, publish state, file count) and stating the cost. Minor gaps around pagination and whether results are scoped to the caller remain, but the description is essentially complete for this tool's complexity.
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 tool takes zero parameters, so per the rubric the baseline is 4. The description adds no parameter detail, but none is needed; the enumerated return fields do useful work instead.
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 (List) plus resource (sites you have created) with scope ('every site you have created'), and it enumerates the returned fields so the agent knows exactly what shape of data comes back. This cleanly separates it from siblings like site_files (files of one site) and site_create/site_deploy (mutations).
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 scope ('every site you have created') implicitly signals this is the account-wide inventory tool, but there is no explicit when-to-use guidance or named alternative such as site_files for drilling into one site's files. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sitemap_urlsList a site's sitemap URLsAInspect
Find a site's sitemap (via robots.txt or /sitemap.xml) and list the page URLs in it. Cost: 2 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site root, e.g. https://example.com | |
| limit | 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. It does disclose two important behavioral facts: the discovery path (robots.txt, falling back to /sitemap.xml) and the cost (2 credits per call). It does not say whether the call truncates to the limit, what happens when no sitemap exists, or whether the result is flat URLs or structured entries.
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 sentences, zero filler, and the core action is front-loaded ahead of the cost note. Nothing is repeated from the title or 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?
There is no output schema, so the description must describe the return, and it does at a high level ('list the page URLs'). Combined with the disclosed discovery mechanism and per-call cost, an agent has enough to select and call it, though truncation behavior for 'limit' is still unspecified.
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%: 'site' is documented ('Site root, e.g. https://example.com') while 'limit' has no description, though its default of 500 and maximum of 2000 are visible in the schema. The description contributes no parameter meaning at all, so it neither compensates for the gap nor adds value 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 and resource ('find a site's sitemap... and list the page URLs') and even names the discovery mechanism (robots.txt or /sitemap.xml). It does not differentiate itself from close siblings like crawl_site, extract_links, or check_urls, 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?
Usage is implied by the name and description (fetch a sitemap for a site root, not crawl or scrape it), but there is no explicit when-to-use guidance and no named alternative. With ~100 sibling tools including crawl_site and site_audit, an explicit contrast statement would be valuable and is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sprite_sheetPack images into a sprite sheetAInspect
Combine animation frames or icons into one sprite sheet PNG with a fixed cell size, and get the frame coordinates as JSON for your game engine. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| images | Yes | Frames, in order: public http(s) links | |
| columns | No | ||
| nearest | No | Keep pixel art sharp when resizing | |
| cell_width | No | ||
| cell_height | No |
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 a good job: it discloses flat cost (1 credit), asynchronous execution with a pollable job_id, and a 1-hour expiry on result links. It stops short of failure behavior (invalid URLs, mismatched frame sizes) or rate limits, so not quite full marks.
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, front-loaded with what the tool produces, then cost, then async/expiry mechanics. Every sentence carries operational information an agent needs; nothing is 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 stateless computation with no annotations and no output schema, the description covers the essentials: inputs (frames/icons), output shape (PNG + coordinate JSON), cost, async pattern, and link lifetime. The remaining hole is parameter-level detail, which is scored separately.
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 40%: 'images' and 'nearest' are documented in the schema, while 'columns', 'cell_width', and 'cell_height' are described nowhere. The phrase 'fixed cell size' gestures at the two cell dimensions but gives no defaults, ranges, or grid semantics, and 'columns' is never mentioned — so the description does not 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+resource ('combine animation frames or icons into one sprite sheet PNG') and names both outputs (PNG sheet plus JSON frame coordinates), which cleanly separates it from neighbors like make_thumbnails or pixel_art. An agent can identify the tool's job 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?
Gives concrete follow-up guidance ('Long jobs return a job_id; poll it with get_job'), which is a real workflow instruction. It does not, however, say when to prefer this over adjacent tools such as make_thumbnails or pixel_art, so selection guidance is only implied by the game-engine use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subdomain_enumFind subdomains (certificate logs)AInspect
List known subdomains of a domain from public certificate-transparency logs. Passive: no traffic is sent to the target. Useful for attack-surface mapping of domains you own or are authorised to assess. Cost: 1 credit per call.
| 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 correctly discloses that the method is passive with no traffic to the target and states the cost (1 credit per call). It does not mention result limits, pagination, or whether historical/expired certs are included, which are the remaining behavioral gaps.
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, front-loaded with the action and source, then safety context, then cost. No filler or restated title text.
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 lookup with no annotations and no output schema, the description covers what the tool returns (a list of subdomains), the passive safety profile, the authorization expectation, and the credit cost. It stops short of describing result shape or volume, which is the only notable omission.
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?
There is one parameter with 0% schema description coverage, but the schema's pattern and maxLength already imply a bare hostname rather than a URL, and the description's phrase 'of a domain' reinforces this. It adds only that modest clarification and no format examples.
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 (list subdomains) plus the exact data source (public certificate-transparency logs), which cleanly separates it from siblings like dns_lookup, domain_info, and reverse_dns that query different sources.
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 use context (attack-surface mapping) and an authorization prerequisite ('domains you own or are authorised to assess'), but never names an alternative tool for the case where a live-DNS enumeration is wanted instead of historical CT data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subtitle_convertConvert and shift subtitlesBInspect
Convert subtitle text between SRT and WebVTT and shift all timings by an offset in seconds (positive delays, negative advances). Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| text | Yes | ||
| shift_seconds | 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. It usefully discloses the sign convention for shifting (positive delays, negative advances) and the cost (1 credit per call), but says nothing about output format, error behavior, or the size ceiling.
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 front-loaded sentence carries the whole contract, with the credit cost appended briefly. No filler or repetition of schema facts.
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 stateless 3-parameter transform with no annotations and no output schema, the core operation is covered, but the description omits what is returned (converted subtitle text), the default of shift_seconds, and the input length limit, all of which an agent would benefit from knowing.
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 has to compensate. It does: it explains that the conversion target is a subtitle format (SRT/WebVTT) and gives the semantic meaning and direction convention of shift_seconds, which the bare schema 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?
The description states a specific verb and resource ('Convert subtitle text between SRT and WebVTT') plus a second operation ('shift all timings by an offset'). The named formats make the scope unambiguous, though it never explicitly distinguishes itself from the broader convert_media/convert_data siblings.
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 and no alternatives named. An agent gets no help deciding between this and add_captions, transcribe_media, or timecode_calculator, nor any prerequisite or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tempo_calculatorBPM, delay and reverb timesBInspect
Turn a tempo into millisecond note lengths, delay times and reverb pre-delay, plus the LFO frequency for each note value. Also converts bars to seconds. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| bpm | Yes | ||
| bars | No | Optional: number of 4/4 bars to convert to time |
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 usefully discloses a cost constraint ('1 credit per call'), which is real behavioral context. However, it says nothing about determinism, output format, or how many note values are returned, so the disclosure is partial for an unannotated 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?
Three short sentences, front-loaded with the primary output set, followed by the secondary bars conversion and the cost note. Every sentence adds distinct information with zero 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 pure calculator with no output schema and no annotations, the description enumerates the returned quantities well enough to call it correctly. It omits which note values are covered and the shape of the result, but these are minor gaps for a deterministic conversion 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 50%: bars is documented in the schema and echoed in the description ('Also converts bars to seconds'), while bpm has bounds but no prose. The description confirms the bars conversion intent and the bpm-to-note-length role, adding modest value over the schema but no format or range 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?
Specific verb (turn a tempo into) plus a precise set of outputs: millisecond note lengths, delay times, reverb pre-delay, LFO frequency, and bars-to-seconds conversion. An agent can immediately tell what it produces. It stops short of naming or differentiating from close siblings like timecode_calculator or music_theory, so it does not reach 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?
The description states what the tool produces but gives no when-to-use guidance, no conditions, and no named alternatives (e.g., timecode_calculator or music_theory). The use case is only implied by the output list, leaving the agent to infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_diffCompare two textsBInspect
Line-by-line diff of two texts (contracts, configs, policies), with added and removed lines and a similarity score. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| after | Yes | ||
| before | 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 disclose the return content and the billing cost ('1 credit per call'), which are genuinely useful. It omits input size limits, whether input is sent externally, and any failure behavior for very large texts, so gaps remain.
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 front-loads the operation and appends the cost note without padding. Every clause 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?
There is no output schema, so the description correctly fills that gap by naming the return fields (added/removed lines, similarity score). For a two-string utility tool with no annotations, this is close to sufficient; only input limit and error behavior are unstated.
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% across the two parameters, but the names 'before' and 'after' are largely self-explanatory and the description's phrase 'diff of two texts' conveys that exactly two string inputs are compared. It adds no detail on ordering semantics or the 100,000-character cap documented in 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 and resource ('line-by-line diff of two texts') and even names the output artifacts (added/removed lines, similarity score), so the agent knows exactly what the tool produces. It does not differentiate itself from nearby siblings such as text_utils or multi_model_compare, which keeps it out of 5 territory.
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 parenthetical use cases (contracts, configs, policies) hint at appropriate inputs, but there is no explicit when-to-use statement and no mention of when to prefer an alternative like text_utils. The agent must infer context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_utilsHash / encode / UUID utilitiesBInspect
Hash text (md5, sha1, sha256, sha512), base64 or URL encode/decode, or generate UUIDs. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| count | No | How many UUIDs | |
| action | Yes | ||
| algorithm | No | sha256 |
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 one genuine behavioral fact: a cost of 1 credit per call. However, it says nothing about determinism, idempotency, input limits (the 100000-char cap), or that hashing/encoding are pure read-only operations, so meaningful gaps remain.
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 tightly packed sentences, capability list front-loaded and the cost note appended with zero filler. Every clause 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?
No output schema exists, so the description could reasonably say something about return values or the action/parameter relationship, but it does not. For a simple 4-param utility the enumeration of capabilities is minimally sufficient, though the low schema coverage leaves it thin.
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 25% (only 'count' is described), so the description should compensate. It instead restates the action/algorithm enum values (md5/sha1/sha256/sha512, base64/URL encode/decode) that are already visible in the schema and never explains the 'text' parameter or the action-to-parameter mapping.
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 names concrete verbs and resources (hash, base64/URL encode/decode, generate UUIDs) so the tool's purpose is unambiguous. It does not, however, differentiate itself from nearby siblings such as hash_identify or text_diff, so it stops short of 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?
Usage is only implied by the enumerated capabilities; there is no explicit when-to-use, when-not-to-use, or alternative-tool guidance. An agent can infer this is the go-to for hashing/encoding, but nothing routes it away from siblings like hash_identify.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timecode_calculatorTimecode and frame mathsAInspect
Convert between timecode (HH:MM:SS:FF), frame counts and seconds at any frame rate, add or subtract timecodes, and work out durations. Supports 23.976, 24, 25, 29.97 (drop-frame) and 30 fps. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | 24 | |
| frames | No | ||
| seconds | No | ||
| timecode | No | e.g. 01:02:03:12 | |
| add_timecode | No | Timecode to add to the first one |
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 voluntarily discloses the cost (1 credit per call), which is real added value, but says nothing about error handling for malformed timecodes, what the response contains, or drop-frame edge cases. For a stateless read-only calculator the risk is low, so this is a moderate gap rather than a severe one.
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 sentences plus a cost line, all front-loaded: capability first, supported frame rates second, pricing last. No filler and every clause 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?
There is no output schema, so the description should ideally say what comes back for each mode; it does not, and the frame-rate list is incomplete relative to the enum. Still, for a multi-mode maths tool it conveys enough to call correctly, so the shortfall is minor rather than disqualifying.
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 40% (only timecode and add_timecode are documented), so the description must compensate and it only partly does: it explains the modes but not which parameter combinations trigger them, nor the relationship between frames/seconds/timecode as alternate inputs. It also lists only 5 of the 8 enum frame rates, omitting 50, 59.94 and 60.
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 specific verbs and resources: convert timecode/frames/seconds, add or subtract timecodes, compute durations, at a given frame rate. This is unmistakably distinct from neighbours like tempo_calculator, ab_test_calc, or currency_convert, so an agent can select it 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?
The description enumerates the operations (convert, add/subtract, duration) but never says how to select among them, and with 0 required parameters that selection is entirely carried by which inputs you supply. No alternatives or when-not-to-use guidance is given, though few siblings overlap this domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tls_certificateTLS certificate checkBInspect
Inspect a site's HTTPS certificate: issuer, validity dates, days until expiry and alternate names. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | 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 add one genuinely behavioral fact not available elsewhere — the cost of 1 credit per call — and 'inspect' implies a non-mutating read. It says nothing about network behavior, timeouts, or what happens with an invalid/unreachable certificate, which is a real gap for a zero-annotation 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?
Two compact sentences, capability first and cost last. Every clause earns its place; nothing is padded or restated from the title.
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 output schema, the description usefully enumerates the returned fields, which is the main thing an agent would otherwise lack. The missing piece is input format guidance for the domain parameter.
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 parameter, so the description must compensate and largely does not. It implies a site/domain input but gives no guidance on format — no statement about whether a scheme, path, or subdomain is accepted, despite the schema's strict lowercase pattern and length bounds.
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 (inspect) and resource (HTTPS certificate) and enumerates exactly what is reported: issuer, validity dates, days until expiry, alternate names. That field list distinguishes it from nearby siblings like security_headers or domain_info, 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 alternatives named. The agent must infer that this tool is for certificate inspection rather than, say, site_audit or security_headers, purely from the resource noun.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tracerouteTracerouteBInspect
Show the network path (each router hop with latency) from our server to a public host. Cost: 2 credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| max_hops | No |
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 disclose a real behavioral trait — the cost of 2 credits per call — which is genuinely useful, and it hints that only public hosts are addressable. However, it omits permission requirements, rate limits, and whether the target must be routable from the server.
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 core action and scoping before the cost caveat. No filler or redundant restatement of 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?
There is no output schema and no annotations, so the description is the only source of behavior. It does sketch the return shape ('each router hop with latency'), but a diagnostics tool with two parameters and zero schema documentation should say more about hop limits, timeouts, and failure modes.
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. It adds meaning for 'host' by narrowing it to a public host and explains the hop concept, but the second parameter (max_hops, default 20, range 3–30) is never mentioned, leaving half the parameters semantically bare.
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 ('Show the network path ... each router hop with latency') with an explicit scope of origin ('from our server to a public host'). This distinguishes it implicitly from reachability tools like ping, but it never names a sibling to route 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 phrase 'to a public host' hints at a precondition, but there is no explicit when-to-use, when-not-to-use, or alternative (ping, port_check, dns_lookup all appear as siblings and overlap in the network-diagnostic space).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_mediaTranscribe speechAInspect
Turn the speech in a video or audio file into text with timestamps. Returns the transcript plus ready-made .srt and .vtt subtitle files. Speech recognition runs on this server, so your files are not sent to any other AI service. Cost: 2 credits per minute. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Audio or video file: public http(s) link | |
| language | No | Spoken language in English, e.g. spanish. Leave empty to detect it | |
| translate_to_english | No | Translate the speech into English |
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: it discloses that recognition runs on this server (privacy), the exact cost (2 credits per minute), the async job_id polling pattern via get_job, and the 1-hour result-link expiry. These are precisely the behavioral traits an agent cannot infer from 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?
Four short sentences, each earning its place: capability and output first, then privacy, then cost/async mechanics, then result lifetime. The most decision-relevant facts are front-loaded with zero filler.
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 usefully summarizes the return value (transcript plus ready-made .srt and .vtt files). Combined with cost, async behavior and expiry, an agent has everything needed to call this correctly in one shot.
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 url, language and translate_to_english are already documented with formats and defaults. The description adds only the notion of timestamps in the output and does not extend meaning for any individual parameter, 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 and resource ('turn the speech in a video or audio file into text') and names the granularity (timestamps). It is clearly distinguishable from siblings like extract_audio, add_captions and subtitle_convert because it produces the transcript itself rather than manipulating existing subtitles.
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 the operational context an agent needs: long jobs return a job_id to poll with get_job, and result links expire in 1 hour. It does not explicitly say when to prefer this over sibling tools such as add_captions or analyze_media, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trim_mediaTrim or cutAInspect
Cut a section out of a video or audio file. Lossless mode copies the data without re-encoding, so it is instant and keeps full quality (the cut snaps to the nearest keyframe). Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Source file: public http(s) link | |
| format | No | Output format when not lossless. Defaults to mp4 or mp3 | |
| quality | No | Quality. Lower quality gives smaller files | medium |
| lossless | No | Copy without re-encoding (instant, keeps quality) | |
| end_seconds | No | Where the cut ends, in seconds | |
| start_seconds | Yes | Where the cut starts, in seconds | |
| duration_seconds | No | Length of the result in seconds |
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 so well. It discloses lossless-mode keyframe snapping, credit cost per output minute, asynchronous job behavior with get_job polling, and one-hour result-link expiry.
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 most important information is front-loaded in the first sentence, and every subsequent sentence adds operationally useful detail. There is no redundant or filler text.
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 no annotations and no output schema, the description supplies the missing context an agent needs: output-link expiry, async job handling, lossless tradeoffs, and cost. It is complete enough to invoke and manage the tool 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 coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining that lossless mode snaps cuts to keyframes and that cost scales with output duration, which is relevant to the lossless and duration-related parameters.
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 and resource: 'Cut a section out of a video or audio file.' This clearly distinguishes cutting from related media operations like merge, convert, or extract. However, it does not explicitly name or contrast with sibling tools, so it falls short of full 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?
Usage is implied by the verb and resource, but there is no explicit guidance on when to choose this tool over alternatives such as edit_video or convert_media. The lossless-mode explanation helps with a mode choice, but not with tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
utm_builderUTM link builderAInspect
Build campaign tracking URLs with consistent UTM parameters, one per source/medium pair, with lower-casing and safe encoding. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| term | No | ||
| content | No | ||
| campaign | Yes | ||
| channels | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and discloses meaningful behavior: lower-casing normalization, safe encoding, one URL per source/medium pair, and a per-call cost of 1 credit. It does not cover auth requirements or error behavior, but the operational traits it does expose are genuinely useful.
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 tight sentences with the purpose front-loaded and cost isolated in its own clause. No filler, though the description is short enough that it could have spent a little more on parameter meaning.
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 5-parameter tool with no annotations, no output schema, and 0% schema coverage, the description is only partially complete. It conveys output cardinality and billing but does not explain the key inputs or the resulting URL structure an agent would need to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only gestures at the channels parameter ('source/medium pair'). The url, campaign, term, and content parameters receive no explanation or format guidance, leaving most of the 5-parameter surface undocumented.
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 (Build) and resource (campaign tracking URLs with UTM parameters), plus output cardinality ('one per source/medium pair'). No sibling tool overlaps with this function, so 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?
The campaign-tracking context implies when the tool applies, but there is no explicit when-to-use/when-not guidance. Since no sibling competes in this space, the omission is low-risk but still leaves usage implicit rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_color_gradeColour grade a videoAInspect
Give a video a cinematic look: pick a preset (teal and orange, warm film, cool noir, black and white, vintage) and fine-tune brightness, contrast, saturation and vignette. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video: public http(s) link | |
| preset | No | teal_orange | |
| quality | No | Quality. Lower quality gives smaller files | medium |
| contrast | No | ||
| vignette | No | ||
| brightness | No | ||
| saturation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and does well: it states the cost model (1 credit per minute), the asynchronous behavior (long jobs return a job_id to poll with get_job), and the artifact lifetime (result links expire in 1 hour). It stops short of clarifying that the source video is untouched and a new graded asset is produced, but the operational profile is solidly covered.
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 compact sentences with zero filler: the purpose and preset menu come first, then cost, then async and expiry mechanics. Each sentence delivers information the agent needs to invoke the tool correctly.
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, and the description compensates by explaining the return path (job_id polling via get_job) and link expiry. Combined with the cost and preset information, an agent has nearly everything needed; the remaining hole is precise numeric semantics for the tuning parameters.
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 low (29%), so the description must compensate; it maps the preset enum to human-readable looks and names the four fine-tuning controls (brightness, contrast, saturation, vignette). However it gives no units or ranges for the numeric controls (e.g. contrast 0.5-2, brightness -0.5 to 0.5) nor the meaning of the vignette boolean, leaving real gaps against a 7-parameter 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?
The opening sentence states a specific action and resource ('Give a video a cinematic look') and immediately enumerates the preset vocabulary (teal and orange, warm film, cool noir, black and white, vintage), which cleanly separates it from siblings like edit_video or video_reverse. An agent can identify the operation 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?
The description conveys the intent (stylistic look via presets) but never states when to prefer this over neighboring video tools such as edit_video, trim_media, or compress_media, and offers no exclusions or prerequisites. Usage is implied by the preset framing rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_reverseReverse a clipAInspect
Play a short clip backwards, with its audio. Limited to 60 seconds because the whole clip is held in memory. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video: public http(s) link | |
| format | No | mp4 | |
| max_height | No | Shrink video to at most this height, e.g. 720 |
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 so well: it discloses the 60-second memory constraint, audio retention, per-minute cost, job_id polling behavior, and result-link expiration. These are exactly the traits an agent needs before invoking an async media job.
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 tightly packed sentences. Purpose is front-loaded, then constraints, cost, and async handling follow in a logical order with no redundant or filler content.
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 no-output-schema tool, it covers everything needed to call correctly: what it does, clip-length limit, cost, async job behavior, polling tool, and result expiry. Only parameter specifics are missing, and those are partly covered by the schema.
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 description adds no parameter-level information: it never mentions url, format, or max_height. Schema coverage is only 67%, and the undescribed format enum must be inferred from the schema alone, so the description fails to compensate for the 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 states a specific verb and resource: 'Play a short clip backwards, with its audio.' It is immediately distinguishable from general media-editing siblings like edit_video or trim_media.
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 gives clear operational context: 60-second limit, credit cost, async job polling via get_job, and one-hour link expiry. It does not explicitly name alternatives such as trim_media or edit_video, so it stops short of full when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wayback_snapshotWayback Machine snapshotAInspect
Find the closest archived snapshot of a URL in the Internet Archive, optionally for a given date (YYYYMMDD). Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page URL | |
| date | No |
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 does disclose a concrete behavioral trait — a cost of 1 credit per call — which is genuinely useful. However, it omits other important traits: what happens when no snapshot exists, whether the call fails or returns the nearest available, and what a successful result contains.
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 leads with the core action and follows with the optional parameter and cost note. No filler, every clause contributes 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 two-parameter tool with no output schema and no annotations, the description covers the action, the optional date, and cost, which is the minimum viable set. It still leaves the return shape (snapshot URL? timestamp?) and the no-snapshot edge case unspecified, which an agent would want before calling.
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%: `url` is documented but `date` has only a regex pattern. The description compensates by explaining the date as YYYYMMDD and, more importantly, clarifying that a date selects the *closest* snapshot rather than requiring an exact match. Minor tension: the schema pattern allows 4–14 digits while the description specifies 8.
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 ('Find the closest archived snapshot of a URL in the Internet Archive') and adds the key scope qualifier that it returns the *closest* snapshot, not a full history. It is clearly distinguishable from siblings like crawl_site or page_metadata, though it does not explicitly name any 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?
Usage is implied rather than stated: an agent can infer this is the tool for retrieving archived versions of a page, and the optional date hints at point-in-time retrieval. There is no when-not guidance, no mention of alternatives (e.g. crawl_site for live content), and no stated behavior for URLs with no archive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_searchSearch the webAInspect
Search the web and return ranked results (title, URL, snippet). Set include_content to also fetch the top results and return their clean text, ready for an LLM to read. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No | ||
| include_content | No | Fetch the top 3 results and include their text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the cost model ('1 credit per call') and the return shape, which annotations would otherwise have to cover. It says nothing about rate limits, authentication, quota exhaustion, or what an empty/failed search returns.
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 tight sentences: purpose and return shape first, the optional mode second, cost last. Nothing is redundant and the most decision-relevant information is front-loaded.
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 compensates well by naming the returned fields and the include_content payload. It stops short of covering ranking behavior, result limits versus max_results interaction, or failure modes, which is a modest remaining gap for a search primitive.
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% — only include_content is documented in the schema, and the description reinforces it. query and max_results are self-describing by name and constraints (default 8, max 15), so the description does not need to do much more, but it also adds no syntax or format detail beyond the names.
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 ('Search the web') and even enumerates the return shape (title, URL, snippet), so the agent knows exactly what it gets back. It never names or contrasts a sibling (scrape_page, crawl_site, extract_content), so the agent must infer the boundary from the name 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?
The two-mode framing ('set include_content to also fetch the top results') implicitly tells the agent when to flip that flag, which is genuine usage guidance. There is no explicit when-not or routing advice against the many fetch/scrape siblings, 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.
xp_curveXP and difficulty curve builderBInspect
Generate a level-up XP table from a curve (linear, quadratic, exponential or RuneScape-style) and report total XP and the time to reach each level at a given XP-per-hour pace. Cost: 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| curve | No | quadratic | |
| growth | No | Exponential growth factor | |
| levels | No | ||
| base_xp | No | ||
| xp_per_hour | No |
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 does disclose a real behavioral trait the structured fields cannot: a per-call cost of 1 credit, plus what the output contains (total XP and per-level time estimates). It does not cover determinism, rate limits, or whether the defaults produce a sensible table.
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 sentences: the core capability is front-loaded with the curve options inline, and the cost note is isolated at the end where it belongs. No filler, though the packed second clause is slightly dense.
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 five-parameter calculator with no output schema and no annotations, the description covers the headline output and one operational trait (cost), which is enough to invoke it correctly. It leaves gaps on defaults, parameter roles, and the shape/units of the returned table.
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 20% (just 'growth'), so the description needs to compensate and largely does not. The curve enumeration merely restates the schema enum, and the xp_per_hour role is hinted at ('at a given XP-per-hour pace'), but levels and base_xp are given no meaning at all despite being free parameters with wide 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?
The description gives a specific verb plus resource ('Generate a level-up XP table') and names the supported curve families, which is concrete and clearly distinct from neighboring utilities like loot_table or dice_roller. It stops short of explicitly naming an alternative or sibling, 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?
Usage is only implied: the mention of XP-per-hour pacing and curve choice suggests a game-balancing/progression-design context, but there is no statement of when to reach for this tool versus alternatives or what prerequisites exist. Adequate but not explicit.
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.
127 tool updates
- First observed
ab_test_calc - First observed
ad_copy_check - First observed
ad_metrics - First observed
add_background_music - First observed
add_captions - First observed
add_watermark - First observed
amortization_schedule - First observed
analyze_media - First observed
app_frontend - First observed
arch_design - First observed
arch_review - First observed
audio_pitch_tempo - First observed
audio_visualize - First observed
business_days - First observed
cad_build - First observed
cad_calc - First observed
cad_fusion - First observed
cad_ideas - First observed
cad_machine - First observed
cad_part - First observed
cad_reverse - First observed
check_urls - First observed
color_palette - First observed
compress_media - First observed
convert_data - First observed
convert_media - First observed
crawl_site - First observed
create_hls_stream - First observed
crime_case_report - First observed
crime_map_data - First observed
crime_stats - First observed
cron_explain - First observed
crypto_coin - First observed
crypto_markets - First observed
crypto_news - First observed
crypto_search - First observed
crypto_signals - First observed
crypto_wallet - First observed
csv_profile - First observed
currency_convert - First observed
cve_lookup - First observed
dice_roller - First observed
dns_lookup - First observed
domain_info - First observed
edit_metadata - First observed
edit_video - First observed
email_check - First observed
extract_audio - First observed
extract_contacts - First observed
extract_content - First observed
extract_data - First observed
extract_links - First observed
extract_tables - First observed
fetch_json - First observed
get_audit_log - First observed
get_balance - First observed
get_job - First observed
get_media_info - First observed
hash_identify - First observed
hub_apps - First observed
hub_read - First observed
hub_routes - First observed
hub_send - First observed
hub_setup - First observed
hub_state - First observed
ioc_extract - First observed
ip_info - First observed
ip_whois - First observed
jwt_inspect - First observed
keyword_formatter - First observed
loot_table - First observed
make_slideshow - First observed
make_thumbnails - First observed
merge_media - First observed
midi_generate - First observed
multi_model_compare - First observed
music_theory - First observed
name_generator - First observed
noise_heightmap - First observed
onion_directory - First observed
onion_discover - First observed
onion_fetch - First observed
page_metadata - First observed
parse_feed - First observed
password_check - First observed
phishing_url_check - First observed
ping - First observed
pixel_art - First observed
port_check - First observed
process_audio - First observed
qr_code - First observed
recipe_delete - First observed
recipe_import - First observed
recipe_list - First observed
recipe_publish - First observed
recipe_run - First observed
recipe_save - First observed
redirect_chain - First observed
reverse_dns - First observed
scrape_page - First observed
security_headers - First observed
shot_list - First observed
site_audit - First observed
site_autofix - First observed
site_create - First observed
site_deploy - First observed
site_files - First observed
site_import - First observed
site_list - First observed
sitemap_urls - First observed
sprite_sheet - First observed
subdomain_enum - First observed
subtitle_convert - First observed
tempo_calculator - First observed
text_diff - First observed
text_utils - First observed
timecode_calculator - First observed
tls_certificate - First observed
traceroute - First observed
transcribe_media - First observed
trim_media - First observed
utm_builder - First observed
video_color_grade - First observed
video_reverse - First observed
wayback_snapshot - First observed
web_search - First observed
xp_curve
Related MCP Connectors
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Host the tools your AI builds — small internal tools in isolated microVMs, live for your team.
Pay-per-result data tools: bulk APIs, docs to Markdown, OCR, files, datasets, papers, tech stack.
Upload, generate, organize, search, and transform images, videos, and files with AI-powered tools.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to automate 2D architectural drafting and CAD file management, including DXF/DWG parsing, SVG/PNG/PDF rendering, wall extrusion to 3D STL meshes, room and beam analysis, block/script library access, and persistent depot storage via a REST API and MCP tools.18MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to author, read, critique, and validate production CAD drawings through 247 typed tools spanning mechanical parts, architectural plans, P&IDs, takeoffs, and ISO GD&T / dimension-tolerance checks. It drives live AutoCAD over COM on Windows or runs headlessly anywhere via ezdxf, with pack and discovery modes to keep the advertised tool surface cheap.-
- AlicenseBqualityBmaintenanceGives AI agents a searchable catalog of over 15,000 documented tools, commands and functions across fourteen engineering and design applications, plus headless automation adapters that run the installed software in batch/script mode and return structured JSON. Also provides a timezone-aware time tool and an optional live documentation search, with local-only networking and an internet-tools kill switch by default.31MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to draft, read back, validate and take off real CAD drawings — mechanical parts and sheets, architectural plans with measured room areas, and P&IDs — through a typed tool contract covering ISO GD&T, dimension tolerances, ISO/ANSI standards and schedules. It drives either a live desktop drafting seat over COM on Windows or a headless DXF engine on any platform, with tool packs and discovery mode to keep the advertised surface cheap.-
Glama MCP Gateway
Add one secure layer between your agents and this server.