SuperCMO Skills
OfficialServer Quality Checklist
Latest release: v0.1.24
- Disambiguation5/5
Each tool targets a clearly distinct concern — generation (image/video/audio), model discovery, analysis, research, transcription, and job handling — with descriptions that explicitly separate overlapping cases (e.g., video_stitch vs video_overlay vs caption_video; raw generation vs list_* discovery). No two tools appear redundant, and each description names what it does not do to prevent misselection.
Naming Consistency4/5The server follows a consistent snake_case, media-first convention (image_*, video_*, audio_*, list_*) that makes related tools instantly groupable, and the list_* prefix is applied uniformly. Minor deviations: caption_video inverts the media-first order (vs video_stitch/video_overlay), transcribe stands as a bare verb, and noun-style names like url_extraction and image_analysis mix with verb-style ones, though all remain predictable and readable.
Tool Count4/518 tools exceeds the ideal 3–15 range, but each maps to a defensible function in the media-generation and marketing-analysis workflow, organized into coherent families (generate/models/analyze/post-process). It's a wide surface, yet every tool has a clear place and earns its presence; none feel like filler or duplication.
Completeness4/5The domain is well covered across the full creative pipeline: setup, generation for all three media types, model/voice discovery, analysis, transcription, research, and comprehensive video post-production. Minor gaps exist — no image post-processing/editing, no asset management or cleanup, and no configuration beyond a status check — but the core workflows are fully traversable without dead ends.
Average 4.6/5 across 18 of 18 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- 0 of 6 community issues answered or closed in the last 6 months
- 59 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under Apache 2.0.
This repository includes a README.md file.
Tools from this server were used 6 times in the last 30 days.
This repository includes a glama.json configuration file.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool 'Reports only key NAMES and set/missing — never key values', a key security behavior, and that the optional check is 'FREE... never a paid generation'. It also explains the return structure (vendor keys, managed-key state, per-capability readiness), though it does not explicitly state read-only or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized but every sentence contributes value: purpose, usage, return content, check behavior, and privacy guarantee. It is front-loaded with the core purpose and avoids fluff, though the check behavior is slightly redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given its simple parameter set (1 boolean) and no annotations, the description is highly complete: it covers purpose, trigger conditions, return details, cost implications, and data privacy. It lacks specifics on error handling or exact vendor key names, but for a setup status tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'check' already has a detailed description in the input schema (100% coverage), so the description adds little beyond repetition. The phrase 'never a paid generation' reinforces the schema's 'no paid call' but does not introduce new semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks SuperCMO media-generation key configuration and capability readiness with the specific verb 'check' and resource 'SuperCMO media-generation keys'. It is labeled the 'setup doctor' and explicitly distinguishes its diagnostic role from sibling generation/list tools by instructing to 'Call this FIRST' for setup or configuration issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit scenarios for use: 'when a user is setting up SuperCMO, asks which keys they need, or a generation failed with no_provider_configured'. It does not directly name alternatives or exclusion criteria, but the context and 'FIRST' positioning make the intended usage clear relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does meaningful work: 'it stops firing but is not deleted' tells the agent the operation is not a destructive delete, and equivalence to 'calendar_update with status='cancelled'' clarifies the effective state change. It doesn't mention authorization, idempotency, or return payload, but the core side-effect is stated honestly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences; the first front-loads the action and the key side-effect, the second handles the prerequisite. Every clause provides either behavior or usage information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema cancellation tool, the description covers what it does, what happens to the event, the equivalent update call, and how to obtain the id. It doesn't describe result/response format, but the tool is simple enough that this is a minor gap; overall it is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, id, is fully documented in the schema (100% coverage), including where the id comes from ('returned by calendar_add or calendar_list'). The description repeats the by-id mechanism but adds no semantics beyond the schema, matching the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb-resource pair: 'Cancel a calendar event by id' and adds a key distinguishing fact ('same effect as calendar_update with status='cancelled''). This clearly separates it from calendar_update and calendar_list, so an agent can pick the right sibling 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.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs 'Use calendar_list first if you don't already have the event's id', which is a concrete precondition. It also references calendar_update as the semantic equivalent, though it stops short of giving a condition for choosing one over the other, so it's not a full when-not-to-use guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the burden. It discloses the exact return format ({ok, text, words, duration, language}), input types (local path or URL), error shape, and dry_run cost-saving behavior. It could mention auth, file size limits, or processing time, but core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, front-loaded with the core capability. Every sentence serves a purpose: use cases, input contract, return contract, and cost-saving option. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, it still explains return values thoroughly and covers common invocation concerns. It is complete enough for selection and basic use; missing details like format limitations or authentication are not critical for an agent deciding to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3 applies. The description reinforces the audio param type and dry_run purpose, but adds no meaningful parameter-level detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Transcribe speech' and the resource ('audio or video file') and differentiates itself with word-level timestamps. The mention of chaining into caption_video distinguishes this tool from sibling tools like video_analysis and audio_generate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete use cases: captioning a video, reading a voiceover, analyzing a competitor ad's spoken script, and explicitly suggests the transcribe -> caption_video chain. It lacks explicit when-not-to-use guidance or named alternatives, but the context is strong enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that it returns text, does not generate images, and that batch requests run in parallel ('they are analyzed in parallel, so a batch costs about the same wall time as its slowest image'). It also explains dry_run behavior ('preview the request without spending'). It does not mention rate limits or auth, but for a read-only analysis tool the key behaviors are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough but not bloated. It front-loads the core purpose and then adds details about batching, prompting, and dry_run in a logical order. Each sentence contributes useful information; there is no repetition or filler. It is slightly longer than necessary, but given the complexity of multiple parameters, the length is justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no output schema, and no annotations, the description is quite complete. It explains when to use batching, how to use dry_run, and how to give prompts. It does not describe the return format, but since there is no output schema, that is acceptable. The only minor gap is that it doesn't mention whether the tool requires any special permissions, but that is negligible for a read-only analysis. Overall, it covers all essential aspects for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 value by explaining the distinction between single image vs. `requests`, the parallel execution benefit, the purpose of `dry_run`, and how to craft a focused prompt (specific prompt vs. general description). It also gives an example prompt directly in the parameter description. This goes beyond the bare schema definitions, justifying a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('look at'), a specific resource ('images'), and the output type ('returns text, not new images'). It also gives concrete use cases (product photos, face detection, general content description) and explicitly differentiates from image generation by noting it does not create images. This clearly distinguishes it from siblings like image_generate and video_analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases ('Use to read a product photo... to judge whether... to describe any image's content') and explains when to use the `requests` parameter for batching. It implicitly excludes generation by stating 'returns text, not new images,' which helps an agent choose between this and image_generate. However, it does not explicitly name alternatives or state when not to use it, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It reveals key behaviors: local ffmpeg (no credits), bundled font (no system dependency), karaoke optional, timestamp base (t=0 relative to video audio), return format (path, duration, resolution, size, or structured error), and the dry_run option. This is rich and transparent, though it does not cover potential edge cases like file overwrite behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is several sentences but each adds essential information: purpose, usage chain, font handling, karaoke, timestamps, return format, ffmpeg requirement, and dry_run. It is front-loaded with the primary purpose and concise without fluff. A slightly better structure could group related details, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, nested style object), no output schema, and no annotations, the description covers the entire workflow: prerequisite chain, input specifics, styling behavior, output details, error handling, and a preview mechanism. It is sufficiently complete for an agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage of parameter descriptions, so the baseline is 3. The description adds value by linking the transcript parameter to transcribe's output ('exactly the `words` list transcribe returns') and by clarifying the video input can be a video_generate path or URL. This contextual addition justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource combination: 'Burn styled, social-style captions into a video' and clearly identifies the input as 'word-timed transcript'. It distinguishes from siblings by emphasizing the captioning function and the local ffmpeg/no-credits aspect, which is unique among the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides the usage chain 'transcribe -> caption_video' and explains that the transcript should come from transcribe, giving clear context for when to use this tool. It also mentions dry_run for preview without rendering, though it does not explicitly list when not to use it or suggest alternatives. The guidance is adequate but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals the return contents in detail and notes that 'Every model works with every voice,' which is a non-obvious behavioral trait. It also labels itself as the 'authoritative source' for model acceptance, setting expectations for reliability. It doesn't explicitly state read-only or error behaviors, but for a list operation, the transparency 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loaded with the main action and output details. The first sentence is packed with information but remains specific; the second clarifies the relationship with voices; the third gives usage guidance and parameter behavior. No filler words, though the first sentence is dense. It earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one optional parameter and no output schema, the description thoroughly covers what is returned (strengths, price, character limit, language coverage, audio types, output formats for audio_generate) and when to use it. It also addresses the relationship with voices and the authoritative nature of the data. This is complete enough for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the schema already describes 'query' as 'Optional keyword to filter models by use-case (matches the name, display name, and strengths).' The description adds illustrative examples ('expressive', 'long-form', 'fast') and reinforces that filtering is by use-case keyword. This added value is helpful but not substantial beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available speech models and details what attributes are included (strengths, price, character limit, language coverage, audio types). It distinguishes itself from list_voices by explicitly saying voices are a separate concern, and the resource is specific to audio models, setting it apart from sibling list_video_models and list_image_models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool: 'call it when choosing a model for an open-ended request, or to check a value before setting it.' It also names an alternative: 'use list_voices for those' for voice-related queries. This gives clear decision rules for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden and does well: it discloses local processing, dependency on ffmpeg, bundled-font rendering, output contents (path, duration, resolution), structured errors, and dry-run behavior. It does not detail potential side effects like overwriting files or network timeouts for URLs, but it covers the main behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tight and front-loaded, with the core purpose in the first sentence and supporting constraints in the following sentences. Every sentence earns its place, and there is no filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no output schema, the description adequately covers the main workflow, constraints, prerequisites, and return values. It could be slightly richer on how multiple overlays combine or what happens with URL inputs, but the visible guidance is sufficient for most agent decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 meaningful value by grouping parameters into three feature families (logo, timed text, end card), stating the 'at least one of' constraint, and explaining text use cases. It does not redundantly restate schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action ('Stamp a logo, timed text, and a branded end card onto a video') and clearly identifies the resource and scope. It also differentiates itself from siblings by emphasizing 'local ffmpeg, no credits' and its overlay-specific capabilities versus stitching or captioning tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage context: pass at least one of logo/texts/end_card, requires ffmpeg, and dry_run previews without running ffmpeg. It does not explicitly name alternatives or state when not to use the tool, but the 'captions you place yourself' phrase hints at a contrast with automated captioning.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it explains the computed next_occurrence, defaulting to scheduled events, and how status widens visibility to cancelled/historical events. It does not describe full return fields or error behavior, but the key non-obvious behaviors are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then adds derived behavior, filtering options, and sibling usage in a logical progression. Every sentence carries useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and no annotations, the description covers all 6 parameters, explains default behavior, names the computed field, and ties usage to sibling tools. An agent has enough to invoke this tool correctly in most workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the baseline applies. The description adds useful context around filters and the computed recurrence, but largely restates what the schema already documents for kind, status, channel, window, and limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('List the caller's calendar events — tasks and posts') and adds ordering and scope. It clearly differentiates this tool from calendar_add, calendar_update, and calendar_remove by naming those siblings directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool: before calendar_add to check for clashes and before calendar_update/calendar_remove to find an event's id. It also explains default behavior and how to expand or narrow results, leaving little ambiguity about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
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 discloses the behavior in detail: what the tool returns (full schema, modes, aspect ratios, etc.) and its authoritative nature. It does not explicitly mention side effects, but 'List' implies a read-only operation. The description adds useful context about the tool's role as the source of truth for model capabilities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: it opens with the primary action and returns in detail, then provides usage context, then explains the parameter. Every sentence carries meaningful information without redundancy or fluff. It is compact despite the rich detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description is complete. It tells the agent exactly what the tool provides (full details for each model), when to use it (for model selection and parameter validation), and how to filter. No critical information is missing, and it aligns with the tool's simple interface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the single 'query' parameter with 100% coverage, so baseline is 3. The description adds examples ('cinematic', 'fast', 'audio') and clarifies that the filter matches name, display name, and strengths, which slightly exceeds the schema's description. It provides practical guidance on how to use the filter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('List') and resource ('available video-generation models'), and enumerates the detailed information returned (schema, modes, aspect ratios, durations, resolutions, media, native audio, strengths, price). It is clearly distinguished from sibling tools like list_image_models and list_audio_models by focusing on video models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool: 'call it when choosing a model for an open-ended request, or to check what a model accepts before setting aspect_ratio / duration / resolution / media.' It also positions it as the 'authoritative source' for exact ranges. However, it does not explicitly mention when not to use it or point to alternative tools, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses the return type (compact JSON object, not full text), mentions page metadata and gallery image URLs, and explains the dry_run parameter. It also hints at cost via 'without spending.' It could be more explicit about errors or rate limits, but overall it offers strong transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three sentences, front-loaded with the core action, and contains no redundant information. Every word contributes to understanding the tool's purpose and usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does an excellent job covering purpose, output details, usage context, and the dry_run option. It gives a complete picture of what to expect from the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 value by explaining that prompt and/or schema guide extraction, and that dry_run previews the request without spending. This goes beyond the schema's basic field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool extracts structured data from a web page, with a specific focus on product listings and any URL. This distinguishes it from sibling tools that handle media generation or analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: 'Use when you need specific data or image URLs from a page.' It does not explicitly mention alternatives or exclusions, but the intended use case is well defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
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 excels: it discloses partial-update semantics, immutability of `kind`, conditional parameter grouping, the free-text nature of `channel`, the hard-fail risk if `publish_tool` is not connected, and the difference between cancelling and deleting. This is exactly the kind of context an agent needs to avoid destructive or invalid updates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place, and the most important fact—this modifies an existing event—is front-loaded. The later clauses efficiently pack conditional rules, cancellation semantics, and critical constraints on `publish_tool` without repeating the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter mutation tool with no output schema and no annotations, the description provides strong coverage of the update contract, including partial updates, cancellation/re-arm, and conditional rules. The only minor gap is that it does not describe what the tool returns on success or failure, but that does not materially impede an agent's ability to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter semantics beyond the schema: it states that omitted fields are unchanged, that schedule changes require exactly one of `at`/`rrule`, that post events require `content`+`channel`+`publish_tool` together, and that `kind` cannot be changed. These relationships are not fully captured by individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Change fields on an existing calendar event,' which clearly distinguishes this from the sibling create/list/remove tools. It also names the two additional allowed actions—re-arm and cancel—so the agent immediately understands the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear this is for existing events, not new ones, and refers to calendar_add for shared rules, which orients the agent toward the correct sibling. It lacks an explicit statement like 'use calendar_remove to delete an event,' so alternatives are implied rather than fully enumerated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
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 thoroughly. It discloses account-specific behavior (own vs. shared voices), the inclusion of preview_url, the unusual behavior of keeping voices that lack filtered attributes, and the empty-account case. This goes well beyond basic expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than typical but every sentence adds value: purpose, return contents, filtering advice, behavioral quirk, and account edge case. It is front-loaded with the core purpose and remains structured, though it could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers return values (voices with gender, accent, age, use-case, preview_url), account context, filtering behavior, and empty results. It is complete enough for an agent to select and invoke the tool correctly without further clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing baseline 3. The description adds meaningful context beyond the schema: it explains that limit should be small, that missing filtered attributes are tolerated, and that preview_url can be handed to the user. This enriches parameter understanding without restating schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource: 'Find a voice to speak with, and get the voice_id that audio_generate requires.' It clearly identifies the tool's role in the audio generation workflow and distinguishes it from sibling tools like list_audio_models by focusing on voices rather than models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear guidance on when to use the tool (when a voice_id is needed for audio_generate), how to filter based on brief requirements, and advises keeping limit small and offering previews. It does not explicitly mention alternatives or exclusions, but the context is strong enough to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
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 discloses key behaviors: hard cuts, audio kept, scaling of different-sized clips, narration alignment per clip, music mixing, subtitle burning, dry_run behavior, and ffmpeg requirement. It also mentions error handling for narration takes longer than clips. The only minor gap is not explicitly stating that the operation is non-destructive to input files, but the description is quite thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured. It front-loads the core purpose, then provides usage guidance, then details optional parameters, then return value and requirements. Every sentence adds value. It's slightly long but justified given the complexity of the narration parameter. The structure is logical and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, optional layers, alignment semantics, error conditions), the description is remarkably complete. It covers all parameters, explains the return value, mentions the ffmpeg dependency, and provides dry_run behavior. No output schema exists, so the description's mention of return fields ('path' with duration, resolution, size) is essential and provided. This is a model description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 significant value beyond the schema: it explains the narration alignment model ('ONE take per clip, in clip order, NOT one joined track; each take is aligned to its own clip so nothing drifts'), the ducking behavior, and the error condition for long takes. It also clarifies the clips parameter accepts paths or URLs. This goes well beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Join finished video clips into one file, in the order given, with a hard cut between each and each clip's audio kept'. It specifies the verb (join), resource (video clips), and key behaviors (order, hard cut, audio kept). It also distinguishes from video_generate by explicitly stating 'this assembles existing clips, it does not generate new video'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'Use it to build a video longer than a single model clip: generate the shots with video_generate, then stitch them.' It also gives clear exclusions: 'Do NOT use it for a single clip, or for a batch of clips meant to stay separate.' This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does so thoroughly: it explains that task agents have no memory, post fires with no model call, `channel` is a non-enum hint, and the event hard-fails if `publish_tool` is not connected. These are meaningful execution traits beyond the schema definitions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence in the description encodes a real constraint or behavioral fact; there is no filler. The core purpose is front-loaded, and the detailed clauses about kind-specific requirements and constraints are organized naturally given the 10-parameter conditional schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 10-parameter tool with no output schema and no annotations, the description covers parameter requirements, execution behavior, and failure conditions well. It does not describe the success return value or how to later manage the created event, but those are partially covered by sibling tools and are not essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though schema coverage is 100%, the description adds critical semantics: future-only `at` timestamps, IANA timezone names, free-text channel behavior, self-contained prompts, and the requirement that `publish_tool` be a currently-connected real tool. This goes well beyond the field descriptions in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb and resource: 'Schedule a new calendar event that fires once or on a recurrence.' It immediately distinguishes this creation tool from sibling tools such as calendar_update, calendar_list, and calendar_remove.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when each mode applies: 'task' for agent re-invocation with prompt, 'post' for publishing content, plus the exact mutually-exclusive `at`/`rrule` requirement. It does not explicitly contrast with calendar_update or calendar_remove, but the creation-focused purpose and sibling names make the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of describing behavior. It details what data the tool returns (strengths, price, aspect ratios, reference image count, valid aspect ratios/resolution tiers) and the query filter behavior. It does not mention output format or potential errors, but for a read-only listing tool this is adequate context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly written with essential information only: purpose, contents, usage conditions, and parameter example. Despite being dense, every clause adds value, and the structure front-loads the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with one optional parameter and no output schema, the description is comprehensive: it lists the return contents, the query semantics, and the relationship to image_generate. No further information is needed for an agent to decide when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'query' is fully described in the schema (coverage 100%), and the description adds concrete examples ('text', 'photorealistic', 'fast') and clarifies the filtering matches use-case keywords. This adds value beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available image-generation models with details (strengths, price, aspect ratios, reference image count) and additionally the valid aspect ratios and resolution tiers for image_generate. It uses the specific verb 'List' and resource 'image-generation models', distinguishing it from sibling list tools for video/audio models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use it: when you need to choose a model and don't already have one in mind, or to check valid aspect_ratio/resolution values before calling image_generate. It also states when not needed ('most of the time the model is the default or already specified'), providing clear exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full load. It clearly discloses the output (list of sources with endpoints and costs) and the absence of side effects is implied by its read-only nature, though not explicitly stated. It does not mention potential limitations like pagination or ordering, but for a simple listing tool this is not a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is ~80 words, front-loaded with the primary purpose, then usage context, then parameter detail. Every sentence serves a purpose with zero fluff. It avoids repeating the schema description verbatim and uses structure to guide the agent from 'what' to 'when' to 'how'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one optional parameter, no output schema, and no annotations. The description fully explains what the response contains (platforms, endpoints, params, costs), when to use it, and how to filter. For a discovery tool, this is complete; nothing necessary is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'query' is already described in the schema with its purpose. The description adds specific examples ('ads', 'reddit', 'comments') and clarifies that it filters 'by platform, endpoint, or description', which enhances the schema's generic 'platform, endpoint, or description' and clarifies the exact matching anatomy. This exceeds the baseline for covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool 'List[s] the available research sources for social_research', naming the exact resource and action. It enumerates what the list contains (platforms, endpoints, required/optional params, per-call cost) and clearly distinguishes it from the sibling 'social_research' tool by positioning it as the prerequisite discovery step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'Call this FIRST whenever you need competitor ads, profiles, posts, comments, transcripts, or platform search and don't already know the exact platform + endpoint + params.' It also provides examples of filter keywords ('ads', 'reddit', 'comments') and implies that social_research should only be called after consultating this list, effectively stating when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: there is no default voice, raw calls produce flat/mispronounced audio, dry_run previews without spending credits, results can be finished media, pending jobs, or terminal failures, and failed entries should not be polled. It also clarifies what the tool does NOT do, such as dubbing or sound effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but tightly packed with actionable information. It is front-loaded with a critical prerequisite warning, and each subsequent section covers a distinct aspect (purpose, request format, result handling, exclusions, voice/model requirements). It could improve by placing the core purpose statement first, but overall no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description fully explains return values (audio, path, structured errors, pending job handles), error handling (terminal failures, rejoin via job_status), and external dependencies (list_voices, list_audio_models). It also covers the batch approval and dry_run semantics, making the tool self-sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 value by explaining the requests array structure (wrap single clip, up to 10), emphasizing the required voice field, and clarifying the dry_run behavior—information that goes beyond the schema's per-property descriptions. The added context is meaningful but not extensive enough to warrant a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts written text to spoken audio, enumerating use cases (voiceovers, narration, ad reads, character lines), and explicitly excludes other audio tasks (sound effects, re-voicing, dubbing), which distinguishes it from sibling tools like video_generate and image_generate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance (voiceover requests) and prerequisites (load the generating-audio skill, call list_voices, call list_audio_models). It also gives clear when-not-to-use instructions, naming alternatives and telling the agent to decline non-speech requests rather than substitute another tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does so exceptionally. It discloses read-only nature, file persistence (every response written to a file with path, output_dir, count, cursor), large-response handling (saved.inline false omits data), projection/truncation behavior (advertisers carries page-level facts once, shaping says what was dropped), error structure ('a structured error naming the missing or unknown params'), and the no-spend dry_run behavior. This is rich, accurate behavioral disclosure beyond any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but dense, and every sentence earns its place for a tool of this complexity. It is well front-loaded: purpose first, then the two-step workflow, then response/error behavior, file persistence, and finally use cases and dry_run. It is slightly on the verbose side — the precise character counts and the detailed saved-field accounting could arguably be trimmed — but the structure is logical and the ordering is correct, making it a 4 rather than a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given 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 carry the return-value explanation — and it does, thoroughly: data (JSON), advertisers (page-level facts carried once), shaping (what was dropped), saved (path, output_dir, count, cursor), and saved.inline semantics. Combined with nested-object parameters, zero annotations, and a companion discovery tool, all the gaps an agent would face are covered. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, setting a baseline of 3. The description adds meaningful value beyond the schema: concrete example values for platform ('meta_ad_library', 'instagram', 'tiktok', 'reddit', 'x', 'linkedin') and endpoint ('company_ads', 'profile', 'posts', 'search'), the size warning for fields="*" (~185,000 characters, a third signed CDN query strings), and the workflow context that params objects are built from list_research_sources output. It doesn't reach 5 only because per-endpoint parameter specifics are intentionally deferred to the companion tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Pull read-only structured public data from social platforms and ad libraries', then enumerates the concrete scope (competitor ads, profiles, posts, comments, transcripts, hashtag/keyword search, subreddit/trend discovery). It clearly distinguishes itself from siblings by contrasting against the generation tools (image_generate, video_generate, audio_generate, transcribe) and explicitly routing the discovery task to list_research_sources. An agent can tell exactly what this tool does and what it does not do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage guidance is explicit and actionable: 'call list_research_sources FIRST to see the platforms, their endpoints, and each endpoint's params; then call this with platform, endpoint, and a params object'. It further states when to use it ('Use for competitor and market research, audience listening, and trend discovery') and what it is not for ('not posting and not private data'), plus the dry_run preview option. The companion tool is named and sequenced, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
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 thoroughly. It explains polling behavior, pending job handles, terminal errors, result structures (URL/path/error), reference image constraints, and no silent resolution downgrades—far beyond basic operation details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but dense with actionable details; it is front-loaded with the most critical instruction (load skill first). Some redundancy exists (e.g., discussing result entries twice), but every sentence earns its place overall, so it loses only one point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (batching, references, dry_run, pending, errors) and no output schema, this description is remarkably complete. It covers invocation, result types, failure handling, polling, and cost preview, leaving no obvious gaps for an agent to misuse the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds substantial meaning: it explains the nested request structure (wrap single image, batch up to 10), guides model selection, elaborates on reference_images use cases, explains dry_run's behavior, and clarifies resolution/aspect ratio error handling—all beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates 'one or many still images from text prompts,' optionally with reference images. It distinguishes itself from siblings focused on video, audio, analysis, and status by specifying image generation, and lists concrete use cases like graphics, mockups, and logos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance: load the `generating-images` skill first, use `list_image_models` for model selection, use `job_status` for pending jobs, and never re-submit pending or failed entries. It also clarifies batching behavior and when to use dry_run, giving clear when-to vs. when-not-to context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the key behavioral traits: output is text (not video), parallel execution for batches, potential rejection of very large files due to inline analysis, and dry_run for previewing without spending. It also implicitly notes cost by referencing 'spending' in the dry_run context. No contradictions and substantial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then delivers use cases, batch advice, a caveat, and dry_run in a logical flow. Every sentence carries necessary information without redundancy. It is packed but well-organized, striking a good balance between detail and brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description adequately covers what an agent needs to call it: it names the input types, explains the output type ('text'), covers the batch scenario, flags the large-file risk, and explains dry_run. Missing details like error handling or exact response format are not critical given the simplicity of the output promise.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are already documented. The description adds practical meaning beyond the schema: for 'requests' it explains parallel run and the mutual exclusion with 'video', for 'prompt' it gives an example and the default behavior if omitted, and for 'dry_run' it clarifies what the preview returns. This adds genuine value, though the baseline of 3 is raised slightly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Watch') and resource ('one or more videos') and clearly defines its output ('returns text'). It distinguishes from siblings like video_generate by explicitly saying 'not new video', and from image_analysis by the video domain. It also mentions transcription, which overlaps with the transcribe sibling but clarifies it happens as part of video analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'Use to read a clip before generating or matching it, to describe what happens in it, or to transcribe what is said.' It also gives guidance on batching via the 'requests' parameter and explains when to prefer it. It mentions inline analysis and the large-file caveat, and describes dry_run for previewing. Clear situational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It discloses long-running async behavior with polling, that a pending result is a job handle not an error, that failures are terminal with ok:false and error, that dry_run spends no credits, that durations snap to valid values, and that start/end frames require each other and cannot be combined with reference_* inputs. This is comprehensive 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but dense with essential information—prerequisite skill, batching, model differences, async behavior, result types, and failure handling. Every sentence earns its place, though the run-on structure makes it less scannable than it could be. It is appropriately front-loaded with the most critical warning about the skill prerequisite.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (batching, multiple reference types, long-running jobs, model variations) and has no output schema, yet the description covers all key aspects: purpose, prerequisites, model checking, job handles, failure terminality, dry_run, result entry types, and edge cases like snappng and incompatible inputs. This leaves no significant gap for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though schema description coverage is 100%, the description adds crucial semantics not in the schema: wrapping single clips in an array, batching up to 10 different clips, repeating an object for variations, a single approval covering the batch, and dry_run previewing requests without generation. It clarifies how requests should be structured and adds the pending-result meaning, which the schema cannot convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Generate one or many short video clips from text prompts' with optional frame/reference guidance, giving a specific verb and resource. It also distinguishes itself from siblings by warning that it does not pick the model or build the motion prompt (that's the generating-videos skill), and by pointing to list_video_models for model selection, seting it apart from video_stitch, job_status, and image_generate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to 'load the generating-videos skill BEFORE calling this' because the tool itself 'does neither' model selection nor prompt building, and calling raw gives weak clips. It also directs users to call list_video_models to check model-specific capabilities, and to use job_status for pending jobs, with a warning never to re-submit pending clips or poll failed entries. This gives clear when-to-use and when-not-to-use guidance with named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full responsibility for behavioral disclosure. It thoroughly explains that jobs can finish, remain pending, or fail; that failure is terminal; that batches mix results; and that the tool has no billing side-effects. This is exemplary transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence earns its place. It is front-loaded with the core purpose and then systematically covers return states, batch behavior, and costing. Bold formatting for 'finished', 'pending', and 'failed' improves readability. Nothing is redundant or wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given 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 must fully inform the user about the tool's behavior, return values, and side effects. It does so comprehensively: it explains the three possible outcomes, the structure of results, error handling, polling discipline, and the fact that it neither starts nor bills a new job. This is complete for a polling tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the schema already covers the single 'jobs' parameter well (100% coverage), the description adds critical meaning: the handles must be the exact objects returned by a prior generation call, and passing the same handle is required to rejoin the job. It also clarifies that multiple handles can be passed for a batch. This goes beyond the schema's basic type description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving long-running generation jobs that were submitted earlier and returned a pending job handle. It distinguishes it from generation tools by explicitly saying it only rejoins existing jobs and never starts a new one. The verb 'retrieve' plus the resource 'pending generation job' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs when to use this tool (when a generation returns a pending status), and gives a critical exclusion: never re-submit a pending job with the creating tool to avoid duplicate billing. It also tells the user to wait a short time before polling again, and that failed jobs should not be re-polled. This is clear, actionable guidance with explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SupercmoHQ/superCMO-skills'
If you have feedback or need assistance with the MCP directory API, please join our Discord server