Skip to main content
Glama

Server Details

Public social-data API and live docs for AI coding agents.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
social-freak-ltd/socialfetch-mcp
GitHub Stars
1
Server Listing
Social Fetch MCP

Available Tools

207 tools
amazon_shop_getGet Amazon Shop pageA
Read-only
Inspect

Get a creator Amazon Shop storefront by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic Amazon Shop storefront URL.
cursorNoPagination cursor returned by a previous response.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, which cover the operation's safety and dynamic nature. The description adds no further behavioral context (e.g., that it might return a large payload or highlight pagination). With annotations covering the safety profile, a score of 3 is appropriate—the description is consistent but does not enrich beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with zero redundancy. It fronts the purpose and method. No wasted words, and it effectively communicates the tool's core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter fetch tool with no output schema, the description is sufficiently complete. It states what to provide (URL) and the operation. The cursor parameter is documented in the schema, so its presence is known. The tool seems complete for the intended use; only minor missing context like return format could be added, but it's not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already provides clear definitions for both 'url' and 'cursor'. The description adds no extra meaning about these parameters. Baseline 3 applies because the schema carries the burden, and the description doesn't need to repeat it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get'), a clear resource ('creator Amazon Shop storefront'), and the method ('by URL'). This distinguishes it from the many sibling platform tools, which are all similarly named but target different services. An agent can immediately understand what this tool does and when it applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies the tool is used to fetch an Amazon Shop storefront when you have its URL. It does not explicitly mention alternatives or when not to use it, but given the sibling list, there is no direct alternative for Amazon Shop, so ambiguity is minimal. The 'by URL' phrasing sets a clear prerequisite. Cursor for pagination is not mentioned, though it appears in the schema, which slightly reduces guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

appleMusic_album_getGet Apple Music albumB
Read-only
Inspect

Get an Apple Music album by id or album URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional Apple Music album URL for the request.
albumIdNoOptional Apple Music album id for the request.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds the input methods but does not describe return format, authentication needs, or any other behavioral traits. It does not contradict annotations and adds minimal extra context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no fluff. It efficiently conveys the action and input options, making it appropriately sized for a simple get tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is incomplete in terms of context. Both parameters are optional in the schema, but the description says 'by id or album URL', implying one is needed—this ambiguity is unresolved. There is no information on return values (no output schema), no guidance on choosing between id and URL, and the openWorldHint suggests data might be incomplete, which is not addressed. More context is needed for an agent to invoke this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both url and albumId have descriptions. The description repeats the same information ('by id or album URL') without adding format details or clarifying that at least one parameter is effectively required, despite the schema marking both as optional. This creates ambiguity but the schema already documents the parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Get), the resource (Apple Music album), and the two input forms (id or album URL). This distinguishes it from sibling tools like appleMusic_artist_get and appleMusic_track_get, which target different resource types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives. It does not mention exclusions, such as 'for tracks use appleMusic_track_get', nor any conditions that would select this tool over others. Usage context is only implied by the resource name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

appleMusic_artist_getGet Apple Music artistA
Read-only
Inspect

Get an Apple Music artist by id or artist URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional Apple Music artist URL for the request.
artistIdNoOptional Apple Music artist id for the request.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description only needs to add context beyond those. It confirms it's a read operation but adds no details about rate limits, pagination, or what happens with invalid inputs. This is adequate given the simple read-only nature and annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. The essential information (action, resource, and how to specify it) is front-loaded and immediately understandable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and lack of an output schema, the description is minimally complete. It doesn't specify what the response contains (e.g., artist details like name, genres), but for a straightforward get operation this might be sufficient. A bit more detail about the return value would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters (url and artistId) already have descriptions. The tool description adds little beyond repeating that either an id or URL can be used; it doesn't clarify that at least one is required or what happens if both are provided. This meets the baseline but adds minimal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Get), the resource (Apple Music artist), and the two ways to specify it (by id or URL). It distinguishes the tool from siblings like appleMusic_album_get and appleMusic_track_get by naming the specific resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It doesn't mention that search (appleMusic_search_list) should be used when an id or URL is unknown, nor does it state any prerequisites or exclusions. The usage is only implied by the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

appleMusic_search_listSearch Apple MusicA
Read-only
Inspect

Search the Apple Music catalog by keyword. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoCatalog result type to return. Omit to search across types (treated as all).
queryYesSearch query text for Apple Music catalog results.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so description doesn't need to repeat safety. It adds pagination note (use cursor) which is useful. However, it doesn't describe result structure or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence with a useful pagination note. Front-loaded with purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple catalog search with two params covered by schema, the description is adequate. It states the search scope, return type (list), and pagination hint. It doesn't detail output fields, but with no output schema, a minimal note may suffice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are documented. The description adds no extra semantics beyond 'by keyword' which aligns with query. It doesn't explain the type enum or any nuances.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (Apple Music catalog), and clarifies it returns a list. Distinct from sibling getters like appleMusic_album_get which retrieve specific items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this vs alternative getters. It could mention that search is for discovery and then use getters to retrieve details, but it doesn't.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

appleMusic_track_getGet Apple Music trackA
Read-only
Inspect

Get an Apple Music track by id or track URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional Apple Music song URL for the request.
trackIdNoOptional Apple Music song id for the request.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=true, so the description's 'Get' adds little. It does not contradict annotations, but it also does not disclose any additional behavioral traits (e.g., return format, availability conditions). Given the annotation coverage, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, concise sentence that contains no unnecessary words while conveying the core function. It is appropriately front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with two optional parameters and no output schema, the description covers the essential information. It lacks details about the response structure or potential regional limitations, but given the simplicity and annotation coverage, it is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with both 'url' and 'trackId' documented. The description merely echoes that these are the two available inputs without adding meaning beyond the schema. Baseline of 3 holds as the schema carries the semantic weight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action (Get), the resource (Apple Music track), and the input methods (id or URL). It effectively distinguishes this from sibling tools like appleMusic_album_get and appleMusic_artist_get by specifying 'track'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 appleMusic_search_list or other alternatives. No prerequisites, exclusions, or context about when a track ID vs URL is preferred are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

auth_whoamiWhoamiA
Read-only
Inspect

Get the authenticated API account for this session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds only the phrase 'for this session' beyond what annotations already declare (readOnlyHint=true). It discloses the read-only nature implicitly, consistent with annotations, but does not elaborate on potential errors (e.g., unauthenticated state) or return specifics. Given annotations cover the safety profile, the minimal extra context warrants a middle score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero waste. It immediately states the action and the object, leaving no room for verbosity. This is an exemplary concise and structured definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema tool, the description is fully complete. It tells the agent exactly what the tool returns (the authenticated API account) and when it applies (this session). There are no missing details an agent would need to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema reflects this with no properties. Per the rubric, a zero-parameter tool receives a baseline of 4 because there are no parameter semantics to clarify. The description's mention of 'authenticated account' adequately orients the user to what is returned, even though no params exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get the authenticated API account for this session' clearly states the specific verb (get) and resource (authenticated API account). It is distinct from all sibling tools, which target external platforms, by focusing on the session's own auth identity. There is no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it retrieves the account associated with the current session. While it does not explicitly name alternatives or exclusions, it is unique among siblings (none other deal with auth identity), so the usage context is implicit and sufficient. A score of 4 reflects clear context without explicit when-not guidance, which is acceptable given the tool's uniqueness.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

billing_balance_getGet account balanceA
Read-only
Inspect

Get remaining credit balance before running large batches of metered tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the 'metered tools' context, which is useful but not essential behaviorally. No side effects or additional constraints are disclosed, but that's fine given the simplicity of a read-only balance check.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that conveys the purpose and the usage condition without any fluff. Every word earns its place, and there is no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter, read-only tool with no output schema, the description fully explains what it does and when to use it. An agent can confidently call this without needing additional documentation. The lack of a stated return format is acceptable for a simple balance query.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters and 100% schema coverage (trivially), the baseline is 4. The description adds no parameter-specific details because there are none, and the schema is empty, so the description doesn't need to compensate for anything.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (get), the resource (remaining credit balance), and the specific context (before running large batches of metered tools). This makes it distinct from all sibling tools, none of which touch billing or credit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use this tool: 'before running large batches of metered tools.' This provides a clear, actionable condition for invocation. There are no alternative billing tools in the sibling list, so no exclusions are needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bluesky_post_getGet Bluesky postA
Read-only
Inspect

Get a single Bluesky post by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Bluesky post.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=true, covering the read-only nature and the possibility of external changes. The description does not add behavioral context beyond the purpose (e.g., side effects, auth requirements, rate limits). It neither contradicts the annotations nor enriches them, so a baseline score is appropriate given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence: 'Get a single Bluesky post by URL.' It is front-loaded with the essential verb and resource, and contains no filler or redundant information. Every word serves a purpose, achieving maximum conciseness for a simple GET tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter, read-only retrieval tool, this description is nearly complete. It specifies the input (URL) and the action (get), which is sufficient for an agent to invoke it. The absence of an output schema is mitigated by the expected behavior of a 'get' tool, and annotations cover safety. The only minor gap is that it doesn't explicitly state what the response contains, but that is typical for such tools and not a significant omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – the schema fully documents the 'url' parameter as 'Link to the Bluesky post.' The description's phrase 'by URL' is redundant with the schema and adds no new meaning. With high schema coverage, the baseline of 3 applies; there is no additional semantic value provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get'), a specific resource ('a single Bluesky post'), and the method of identification ('by URL'). This clearly distinguishes it from sibling tools like bluesky_profile_get (which fetches a profile by handle) and bluesky_profile_posts_list (which lists posts for a profile), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: when you have a URL to a specific Bluesky post. It does not explicitly mention when not to use it or point to alternatives, but the 'by URL' condition effectively implies the use case, and sibling tool names provide natural differentiation. This aligns with clear context without explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bluesky_profile_getGet Bluesky profileA
Read-only
Inspect

Get a Bluesky profile for a creator or account. Accepts a handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesBluesky handle to look up, with or without a leading @.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds no additional behavioral context—no mention of return format, error handling, rate limits, or what happens with invalid handles. Since the description carries minimal weight and annotations cover the essential traits, this is adequate but not enriched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence. It is front-loaded with the primary action and resource, with no wasted words. It earns full marks for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter, no output schema, and simple read-only annotations, the description is minimal but not fully complete. It does not explain what profile data is returned (e.g., handle, display name, bio) or any error behavior. For a simple lookup, this may suffice, but the lack of detail on return value leaves some ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents the 'handle' parameter, including the option to have or omit a leading @. The description's statement 'Accepts a handle' is redundant with the schema and adds no new semantics. It meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'Bluesky profile', specifying it is for a creator or account. This distinguishes it from siblings like bluesky_post_get and bluesky_profile_posts_list. The phrase 'for a creator or account' adds slight redundancy but ensures the scope is understood.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. However, the clear resource and platform in the name make the intent obvious, and the sibling list includes related post/list tools that are implicitly different. There is no direct guidance on when not to use it, so it earns a midpoint score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bluesky_profile_posts_listList Bluesky profile postsA
Read-only
Inspect

List posts from a Bluesky profile by handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor returned by a previous response.
handleYesBluesky handle whose posts should be listed.
userIdNoOptional Bluesky user id to speed up the request.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, lowering the burden. The description adds that the result is a list and pagination is handled via cursor, which is helpful but somewhat redundant with the schema's cursor parameter description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single focused sentence with no fluff. The core action is front-loaded and pagination guidance is compactly appended.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool, the description together with the schema and annotations covers the essentials. No output schema exists, but the return shape (a list) and pagination hint are sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 mentions 'by handle' and cursor usage but adds little beyond what the schema already documents for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and names the resource ('posts from a Bluesky profile by handle'). It clearly distinguishes from sibling tools like bluesky_post_get (single post) and bluesky_profile_get (profile details).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied: this tool lists posts of a specific Bluesky profile via handle. However, it does not explicitly name alternatives or state when not to use it (e.g., for a single post or for searching posts across profiles).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docs_readRead SocialFetch docs pageA
Read-only
Inspect

Read a corpus page by docsPathname from docs_search. Defaults to mode=outline (compact field digest). Pass mode=full for Examples/SDK snippets. Accepts /docs/... and /product/... pathnames (including /product/ask-ai/field-crosswalk).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNooutline (default) = compact params/credits/field digest. full = complete page including Examples.outline
docsPathnameYesCorpus pathname from docs_search, e.g. /docs/api/v1/tiktok/videos/get or /product/ask-ai/field-crosswalk. Trailing .mdx accepted.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds valuable behavioral detail: the default mode, what 'outline' returns (compact field digest), what 'full' includes, and accepted pathname patterns. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the action and uses no filler. It packs essential information (default mode, full mode usage, accepted pathname formats) with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with a well-documented schema and annotations, this description is complete. It explains the source of the pathname, the mode options, and the pathname constraints. No output schema exists, but the description hints at what 'outline' and 'full' return, covering the agent's needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description enhances this by clarifying mode semantics ('compact field digest' vs 'Examples/SDK snippets') and giving example pathnames, adding useful context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read'), a resource ('corpus page'), and the source ('from docs_search'), clearly distinguishing this from its sibling docs_search. It also specifies the pathname format, leaving no ambiguity about 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It indicates that the pathname comes from docs_search, implying a two-step workflow, and explains when to use 'full' mode (for Examples/SDK snippets). It does not explicitly state when not to use this tool or name alternatives, but given its unique role as a doc reader, the guidance is clear and sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_adLibrary_ad_getGet Facebook Ad Library adA
Read-only
Inspect

Get a single Facebook Ad Library ad by archive id or public Ad Library URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic Facebook Ad Library URL for the ad.
adIdNoFacebook Ad Library archive id for the ad.
trimNoWhen true, requests a smaller payload before normalization.
includeTranscriptNoWhen true, includes a plain-text transcript when available for the ad video.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the read-only and external-data nature. The description adds little beyond the fact that it retrieves a single ad. It does not mention potential failure modes, normalization, or the effect of 'trim' and 'includeTranscript' in detail, but given the annotations, the bar is lower and a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core purpose. It contains no redundant or distracting information, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward single-ad retrieval tool with no output schema, the description is mostly complete. It does not explicitly state what happens if the ad is not found or describe the return shape, but given the openWorldHint and the simplicity, this is a minor gap. The optional parameters are self-explanatory via the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters are documented. The description clarifies that url and adId are alternative locators, which adds a tiny bit of meaning beyond the schema. However, it adds no new information about 'trim' or 'includeTranscript' beyond their schema descriptions, so a baseline 3 is suitable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves a single Facebook Ad Library ad using either an archive id or public URL. This directly distinguishes it from search and list tools in the same domain, such as facebook_adLibrary_ads_search_get or facebook_company_ads_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

By specifying retrieval 'by archive id or public Ad Library URL', the description implies the tool is appropriate when the user has a specific ad identifier. It does not explicitly warn against using it for searching or list all ads, but the wording makes the usage context reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_adLibrary_ads_search_getSearch Facebook Ad Library adsB
Read-only
Inspect

Search Facebook Ad Library ads by keyword and filters. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoWhen true, returns a smaller response with fewer fields.
queryYesSearch query text for Facebook Ad Library ads.
adTypeNoOptional filter for all ads or political and issue ads.
cursorNoOpaque pagination cursor from a previous response.
sortByNoOptional sort order for returned ads.
statusNoOptional ad status filter.
countryNoOptional country code filter. Use ALL to search all countries.
endDateNoOptional end date filter in YYYY-MM-DD format.
mediaTypeNoOptional creative media filter.
startDateNoOptional start date filter in YYYY-MM-DD format.
searchTypeNoOptional keyword matching mode for the search query.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds that it returns a list and advises using a cursor for pagination, which is useful. However, it does not discuss rate limits, authentication, or any other behavioral traits beyond the return type and pagination hint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The purpose is stated upfront, followed by the return type and pagination guidance. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 11 parameters and no output schema. The description is minimal but the schema covers all parameter semantics and annotations cover safety. It notes pagination, which is important for a search tool. However, it does not provide an overview of how filters interact or any use-case context, which could be valuable given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – every parameter has a detailed description including enums and formats. The description only refers to 'keyword and filters' at a high level, adding little beyond what the schema already provides. Baseline 3 is appropriate given the complete schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool searches Facebook Ad Library ads by keyword and filters, which is a specific verb and resource. The name itself disambiguates from sibling tools on other platforms, though the description does not explicitly contrast with them. It is clear enough to distinguish the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as facebook_adLibrary_ad_get (for a single ad) or ad library search tools on other platforms. The description only states what the tool does, not the conditions for selecting it over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_company_ads_listList Facebook company adsB
Read-only
Inspect

List ads a company or Page is running in the Facebook Ad Library. Accepts a page id or company name. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque pagination cursor from a previous response.
pageIdNoFacebook page id when you have it instead of a company name.
sortByNoOptional sort order for returned ads.
statusNoOptional ad status filter.
countryNoOptional country code filter. Use ALL to search all countries.
endDateNoOptional end date filter in YYYY-MM-DD format.
languageNoOptional language code filter.
mediaTypeNoOptional creative media filter.
startDateNoOptional start date filter in YYYY-MM-DD format.
companyNameNoCompany or page name to search when you do not have a page id.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only and open-world nature are known. The description adds one piece of behavioral context: 'use cursor when paginated', which is useful. However, it doesn't elaborate on return format, error conditions, or any other behavioral traits. Given the annotations carry much of the load, a score of 3 is appropriate—it adds value without overloading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with zero fluff. The primary purpose is front-loaded in the first sentence, and the second sentence covers input options and return behavior. Every word serves a purpose, making it optimally concise and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low parameter count (10 but all optional) and thorough schema descriptions, the tool description covers the essential information: purpose, primary input options, and pagination. It doesn't mention the implications of providing both pageId and companyName or neither, but that's a minor gap. The openWorldHint annotation indicates results may be non-exhaustive, which the agent should know. Overall, it's complete enough for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 10 parameters are documented in the schema. The tool description merely restates the dual input option ('Accepts a page id or company name'), which is already present in the schema descriptions for pageId and companyName. No additional semantic depth is added, justifying the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('ads a company or Page is running in the Facebook Ad Library'), which is specific and unambiguous. It doesn't explicitly differentiate from the sibling facebook_adLibrary_ads_search_get, but the function's scope (list all ads for a given company/Page) is distinct enough that an agent could infer the difference from the name and description combined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives such as facebook_adLibrary_ads_search_get or facebook_adLibrary_companies_search. It states that it accepts a pageId or companyName, but doesn't explain when one would choose this list endpoint over a search or a company lookup. This leaves the selection decision to the agent based solely on the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_event_getGet Facebook eventB
Read-only
Inspect

Get a Facebook event by URL or event id.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic Facebook event URL.
eventIdNoFacebook event id when you have it instead of a full URL.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds the retrieval mode ('by URL or event id') but does not disclose other behavioral aspects such as response format, error conditions, or handling of missing/conflicting inputs. Since annotations cover the safety profile, this is a moderate addition.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tight sentence with no filler. The action and key identifiers are front-loaded, and every word contributes to the meaning. It is an exemplar of concise specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has two optional parameters but logically requires at least one; the description does not clarify this. It also omits what the tool returns (no output schema) and any caveats about using both or none. For a getter with no output schema, an agent needs more context to call it correctly, leaving significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameter descriptions in the schema already convey their meanings. The tool description merely restates 'by URL or event id' without adding any new semantic detail beyond what the schema provides, so it does not compensate beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get'), the resource ('Facebook event'), and the two identification methods ('by URL or event id'). It precisely distinguishes what this tool does from other sibling tools that list or search events, making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like facebook_events_search_list or when to prefer url over eventId. The description only states the purpose but offers no contextual direction on selection criteria or required inputs, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_events_listList Facebook city eventsA
Read-only
Inspect

List Facebook events for a city by explore URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic Facebook Events explore URL for a city.
timeNoOptional time window for events.
cursorNoOpaque pagination cursor returned by a previous response.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description carries a lighter burden. The description adds the key behavioral detail of pagination ('use cursor when paginated') and confirms the return type is a list. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero fluff: the first states the core operation and input, the second covers the return type and pagination. The information is front-loaded and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a moderately simple list tool with three params, an existing output schema is absent, and annotations cover safety, the description is nearly complete. It tells the agent what it returns and how to paginate, which is the critical runtime behavior. Minor gaps remain, such as error behaviors or what the list items contain, but these are not essential for calling the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter (url, time, cursor) is already documented in the schema. The description only briefly alludes to 'explore URL' and 'cursor' without adding deeper semantics or examples, so it adds no value beyond what the schema already provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List'), the resource ('Facebook events for a city'), and the method ('by explore URL'). This distinguishes it from siblings like facebook_events_search_list (which likely does a keyword search) and facebook_event_get (singular event), though it doesn't explicitly name alternatives. The purpose is unambiguous and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for when you have a city's explore URL, but it gives no explicit guidance on when to prefer this over comparable siblings like facebook_events_search_list or facebook_profile_events_list. No exclusions or alternative conditions are provided, leaving the selection largely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_events_search_listSearch Facebook eventsA
Read-only
Inspect

Search Facebook events by name. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query text for Facebook events by name.
cursorNoOpaque pagination cursor returned by a previous response.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the valuable behavioral detail that the tool returns a list and supports pagination via cursor. This goes beyond the annotations by explaining the return shape and how to navigate pages.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: it states the core purpose in the first clause and adds the key return/pagination detail in the second sentence. No filler or redundancy. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with a single required parameter and optional cursor, the description covers the essential information: what is searched (by name) and how pagination works. Given the absence of an output schema, mentioning that it returns a list is helpful, though it could hint at the structure of the list items. Overall, adequate for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both 'query' and 'cursor' are described explicitly in the input schema. The description adds little beyond the schema—it echoes the 'by name' concept and the pagination hint. This is a case where the schema does the heavy lifting, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Search Facebook events by name') and clearly indicates the resource and scope. It differentiates from siblings like facebook_event_get (singular) and facebook_events_list (likely a non-search list) by the explicit 'by name' qualifier and the 'Returns a list' note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given on when to use this tool versus alternatives. It does not mention when to prefer this over facebook_events_list, facebook_event_get, or facebook_profile_events_list. The usage context is only implied by the name and 'by name' phrasing, which is insufficient for an agent to make routing decisions without inspecting other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_group_getGet Facebook groupB
Read-only
Inspect

Get a Facebook group by URL or group id.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic Facebook group URL.
groupIdNoNumeric Facebook group id when you have it instead of a full URL.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context, such as what happens when both url and groupId are provided, whether the group must be public, or any rate-limit/auth requirements. Since annotations carry the burden, a 3 is appropriate — the description doesn't contradict them, but it doesn't enrich the behavioral picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no wasted words. The core purpose and identification methods are front-loaded, and everything present serves a function. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only get tool, the description is functionally sufficient: it states what and how. However, it lacks any indication of return format or extra context (e.g., does it return member count, description, etc.), though no output schema exists. Given the tool's simplicity and the safety annotations, this is adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — the schema already documents each parameter's purpose (URL vs numeric id) and constraints. The description's 'by URL or group id' essentially restates this, adding no new meaning beyond the schema. Baseline 3 is correct when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get'), the resource ('a Facebook group'), and the two identification methods ('by URL or group id'). It distinguishes from siblings like facebook_group_posts_list by focusing on the group itself rather than its posts, though it doesn't explicitly name the sibling for contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. There is no mention of 'use this to retrieve group metadata' or 'if you need posts, use facebook_group_posts_list'. The sibling list includes relevant alternatives, but the description does not point to them, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_group_posts_listList Facebook group postsA
Read-only
Inspect

List posts from a Facebook group by group URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic Facebook group URL whose posts should be listed.
cursorNoOpaque pagination cursor from a previous response.
sortByNoOptional sort order for posts returned from the group feed. `top`: Facebook's default relevance ranking. `recentActivity`: sorted by most recent comment/reaction activity. `chronological`: regular posts sorted by post time, newest first. `chronologicalListings`: Facebook's separate feed of listing-style posts (e.g. items for sale) within the group, sorted by time.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the read-only nature and potential incompleteness. The description adds value by noting the response is a list and advising pagination via cursor. This goes beyond the annotations without contradicting them, providing helpful runtime behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no redundancy. The core action ('List posts from a Facebook group by group URL') is front-loaded, and the pagination note is concise. Every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description states the return type (a list) and pagination mechanism, which is sufficient for an agent to correctly invoke the tool. While it does not detail the post object structure, the absence of an output schema and the simplicity of the tool make this acceptable. It is complete enough for correct use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage for all three parameters (url, cursor, sortBy), including detailed descriptions and an enum with explanations for sortBy. The tool description adds no additional parameter semantics beyond what the schema already offers, so it meets the baseline without excelling.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'List', the resource 'posts from a Facebook group', and the input 'by group URL'. It clearly distinguishes this tool from siblings like facebook_group_get (which retrieves group info) and facebook_profile_posts_list (which lists a profile's posts). The phrase 'Returns a list (use cursor when paginated)' further specifies output type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides basic usage (list posts by URL) but does not explicitly mention when to use this tool over alternatives or any exclusions. While the name and description make the use case obvious, there is no guidance on when not to use it or how it differs from related list tools. This leaves 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.

facebook_marketplace_item_getGet Facebook Marketplace itemB
Read-only
Inspect

Get details for a Facebook Marketplace listing by item URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic Facebook Marketplace item URL.
itemIdNoFacebook Marketplace item identifier. Provide this instead of url when you already know the item id.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only, external-fetch nature is covered. The description adds nothing beyond 'Get details', which is consistent but does not provide extra context such as error behavior or rate limits. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the action and resource. It is minimal and to the point, with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get operation with no output schema, the description is adequate but has gaps: it does not clarify that at least one of url or itemId must be provided (both are optional in the schema), nor does it describe what 'details' includes. Given the tool's complexity, a bit more context would be helpful, but it is still usable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (url and itemId) are documented with clear meaning. The tool description adds no new semantic insight 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get details') and the resource ('Facebook Marketplace listing'), and it distinguishes from search/list siblings by targeting a single item. However, it only mentions URL as the locator while the schema also supports itemId, so it's slightly incomplete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like facebook_marketplace_search_list or facebook_marketplace_locations_search. The parameter description for itemId hints at when to use it, but the tool description itself is silent on tool selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_marketplace_search_listSearch Facebook Marketplace listingsA
Read-only
Inspect

Search Facebook Marketplace listings by keyword near a latitude and longitude. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
latNoLatitude for the marketplace search location.
lngNoLongitude for the marketplace search location.
countNoDeprecated alias for `limit`. When both are set, `limit` wins.
limitNoOptional number of listings to return (1–100). Prefer this over `count`.
queryYesSearch query text for marketplace listings.
cursorNoOpaque pagination cursor returned by a previous response.
sortByNoOptional sort order for marketplace listings. `suggested`: Facebook's default relevance ranking. `distanceAscend`: nearest first. `creationTimeDescend`: newest listings first. `priceAscend`/`priceDescend`: lowest/highest price first.
maxPriceNoOptional maximum listing price. Must be greater than or equal to `minPrice` when both are set.
minPriceNoOptional minimum listing price. Must be less than or equal to `maxPrice` when both are set.
radiusKmNoOptional search radius in kilometers.
conditionNoOptional item condition filter for marketplace listings.
dateListedNoOptional date-listed filter for marketplace listings. `1`/`last24Hours` both mean the last 24 hours, `7`/`last7Days` both mean the last 7 days, and `30`/`last30Days` both mean the last 30 days — these are separate values Facebook accepts for the same window; prefer the named variants (`last24Hours`, `last7Days`, `last30Days`) for clarity. `all` applies no date filter.
availabilityNoOptional availability filter for marketplace listings.
deliveryMethodNoOptional delivery method filter for marketplace listings.

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds practical behavior on pagination ('use cursor when paginated'), which goes beyond annotations. It does not contradict annotations. The lack of depth (e.g., rate limits, response format) is mitigated by the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff, front-loading the core purpose and adding a pagination tip. It is concise but not overly sparse, efficiently conveying the essential behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 14 parameters and no output schema, the description only covers keyword and location, omitting the extensive filter options (price, condition, sort, etc.) that are documented in the schema. An agent might not realize these capabilities are available. The pagination tip is helpful, but the description does not convey the tool's full expected behavior or return structure beyond 'a list'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 all parameters with detailed descriptions. The description does not add additional meaning beyond what the schema provides; it only reinforces the role of query/lat/lng. This meets the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search'), resource ('Facebook Marketplace listings'), and key parameters ('by keyword near a latitude and longitude'), making it easy to distinguish from siblings like facebook_marketplace_item_get (single item) and facebook_marketplace_locations_search (locations). The purpose 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or scenarios where another sibling tool would be more appropriate. For a search tool with many sibling marketplace tools, this is a notable gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_post_comments_listList Facebook post or reel commentsB
Read-only
Inspect

List comments on a Facebook post or Reel by URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoLink to the Facebook post or reel whose comments should be listed.
cursorNoOpaque cursor from a previous response to fetch the next page.
feedbackIdNoOptional Facebook feedback identifier for the target post; when available it can improve lookup performance.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to restate safety properties. The description adds a useful behavioral note about pagination ('use cursor when paginated'), which goes beyond the annotations. It does not describe rate limits, auth, or error behavior, but with annotations covering the read-only aspect, the added pagination detail justifies a mid-range score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loaded with the core purpose ('List comments...') followed by a concise output/pagination note. There is no fluff or repetition. It is efficient and well-structured, though it could arguably be even more direct about the output format, but it earns a high score for being appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main action and pagination but leaves a notable gap: it says 'by URL' implying the url parameter is required, yet the input schema lists no required parameters. This could mislead an agent into thinking url is mandatory when it is technically optional (or the schema is an oversight). It also does not mention the optional feedbackId parameter, though the schema covers it. Given the tool's simplicity and comprehensive schema, the description is mostly complete but has this ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents each parameter (url, cursor, feedbackId) with clear descriptions. The description's mention of 'by URL' and 'use cursor when paginated' reinforces but does not add new meaning beyond the schema. Since the schema fully covers parameter semantics, a baseline of 3 is appropriate; the description adds minimal extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (list), the resource (comments on a Facebook post or Reel), and the method (by URL). This distinguishes it from a generic list tool, though it does not explicitly differentiate from the sibling facebook_post_comments_replies_list, which is for comment replies. The 'by URL' qualifier adds precision. It is not a tautology and provides a specific, actionable purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. It mentions pagination ('use cursor when paginated') but does not note that for comment replies one should use facebook_post_comments_replies_list, nor does it clarify when to use this over facebook_post_get or other list tools. The usage context is implied from the name, but no explicit when-to-use/when-not-to-use instructions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_post_comments_replies_listList Facebook comment repliesC
Read-only
Inspect

List replies to a Facebook comment. Accepts a from post comments. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorYesComment `repliesCursor` from post comments, or `page.nextCursor` to paginate replies.

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description doesn't need to restate safety. It adds a pagination note: 'Returns a list (use cursor when paginated).' This is useful behavioral context beyond the schema. However, it omits any mention of error handling, rate limits, or the structure of the returned list, and the incomplete sentence about the cursor reduces clarity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but contains a broken, incomplete sentence: 'Accepts a from post comments.' This is not just concise; it's ungrammatical and confusing. The structure is not front-loaded effectively, as the key action is stated first but followed by a garbled clause. Wasteful and error-prone.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description provides minimal return info ('Returns a list') and pagination guidance. It does not explain what fields or structure the replied list contains, but for a simple one-parameter list tool this might be adequate. However, given the ambiguity of the 'Accept a' phrase, an agent might be unsure of the exact input format despite the schema. Overall, it meets the minimum but has room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the only parameter (cursor) with a precise description of where it comes from and how to paginate. The description's phrase 'Accepts a from post comments' adds no value and is actually less clear than the schema. Since schema coverage is 100%, the baseline is 3, and the description does not enhance it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb and resource clearly: 'List replies to a Facebook comment.' It distinguishes from sibling facebook_post_comments_list by focusing on replies. However, the phrase 'Accepts a from post comments' is incomplete and vaguely worded, which slightly reduces clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like facebook_post_comments_list. The description hints that it takes a cursor from post comments, implying a prerequisite, but does not explicitly state the workflow or contrast with other comment-listing tools. The agent is left to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_post_getGet Facebook post or reelB
Read-only
Inspect

Get a Facebook post or Reel by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic permalink to the Facebook post or reel.
includeCommentsNoWhen true, includes a sample of top-level comments when available.
includeTranscriptNoWhen true, includes a plain-text transcript when available for the video.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=true, so the description does not contradict them. However, the description adds no behavioral details beyond the action itself—it does not mention what the response contains, any authentication requirements, or rate limits. With the annotations covering the read-only nature, the description provides minimal extra value but is consistent with the structured metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It is appropriately brief for a simple get operation and does not attempt to restate the schema. It could optionally include a sentence about the response format, but the current length is efficient and focused.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 not indicate what the returned object will contain (e.g., post text, media, timestamps). While the tool is simple and the schema is descriptive, the absence of any return-value guidance or distinction from sibling tools leaves an agent uncertain about the output. Given the lack of output schema, the description should have at least mentioned that the result includes the post/reel content, but it only states the action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage for the three parameters (url, includeComments, includeTranscript), each with a clear explanation. The tool description adds nothing beyond what the schema already conveys. Since the schema fully documents the parameters, the description does not need to repeat them, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (get) and the resource (Facebook post or Reel) with the input being a URL. It is not a tautology, and it distinguishes the tool from other Facebook getters like facebook_event_get or facebook_group_get, though it doesn't explicitly contrast them. The phrasing 'get a post or reel by URL' is specific enough for an agent to understand the primary purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as facebook_post_comments_list or facebook_post_transcript_get. There are no use-case hints, no exclusions, and no mention of alternative tools that might be preferred under different conditions. An agent is left to infer the appropriate context solely from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_post_transcript_getGet Facebook post transcriptA
Read-only
Inspect

Get the transcript for a Facebook post or Reel by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Facebook post or reel whose transcript should be returned.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, which tells the agent this is a safe, non-mutating operation that can handle unknown inputs. The description adds the fact that it works for both posts and Reels and that a URL is required—useful but not substantial beyond the annotations. It does not contradict the annotations, nor does it disclose additional behaviors like error handling or rate limits. Given the annotation coverage, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence: 'Get the transcript for a Facebook post or Reel by URL.' Every word earns its place—verb, object, scope, and input method are all conveyed. There is zero redundancy or filler, making it extremely concise and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only tool with one parameter and no output schema, the description covers the essential information: what it retrieves (transcript), what it operates on (Facebook posts and Reels), and how to invoke it (providing a URL). The annotations cover safety (read-only) and flexibility (open-world). Nothing critical is missing for an agent to call this tool correctly, though it could optionally mention the transcript format or behavior when no transcript exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the single required 'url' parameter, with a clear description: 'Link to the Facebook post or reel whose transcript should be returned.' The tool description only repeats 'by URL,' adding no new meaning or format details. With the schema fully documenting the parameter, the baseline of 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and a precise resource ('transcript for a Facebook post or Reel by URL'). It clearly indicates what the tool returns and distinguishes it from other platform-specific transcript tools in the sibling list (e.g., instagram_post_transcript_get, youtube_video_transcript_get) by its explicit Facebook scope. No ambiguity remains about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: when you have a Facebook post or Reel URL and need its transcript. However, it does not explicitly state when to use this tool over alternatives (e.g., facebook_post_get for post metadata) or when not to use it, such as if a transcript is unavailable. The guidance is minimal and relies on the tool name and context rather than explicit instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_profile_events_listList Facebook profile eventsA
Read-only
Inspect

List events hosted by a Facebook profile or Page. Accepts a profile or page URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic Facebook profile or page URL.
cursorNoOpaque pagination cursor from a previous response.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds that it returns a list and mentions pagination via cursor, which goes beyond the readOnlyHint and openWorldHint annotations. It provides useful behavioral detail without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences each serve a distinct purpose: the action, the input, and pagination. No fluff, and the core purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with two documented parameters, the description covers the essential facts: what it does, what it accepts, and how to handle pagination. The lack of an output schema is mitigated by the clear statement that it returns a list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters have full descriptions. The description's mention of 'profile or page URL' and 'use cursor when paginated' adds no new information 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (list) and resource (events) scoped to a Facebook profile or Page, clearly distinguishing it from sibling list/search tools. It identifies the input type (profile or page URL) and is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly implies the tool is for retrieving events for a specific profile/page via URL, providing clear context. However, it does not explicitly exclude alternatives like facebook_events_list or search tools, so it lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_profile_getGet Facebook profileA
Read-only
Inspect

Get a Facebook profile or Page by URL or username.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFacebook public profile or page URL to look up.
includeBusinessHoursNoOptional: include structured business hours in the response when available.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and data openness. The description adds the nuance that both URL and username are accepted (though the schema only mentions URL), which is a small behavioral detail. However, it does not mention authentication requirements, rate limits, or what happens if the profile is inaccessible. Given the annotation coverage, the description adds modest value, warranting a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that communicates the core action and input method without any filler. It front-loads the purpose and avoids unnecessary elaboration, making it highly efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a simple signature with two optional parameters and lacks an output schema. The description explains what it does and how to call it, but does not disclose the shape of the response (e.g., what profile fields are returned). While a profile getter typically returns standard fields, the absence of any indication about return content or potential errors (e.g., non-existent profiles) leaves a gap in completeness. Given the low complexity, a 3 is appropriate—it is functional but could be more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters, both with descriptions. The tool description enriches the 'url' parameter by stating that a username is also acceptable, which is not captured in the schema's parameter description ('Facebook public profile or page URL'). This additional semantic guidance aids the agent in accepting username values, elevating it above the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the resource ('Facebook profile or Page'), and specifies the input method ('by URL or username'). It distinguishes this tool from sibling list tools like facebook_profile_posts_list and facebook_profile_photos_list by focusing on the core profile/page entity, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its usage context: it is the primary tool to fetch a Facebook profile or page's basic information. While it does not explicitly contrast with siblings, the tool name and surrounding siblings (e.g., facebook_profile_posts_list) make it clear that this is for the profile itself, not its lists. The mention of 'public' hints at access scope, but no explicit when-not or alternative routing is provided, so a slight deduction from 5 is warranted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_profile_photos_listList Facebook profile photosA
Read-only
Inspect

List photos from a Facebook profile or Page. Accepts a profile or page URL. Credits: 1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic Facebook profile or page URL whose photos should be listed.
cursorNoOpaque pagination cursor from a previous response.
hostMediaNoWhen true, hosts source media for 90 days and returns delivery URLs in each photo's `hostedMedia`.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnlyHint=true and openWorldHint=true. The description adds useful cost-related behavior: 'Credits: 1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.' This discloses pricing and failure handling beyond what annotations provide, though it does not mention pagination 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, then concisely conveying cost details. Every sentence adds value; there is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a listing tool with three parameters (all documented in schema) and no output schema, the description covers the purpose, input requirement (URL), and essential cost behavior. It does not explain return format, but since it is a list tool, that is likely self-evident. The hostMedia behavior and credit structure are sufficiently explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is documented in the schema. The description adds extra meaning for 'hostMedia' by explaining the credit surcharge and up-to limits, which is not in the schema. This contextual cost information helps the agent decide on parameter values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and a clear resource ('photos from a Facebook profile or Page'), matching the tool name and title. It unambiguously identifies what the tool does and is easily distinguishable from other facebook_* tools like facebook_profile_posts_list or facebook_post_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: it accepts a profile or page URL and lists photos. There are no competing tools for listing Facebook profile photos, so exclusions or alternatives are not needed. The input requirement is clearly stated, providing enough guidance for when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_profile_posts_listList Facebook profile postsA
Read-only
Inspect

List posts from a Facebook profile or Page. Accepts a profile URL or page id. Credits: 1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoFull public Facebook profile or page URL.
cursorNoOpaque pagination cursor from a previous response.
pageIdNoFacebook page or profile id when you have it instead of a full URL.
hostMediaNoWhen true, hosts source media for 90 days and returns delivery URLs in each post's `hostedMedia`.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint and openWorldHint, but the description adds valuable context: the credit cost structure (1 base, +2 per hosted asset) and the behavior that failed assets are not surcharged. This goes beyond annotations and helps the agent anticipate costs and 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no filler. The primary purpose is front-loaded, then cost details are provided. Minimal but complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with no output schema, the description covers input selection, cost behavior, and the hostMedia option. Pagination is not mentioned, but the cursor parameter is in the schema, so the agent can infer it. Sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are fully documented. The description adds meaning by clarifying that url and pageId are alternatives for specifying the target, and explains the hostMedia effect (hosts for 90 days, adds cost). This enhances the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List posts from a Facebook profile or Page' – a specific verb and resource. It distinguishes from sibling tools like facebook_group_posts_list and facebook_profile_photos_list by explicitly mentioning profile/Page scope. Also clarifies the input methods (URL or page id).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It specifies that this tool is for profiles or Pages, which implicitly distinguishes it from group posts or other list tools. It also explains the URL/pageId alternatives. However, it doesn't explicitly say when not to use it or name alternative tools, but the scope is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_profile_reels_listList Facebook profile reelsA
Read-only
Inspect

List Reels from a Facebook profile or Page. Accepts a profile or page URL. Credits: 1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic Facebook profile or page URL whose reels should be listed.
cursorNoOpaque pagination cursor from a previous response.
hostMediaNoWhen true, hosts source media for 90 days and returns delivery URLs in each reel's `hostedMedia`.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the readOnlyHint annotation by detailing credit costs: '1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.' This provides operational context such as cost implications and limits, which is valuable for an agent managing budgets.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences: first states purpose and input, second lists credit costs. It front-loads the core purpose, then provides essential operational details without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, input, and costing, but lacks details about the response structure or error handling. Since there is no output schema, an agent might need to infer the return format. However, for a list tool with clear parameters and read-only annotation, this is a minor gap; a mention of pagination or response fields would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters are documented. The description adds cost and limit semantics for hostMedia ('adds +2 per hosted asset'), enriching its meaning beyond the schema's 'hosts source media for 90 days' with actionable pricing details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it 'List Reels from a Facebook profile or Page,' specifying the verb, resource, and content type. This distinguishes it from sibling tools like facebook_profile_posts_list or facebook_profile_photos_list which target different content types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It does not name facebook_profile_posts_list or instagram_profile_reels_list as alternatives, nor does it state conditions for choosing one over the other. The context is implied by the name but not articulated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_profile_activity_listList GitHub profile activityA
Read-only
Inspect

List recent public activity for a GitHub profile, one month per request. Accepts a username. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoCalendar year to read activity for. Default: current calendar year.
cursorNoPagination cursor from a previous response (`data.page.nextCursor`). Pages backward one month at a time through the selected year.
handleYesGitHub username whose public activity timeline should be listed.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint, so the bar for additional behavioral disclosure is lower. The description adds valuable details about pagination via cursor and the one-month-per-request limit, which are beyond the schema. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences with no fluff. The main purpose is front-loaded, and pagination guidance is included efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core behavior and pagination but does not describe the structure of the returned list (e.g., what fields each activity item contains). Without an output schema, this is a gap for an agent that needs to process the results. It is adequate for basic invocation but incomplete for deep data usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema documents all parameters. The description mentions accepting a username and returning a list, but does not add significant semantic meaning beyond what the schema already provides. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List'), resource ('GitHub profile activity'), and adds clarifying details ('recent public activity', 'one month per request'). This clearly distinguishes it from sibling tools like github_profile_contributions_get or github_profile_repositories_list, which focus on different aspects of a GitHub profile.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving a profile's activity timeline but does not explicitly mention alternatives or when-not-to-use conditions. It provides context like 'one month per request' and pagination, but does not route to sibling tools for different data needs (e.g., followers, repositories).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_profile_contributions_getGet GitHub contribution graphA
Read-only
Inspect

Get the contribution graph for a GitHub profile for a given year. Accepts a username.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoCalendar year for the contribution graph. Default: current calendar year.
handleYesGitHub username to look up, with or without a leading @.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description doesn't need to cover safety. It adds that it accepts a username and year, but does not describe return format or other behavioral traits. Given the annotations, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the resource and purpose. No wasted words, all information is relevant and efficiently delivered.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 not explain what the returned contribution graph contains (e.g., daily contributions, total count). However, the concept of a contribution graph is widely known, and the openWorldHint suggests the agent should expect flexible data. Still, a note on response structure would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters fully described (handle with length constraints and default, year with min/max and default). The description adds no additional meaning beyond what the schema already provides, so it meets the baseline without enhancing it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the specific resource ('contribution graph') for a GitHub profile, with the optional year context. It is specific enough to differentiate from sibling tools like github_profile_get (profile info) and github_profile_activity_list (activity feed).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving contribution graphs for a specific year, which is clear context. However, it does not explicitly mention alternative tools or when not to use this tool, so it lacks exclusions but provides enough directional guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_profile_followers_listList GitHub profile followersB
Read-only
Inspect

List followers for a GitHub profile. Accepts a username. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor from a previous response (numeric page index as a string).
handleYesGitHub username whose followers should be listed.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and openWorldHint, so the description need not repeat that. It adds the note about returning a list and using cursor for pagination, which is helpful but not extensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences that front-load the purpose and add the pagination note. No filler words; each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no output schema, the description covers the core purpose and pagination. It doesn't describe the shape of the list items, but that may be acceptable given the tool's simplicity and existing schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents both parameters with descriptions; schema coverage is 100%. The description adds a redundant note about accepting a username and clarifies pagination behavior, but doesn't add substantial new semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'followers for a GitHub profile', which is specific and unambiguous. It does not explicitly differentiate from sibling tools like github_profile_following_list, but the name and wording make the purpose clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool instead of alternatives such as following lists or profile details. The description only states the action without contextual cues or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_profile_following_listList GitHub profile followingA
Read-only
Inspect

List accounts a GitHub profile follows. Accepts a username. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor from a previous response (numeric page index as a string).
handleYesGitHub username whose following list should be listed.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds that the tool 'Returns a list' and advises 'use cursor when paginated', which provides some behavioral context about the return type and pagination. However, it does not disclose the structure of list items (e.g., usernames, profile objects) or how to detect further pages beyond the cursor parameter. This provides moderate value beyond the annotations but is not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences with zero fluff. The core purpose is front-loaded, followed by input and return/pagination hints. Every sentence earns its place, making it highly efficient and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and readOnly annotations, the description is mostly adequate but leaves a notable gap: the exact composition of the returned list. Since there is no output schema, the agent is left wondering whether the list contains usernames, full profile objects, or something else. The pagination hint is useful, but the missing return format detail reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; both handle and cursor have clear descriptions. The description adds little beyond that: 'Accepts a username' restates the handle parameter, and 'use cursor when paginated' echoes the cursor's schema description. Since the schema already carries the full semantic weight, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'List' with a specific resource 'accounts a GitHub profile follows', which clearly distinguishes it from the sibling tool github_profile_followers_list. The clause 'Accepts a username' further specifies the input, and the title reinforces the action. This is unambiguous and unique among many similar profile-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly explain when to use this tool versus alternatives like github_profile_followers_list or github_profile_get. It only states the function without any context on selection criteria, prerequisites, or exclusions. The agent must infer usage from the name and title, which is not sufficient guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_profile_getGet GitHub profileA
Read-only
Inspect

Get a GitHub profile for a user or organization. Accepts a username.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesGitHub username to look up, with or without a leading @.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only nature is covered. The description adds the behavioral detail that it works for both users and organizations, which is not in the annotations. No side effects or auth requirements are mentioned, but given the annotations and tool simplicity, this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences that front-load the core purpose. The second sentence is somewhat redundant but not wordy. The structure is efficient and clear, though it could be tightened further.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and no output schema. The description mentions the scope (user or organization) and establishes it as a profile getter. It does not specify response fields, but for a profile getter this is often implicit. The annotations cover safety, making the description adequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already describes the handle parameter, including the leading @ detail. The description's phrase 'Accepts a username' adds no new meaning beyond the schema. Since the schema fully documents the parameter, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Get a GitHub profile' for a user or organization. It clearly differentiates from sibling tools by naming the GitHub platform and the profile resource, distinguishing it from activity lists, contributions, and repositories tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: when you need the basic profile of a GitHub user or org. However, it does not explicitly mention alternatives like github_profile_repositories_list or github_profile_contributions_get, so there is no when-not-to-use guidance. The sibling list suggests this is the base profile getter, but the description alone does not clarify when to prefer it over related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_profile_pullRequests_listList GitHub profile pull requestsA
Read-only
Inspect

List pull requests authored by a GitHub user. Accepts a username. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoOnly return pull requests created on or after this date (YYYY-MM-DD).
untilNoOnly return pull requests created on or before this date (YYYY-MM-DD).
cursorNoPagination cursor from a previous response (`data.page.nextCursor`).
handleYesGitHub username whose public pull requests should be listed.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description appropriately does not repeat that. It adds value by specifying return type ('Returns a list') and pagination behavior ('use cursor when paginated'), which goes beyond the schema. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences with no fluff. The main purpose is front-loaded, and the pagination hint is concise and actionable. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a simple read-only list with no output schema, the description covers the essential return type and pagination. It does not mention rate limits or response shape details, but those are not critical for a read-only list operation. The description is complete for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are fully documented in the schema. The description adds little beyond restating 'accepts a username', which is already in the handle parameter description. Baseline of 3 is appropriate since schema carries the semantic burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'list' and the specific resource 'pull requests authored by a GitHub user'. The sibling set includes github_profile_repositories_list, github_profile_followers_list, etc., so this definition distinctly identifies the operation without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating 'accepts a username' and 'returns a list' with pagination note. While it doesn't explicitly name alternatives like github_profile_repositories_list, the purpose is obvious from context. It lacks an explicit 'use when' but provides clear functional context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_profile_repositories_listList GitHub profile repositoriesA
Read-only
Inspect

List repositories for a GitHub user or organization. Accepts a username. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort field for repositories.
typeNoRepository type filter. `owner`: repos owned by the user. `all`: owned repos plus repos from organizations the user belongs to. `member`: only repos the user belongs to via organization membership (not owned by the user). Default: `owner`.
cursorNoPagination cursor returned by a previous response.
handleYesGitHub username whose public repositories should be listed.
directionNoSort direction.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already state readOnlyHint and openWorldHint, so the description doesn't need to repeat that. It adds value by noting the return is a list and that pagination uses a cursor. This goes beyond annotations and clarifies expected behavior without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no fluff. The core action is front-loaded, and the pagination note is placed at the end. Every word contributes to the tool's description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity and full schema coverage, the description is adequate. It mentions returning a list and pagination, which covers the main runtime behavior. No output schema exists, but the return type (list) is stated. The description doesn't enumerate fields, but that's not required when the schema and annotations cover parameters and safety.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter (handle, sort, type, direction, cursor) already documented. The description adds minimal extra semantic value beyond the schema, such as 'use cursor when paginated,' which is already implied by cursor's schema. Baseline 3 is appropriate because the description doesn't need to compensate for missing schema info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'List repositories for a GitHub user or organization.' This clearly distinguishes from sibling tools like github_profile_get, github_profile_activity_list, and github_repositories_get, which have different scopes. The mention of both user and organization covers the handle parameter's flexibility.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides minimal guidance on when to use this tool. It says 'Accepts a username' and 'use cursor when paginated,' which addresses input and pagination, but does not explicitly contrast with alternatives like github_profile_activity_list or github_repositories_get. No when-to-use or when-not-to-use conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_repositories_getGet GitHub repositoryA
Read-only
Inspect

Get a single GitHub repository by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull public GitHub repository URL.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and external data access. The description adds the scoping detail of fetching a single repo by URL, which is not in annotations. It does not contradict annotations and provides sufficient clarity for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero filler words. It states the action and target efficiently. No unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-get tool with one parameter and no output schema, the description adequately covers what it does and how to specify the target. The lack of return format details is acceptable given the low complexity and clear purpose. It is complete enough for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the 'url' parameter is fully documented as 'Full public GitHub repository URL.' The tool description merely says 'by URL' and adds no additional semantic detail beyond the schema. Baseline 3 is appropriate since the schema already explains the parameter fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('get'), a resource ('single GitHub repository'), and a method ('by URL'). This clearly distinguishes it from sibling tools like github_profile_repositories_list (lists a user's repos) and github_trending_repositories_list (trending list). It is precise 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage via 'by URL' – if you have a repository URL, use this tool. However, it does not explicitly state when to prefer it over alternatives, nor does it mention exclusions (e.g., not for listing). It lacks direct comparison with sibling tools, so guidance is only implied, not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_adLibrary_ad_getGet Google Ad Library adA
Read-only
Inspect

Get a single Google Ad Transparency creative by public Ad Transparency URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic Google Ad Transparency URL for the creative.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds only that the URL must be 'public' and the result is 'single', but does not disclose response format, error behavior, or any other operational details. This is adequate given annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence with no waste. It front-loads the action and the key input requirement, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-URL tool with one parameter and read-only annotations, the description is nearly complete. It does not describe the return payload, but the tool name and the presence of sibling ad-library get tools (e.g., facebook_adLibrary_ad_get) imply a standard retrieval response. The lack of an output schema shifts some burden, but overall the context is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the url parameter with the note 'Public Google Ad Transparency URL for the creative.' The description's phrase 'by public Ad Transparency URL' essentially repeats the schema, adding negligible new meaning. With 100% schema coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description precisely names the verb ('Get'), the resource ('Google Ad Transparency creative'), and the input discriminator ('by public Ad Transparency URL'). It clearly distinguishes from sibling tools like google_adLibrary_advertisers_search or google_company_ads_list, and from ad-library fetchers on other platforms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for fetching a known ad by URL, but it does not explicitly state when to use this versus the sibling search or list tools. An agent must infer that this tool is appropriate only when a public URL is already available.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_company_ads_listList Google company adsA
Read-only
Inspect

List ads a company or advertiser is running in Google Ad Transparency. Accepts a domain or advertiser id. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoOptional topic filter. When `political`, `region` is required.
cursorNoOpaque pagination cursor from a previous response.
domainNoCompany domain when you do not have an advertiser id.
formatNoOptional creative format filter.
regionNoOptional region filter as a two-letter country code.
endDateNoOptional end date filter in YYYY-MM-DD format.
platformNoOptional Google surface filter.
startDateNoOptional start date filter in YYYY-MM-DD format.
advertiserIdNoGoogle Ad Transparency advertiser id when you have it instead of a domain.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral notes about pagination via cursor and that it returns a list, which complements the readOnlyHint and openWorldHint annotations. It does not contradict the annotations, but it does not disclose rate limits, authentication, or return structure details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste: the core purpose is front-loaded, and the essential details (domain/advertiser id, cursor pagination) are conveyed without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large number of optional parameters (9) and the absence of an output schema, the description is minimal. It does not mention the available filters (topic, region, platform, dates) though these are documented in the schema, and it does not describe the returned list's contents beyond being a list. Adequate but could be more helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with descriptions. The description reinforces the primary choice between domain and advertiserId and mentions cursor usage, but it does not add meaning beyond what the schema already documents for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb 'List' and resource 'ads' within 'Google Ad Transparency', and clarifies it accepts a domain or advertiser id. This clearly distinguishes it from sibling tools like google_adLibrary_ad_get (single ad) and google_adLibrary_advertisers_search (advertiser search).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a company domain or advertiser id, but it does not explicitly mention alternatives or when not to use this tool. It lacks exclusions or comparison to related Google ad tools, so guidance 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.

hackernews_comment_context_getGet Hacker News comment contextA
Read-only
Inspect

Get a Hacker News comment with its ancestor chain to the root story. Accepts a comment id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesHacker News comment id.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds value by specifying the behavioral trait of returning the ancestor chain to the root story, which is not in the annotations. However, it does not disclose potential edge cases (e.g., invalid id, non-comment id) or the exact return structure, so it falls short of rich disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero fluff. The first sentence front-loads the core action and result; the second clarifies the input. Every word earns its place, and the structure is optimal for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter and no output schema, the description adequately conveys what is returned (comment plus ancestor chain). It does not mention error handling or output format, but those are minor gaps given the tool's low complexity. Overall, it is sufficiently complete for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for the single parameter id already states 'Hacker News comment id' with 100% coverage. The description's phrase 'Accepts a comment id' simply reiterates the schema without adding additional semantics. Since schema coverage is high, the baseline is 3, and no extra meaning is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it gets a Hacker News comment including its ancestor chain to the root story. This clearly differentiates it from generic item retrieval (hackernews_item_get) or comment listing (hackernews_story_comments_list) and leaves no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you need the full ancestor chain of a comment, not just the comment itself. However, it does not explicitly exclude alternatives like hackernews_item_get for single-item retrieval, so it lacks explicit 'when-not' guidance. Still, the context is clear and sufficient for an agent to infer the appropriate use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_feed_listList a Hacker News feedA
Read-only
Inspect

List a Hacker News feed by type (top, new, best, ask, show, or jobs). Accepts a feed name. Returns a list (use page/pageSize when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
feedYesHacker News feed: top, new, best, ask, show, or jobs.
pageNoZero-based page index (maximum 50 pages). Default: 0. Advance with `data.page.nextPage` when `hasMore` is true.
limitNoItems to hydrate per page (1–50). Default: 30. Prefer this over `pageSize`.
pageSizeNoDeprecated alias for `limit`. When both are set, `limit` wins.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that it returns a list and hints at pagination ('use page/pageSize when paginated'), which provides some behavioral context beyond the annotations, but does not elaborate on response structure. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The core action and feed types are front-loaded, and the pagination note is placed logically. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description is thin on return value details. It says 'Returns a list' and hints at pagination, but does not describe item fields or the pagination contract (e.g., hasMore/nextPage) that the schema's page description references. The open-world annotation suggests variability, but the description does not clarify what a consumer should do with the returned items. It is minimally adequate given the schema's pagination hints, but leaves room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents all four parameters with descriptions (feed enum, page, limit, pageSize). The description does not add additional semantic meaning beyond the schema; it only repeats the existence of pagination. Baseline 3 applies because schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'Hacker News feed', and enumerates the exact feed types (top, new, best, ask, show, jobs). This distinguishes it from sibling search or item-specific tools like hackernews_search_list or hackernews_story_get, even without explicit comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives such as hackernews_search_list, hackernews_story_get, or other listing tools. It does not mention exclusions or preferred contexts, leaving the agent to infer when browsing feed categories is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_item_getGet Hacker News itemB
Read-only
Inspect

Get a Hacker News item by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesHacker News item id.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations readOnlyHint=true and openWorldHint=true already communicate safety and openness. The description adds nothing about return format, error conditions, or what constitutes an 'item'. It merely restates the function without enriching the behavioral context beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It communicates the core action and input immediately, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, one-parameter read-only tool with full schema coverage and annotations, the description is nearly sufficient. The only gap is that it does not clarify what kind of item is returned (story, comment, etc.), but given the low complexity, this is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single id parameter, which is described as 'Hacker News item id'. The tool description adds no further meaning, but since the schema already documents the parameter adequately, the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the resource ('a Hacker News item by id'). It is unambiguous but does not differentiate from sibling tools like hackernews_story_get or hackernews_comment_context_get, which also fetch HN content. The verb and resource are specific enough for basic identification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus the many hackernews_* siblings. There is no mention of whether this returns stories, comments, or other items, nor any hint about when to prefer it over hackernews_story_get or hackernews_maxitem_get. The agent must infer usage 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.

hackernews_jobs_who_is_hiring_listList Who is Hiring jobsA
Read-only
Inspect

List top-level jobs from the monthly Hacker News Who is Hiring thread (latest thread, or a YYYY-MM month). Returns a list (use page/pageSize when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoZero-based page index of top-level hiring comments.
limitNoJob rows per page (1–50). Default: 20. Prefer this over `pageSize`.
monthNoCalendar month (YYYY-MM) to pin a Who is Hiring thread. Default: latest thread.
pageSizeNoDeprecated alias for `limit`. When both are set, `limit` wins.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds behavioral details beyond that: it returns a list (not a single item), supports pagination via page/pageSize, and clarifies that it fetches only top-level jobs from the thread. This goes beyond the annotations, though it does not detail output structure 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core function and pagination note. No filler, no redundancy. The description is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no required parameters and no output schema, the description explains the thread scope, pagination, and return type. It doesn't disclose the structure of each job listing, but given the simplicity and the presence of readOnly/openWorld annotations, it is sufficiently complete for an agent to call it correctly. Minor gap: no explicit mention of what fields each job row contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters have descriptions. The tool description only reiterates pagination and month selection, adding no new semantic info beyond what the schema already provides. Per the rubric, this earns the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'List top-level jobs from the monthly Hacker News Who is Hiring thread'. It also specifies the optional month and distinguishes this tool from generic Hacker News listing tools like hackernews_feed_list or hackernews_story_comments_list by naming the specific thread type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool: specifically for the monthly Who is Hiring thread, with an optional month parameter to pin a particular thread. It does not explicitly name alternatives or exclusions, but the purpose is unambiguous enough that an agent would know to choose this tool over generic Hacker News feed or comment listers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_maxitem_getGet Hacker News max item idA
Read-only
Inspect

Get the current largest Hacker News item id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds that it returns the 'current largest' id, implying dynamism, but does not describe return format, pagination, or any edge cases. Since annotations carry the main behavioral disclosure, the description adds minimal but non-contradictory 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, precisely worded sentence with no superfluous information. It is front-loaded with the action and resource. Perfectly concise and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with no parameters, no output schema, and annotations already present, the description is complete. It states exactly what the tool returns and implies it is read-only. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and the schema coverage is 100% (empty schema). Per rubric, baseline is 4 for no parameters. The description does not need to explain parameters, and it doesn't add or omit anything relevant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and clearly identifies the resource ('current largest Hacker News item id'). It unambiguously distinguishes this tool from Hacker News siblings like hackernews_item_get (fetches a specific item) or hackernews_feed_list (lists stories). The purpose is fully clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives, nor any context for its typical application (e.g., polling new content, tracking the latest item). The description is purely functional and provides no exclusions or alternative hints. An agent would have to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_search_listSearch Hacker NewsB
Read-only
Inspect

Search Hacker News by keyword. Returns a list (use page/pageSize when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoRestrict search to story URLs matching this URL substring. Can omit `query`.
pageNoZero-based page index (maximum 50 pages, up to 1,000 hits).
sortNoRanking mode. Default: `popularity`.
typeNoRestrict search results to a Hacker News content type. `ask_hn`: Ask HN posts (questions to the community). `show_hn`: Show HN posts (projects/work being shared). `launch_hn`: Launch HN posts (YC-affiliated company launches). Default: `all`.
limitNoHits per page. Must be one of 10, 20, 30, 50. Default: 20. Prefer this over `pageSize`.
queryNoFull-text search query. Required unless `frontPageOnly`, `author`, `domain`, or `url` is set.
authorNoRestrict results to items by this Hacker News username.
domainNoRestrict search to story URLs matching this domain (e.g. example.com). Can omit `query`.
prefixNoWhen true, enable prefix matching for query tokens.
pageSizeNoDeprecated alias for `limit`. When both are set, `limit` wins.
dateRangeNoCreation-time window. Default: `all`.
minPointsNoMinimum points/score filter.
searchAuthorNoWhen true, include author username in the searchable fields.
frontPageOnlyNoWhen true, restrict results to current front-page items. Allows omitting `query`.
typoToleranceNoEnable typo tolerance. Default: true.
searchStoryTextNoInclude story/comment text in searchable fields. Default: true. Set false to search title/URL only.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description adds little beyond that. 'Returns a list' is trivial, and the pagination hint is already fully specified in the schema. No additional behavioral traits (e.g., result format, error conditions, rate limits) 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core purpose, and no unnecessary words. Every sentence earns its place, making it highly concise and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 16 parameters and no output schema, the description is insufficient. It implies keyword-only search, but the tool supports filtering by author, domain, type, date range, and more. An agent relying on this description would miss the full capability and might incorrectly assume query is always required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with all 16 parameters documented. The description merely repeats keyword and pagination without adding any new meaning or clarifying parameter interplay (e.g., that query can be omitted when author/domain/url is set).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Search Hacker News by keyword', identifying the verb (search), resource (Hacker News), and a specific scope (keyword). This distinguishes it from the many other search tools for other platforms in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives, no context, and no exclusions. It simply states the action without helping the agent decide when to prefer it over other Hacker News search or list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_story_comments_listGet Hacker News story commentsA
Read-only
Inspect

List comments on a Hacker News story by id. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesHacker News story id whose comment tree should be returned.
limitNoMaximum comment nodes to return in this page (1–100). Default: 50.
cursorNoOpaque continuation cursor from a previous response. Omit for the first page.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description doesn't need to re-state safety. It adds value by noting the result is a list and that pagination via cursor is supported. This directly informs callers about the return type and how to navigate multiple pages, which is beyond the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste. It front-loads the core purpose and includes the key operational hint about pagination. Every sentence earns its place, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description bears the burden of explaining the return value. It states 'Returns a list' but does not describe the fields or structure of the comment items, nor any error behavior. Given the simplicity of the operation and the schema's detailed parameter descriptions, it is adequate but could be more informative about the actual list contents.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 id, limit, and cursor thoroughly. The description adds only marginal emphasis ('by id', 'use cursor when paginated') which partly reinforces but does not significantly extend the schema. Baseline 3 is appropriate as the schema carries the semantic load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'List comments on a Hacker News story by id.' This precisely distinguishes it from siblings like hackernews_item_get (which fetches a single item) and hackernews_comment_context_get (which gets context around a comment). The phrase 'by id' and the schema's 'comment tree' further clarify the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing comments on a story and warns to use cursor when paginated, which is helpful. However, it does not explicitly state when not to use this tool or mention alternatives on the same platform (e.g., hackernews_item_get for retrieving a single comment). The guidance is clear in context but lacks explicit exclusions or comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_story_getGet Hacker News storyB
Read-only
Inspect

Get a Hacker News story by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesHacker News story id.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description carries a low burden for safety disclosure and does not contradict them. The description adds little beyond the literal fetch — no mention of what a non-existent id returns or any edge behavior — but this is acceptable given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence that is front-loaded and contains zero filler. Nothing could reasonably be cut, and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only fetch with full schema coverage and safety annotations, the description is adequate. It omits details like not-found behavior and response shape, but given the tool's simplicity and the absence of an output schema requirement, these are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; the schema fully documents the id parameter. The description's 'by id' roughly restates the schema rather than adding new semantic detail, which is fine but earns only the baseline for high-coverage cases.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb and resource ('Get a Hacker News story by id'), which is clear on its own. However, it does not differentiate from the near-identical sibling hackernews_item_get — the HN API's generic item type versus the story subtype — leaving an agent to guess whether these overlap or differ in scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to choose this tool over alternatives. With siblings like hackernews_item_get, hackernews_feed_list, and hackernews_story_comments_list, there is no explicit when-to-use or when-not-to-use direction, so the choice between story_get and item_get is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_updates_getGet Hacker News updatesA
Read-only
Inspect

Get recently changed Hacker News item ids and usernames.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds that it returns item IDs and usernames, and the term 'recently changed' implies a time-bound feed. It does not contradict the readOnlyHint and openWorldHint annotations, but it doesn't clarify what 'recently' means (e.g., last hour, last day) or whether there are limits. The annotations carry the read-only safety profile, so this is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, clear sentence that front-loads the primary purpose. No fluff, and every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with annotations covering read-only and open-world behavior, the description is sufficient: it states what is returned (IDs and usernames) and the temporal scope. It could be more specific about the time window or list format, but the overall complexity is low and nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so baseline 4 applies. The description doesn't need to explain parameters, and it doesn't introduce any ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Get') and a clear resource ('recently changed Hacker News item ids and usernames'), so an agent can tell it's a retrieval tool. However, it doesn't explicitly differentiate from siblings like hackernews_feed_list or hackernews_item_get, relying on the name to imply the update-focused scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 hackernews_* siblings. No mention of prerequisites, use cases, or explicit exclusions, leaving the agent to infer 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.

hackernews_user_comments_listList Hacker News user commentsA
Read-only
Inspect

List a Hacker News user's comments (newest first). Accepts a username. Returns a list (use page/pageSize when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoZero-based page index (maximum 50 pages, up to 1,000 hits).
limitNoHits per page (1–50). Default: 20. Prefer this over `pageSize`.
pageSizeNoDeprecated alias for `limit`. When both are set, `limit` wins.
usernameYesHacker News username (case-sensitive).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and scope. The description adds that it returns a list and hints at pagination ('use page/pageSize when paginated'). However, it does not elaborate on error behavior, rate limits, or what happens for invalid usernames, so it adds only modest value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise—three short clauses that front-load the core purpose, then add return type and pagination notes. There is zero waste, and every piece of information earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool, the description is adequate but not complete. It doesn't differentiate from sibling user-related lists, doesn't mention that 'limit' is preferred over 'pageSize', and doesn't describe the list items' content beyond being comments. With no output schema and a simple use case, a 3 reflects that it covers the essentials but leaves some contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with all parameters described in the input schema. The description repeats 'username' and adds a pagination hint, but it does not clarify the preference for 'limit' over 'pageSize' (as mentioned in the schema) or provide any additional semantic context beyond what the schema already offers. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List'), resource ('a Hacker News user's comments'), and ordering ('newest first'). It is unambiguous and easily distinguished from sibling tools like hackernews_user_submissions_list or hackernews_story_comments_list by the clear 'user's comments' phrasing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or why an agent should choose this over hackernews_user_favorites_list or other user-related list tools. The usage context is only implied by the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_user_favorites_listList Hacker News user favoritesA
Read-only
Inspect

List favorites for a Hacker News user by username. Returns a list (use page when paginated; 1-based).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoOne-based HTML favorites page number. Default: 1. Each page bills 1 credit.
usernameYesHacker News username (case-sensitive).

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only nature is disclosed. The description adds the pagination detail: 'use page when paginated; 1-based,' which is useful and not redundant. However, it does not elaborate on any rate limits, error conditions, or the structure of the returned list beyond saying 'Returns a list.' Given the annotations cover the main behavioral trait, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that packs the essential information: what the tool does and a critical pagination note. There is no fluff or repetition. It is front-loaded with the purpose and keeps the pagination caveat in a parenthetical, making it easy to scan. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a simple read-only list operation. Annotations already convey openness and read-only safety. The schema fully defines parameters, including defaults and billing notes. The description covers pagination and return type. Given the lack of an output schema, the description could optionally detail the list item fields, but for a typical favorites list, the absence is not a critical gap. Overall, it is sufficiently complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides full descriptions for both parameters: username is 'Hacker News username (case-sensitive)' and page is 'One-based HTML favorites page number. Default: 1. Each page bills 1 credit.' With 100% schema coverage, the description adds no extra semantic value beyond what the schema states. It only rephrases the pagination hint. Thus, the baseline of 3 is justified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'List favorites for a Hacker News user by username.' It specifies the action (list), the resource (user favorites), and the parameter (username). This distinguishes it from sibling Hacker News tools like hackernews_user_comments_list and hackernews_user_submissions_list, which target different content types. 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives such as hackernews_user_comments_list or hackernews_user_submissions_list. It does not mention exclusions, prerequisites, or specific scenarios. The only hint is the name and the mention of 'favorites,' but the description itself offers no decision support for an agent choosing among the many user-content list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_user_getGet Hacker News user profileB
Read-only
Inspect

Get a Hacker News user profile by username.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesHacker News username (case-sensitive).

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds no additional behavioral context, such as authentication requirements, rate limits, or what the profile contains. It contributes no value beyond what the annotations and the verb 'Get' already convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that is perfectly concise and front-loaded. Every word earns its place, with no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get operation with one parameter and no output schema, the description is minimally adequate. It names the resource but does not hint at what fields the profile contains or any edge-case behavior. It's sufficient for an agent to know it fetches a user profile, but it lacks depth that more complex tools would require.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with the username parameter already described as 'Hacker News username (case-sensitive)'. The tool description adds no further detail about the parameter, so it doesn't enhance schema semantics beyond the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the resource ('Hacker News user profile'), with the parameter 'username' implied. It is unambiguous and distinguishes from sibling tools that fetch comments or submissions, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus related Hacker News tools like hackernews_user_comments_list or hackernews_user_favorites_list. The description simply states what it does, leaving the agent to infer usage context without explicit exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hackernews_user_submissions_listList Hacker News user submissionsA
Read-only
Inspect

List a Hacker News user's stories, polls, and jobs (newest first). Accepts a username. Returns a list (use page/pageSize when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoZero-based page index (maximum 50 pages, up to 1,000 hits).
limitNoHits per page (1–50). Default: 20. Prefer this over `pageSize`.
pageSizeNoDeprecated alias for `limit`. When both are set, `limit` wins.
usernameYesHacker News username (case-sensitive).

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While annotations declare readOnlyHint=true and openWorldHint=true, the description adds meaningful behavioral facts: it lists specific content types (stories, polls, jobs), sorting order (newest first), and pagination hints (use page/pageSize). This goes beyond the safety profile conveyed by annotations and gives the agent useful operational expectations. It does not discuss error handling or rate limits, but that is minor given the simple read-only nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient: three short sentences deliver the core purpose, content scope, and pagination hint with minimal fluff. The main action is front-loaded. It loses a point for using 'page/pageSize' instead of the schema-preferred 'limit', which introduces slight imprecision, but overall it is well-structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with no output schema, the description covers the essential operational aspects: what is returned, order, and pagination. It does not detail the exact return structure, but that is expected without an output schema. The lack of explicit comparisons to sibling tools is a minor gap, but overall the information is sufficient for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 no additional meaning beyond what the schema already provides for parameters. It mentions 'page/pageSize' but omits the preferred 'limit' parameter, and slightly conflicts with the schema's deprecation note on pageSize. It does not clarify or enrich parameter usage, so it neither adds value nor detracts significantly, staying at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') targeting a clear resource: a Hacker News user's 'stories, polls, and jobs' with a defined order ('newest first'). This distinguishes it from sibling tools like hackernews_user_comments_list or hackernews_user_favorites_list by naming the content types explicitly. The purpose is unambiguous and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by naming the resource type (stories, polls, jobs) but does not explicitly contrast with alternatives. It never says 'use this for submissions, not comments' or mentions sibling tools. The differentiation relies on the tool name and sibling naming patterns rather than explicit guidance, so it meets the 'implied usage' level but not a clear 'when/when-not' directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_audio_reels_listList Instagram audio ReelsA
Read-only
Inspect

List Instagram Reels that use a specific audio track, with track metadata, tagged users, and coauthors when Instagram exposes them. Accepts a audio id. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor returned by a previous response.
audioIdYesInstagram audio id whose Reels should be listed.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose readOnlyHint=true and openWorldHint=true, so the base bar is lower. The description adds valuable behavioral context: it notes that Instagram may not always expose all metadata ('when Instagram exposes them') and explains pagination handling. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The core purpose is front-loaded, and the pagination note is practical. There is a minor grammatical typo ('a audio id' instead of 'an audio id'), but it does not detract from clarity. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no output schema, the description provides a sufficient high-level return summary (track metadata, tagged users, coauthors) and pagination guidance. It does not elaborate on sort order or limits, but those are not essential for basic invocation. Given the readOnly annotation and simple two-parameter schema, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 minimal extra meaning: it mentions 'Accepts a audio id' and 'use cursor when paginated', but these are already implied by the schema's parameter descriptions. No new semantics are introduced that aren't already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'List Instagram Reels that use a specific audio track'. It clearly distinguishes from sibling tools like instagram_profile_reels_list (profile-specific) and instagram_reels_trending_list (trending) by focusing on a specific audio id. The added detail about track metadata, tagged users, and coauthors further clarifies what is returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear context for use: when you have an audio id and want Reels that use it. It also includes a practical usage note about pagination ('use cursor when paginated'). However, it does not explicitly mention alternatives or when not to use this tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_highlight_getGet Instagram highlightA
Read-only
Inspect

Get stories inside a saved Instagram highlight by highlight id.

ParametersJSON Schema
NameRequiredDescriptionDefault
highlightIdYesNumeric Instagram highlight id from a highlight URL.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the tool returns stories from a highlight, which provides some behavioral context, but it does not disclose additional traits such as authentication requirements, rate limits, or response format. With annotations present, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that communicates the core action immediately. It has no redundancy and is well-structured for quick parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (one parameter, no output schema), the description adequately conveys that the tool returns stories from a highlight. It could mention pagination or response structure, but for a simple get-by-id operation, this is sufficient. The lack of an output schema puts some burden on the description, which it meets by specifying the content ('stories inside').

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter highlightId already documented as a 'Numeric Instagram highlight id from a highlight URL.' The tool description only paraphrases this ('by highlight id') without adding extra meaning. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'stories inside a saved Instagram highlight', and the method 'by highlight id'. This distinguishes it from sibling tools like instagram_profile_highlights_list, which lists highlights for a profile. 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. It does not mention that you should use this when you have a highlight ID, nor does it explicitly differentiate from instagram_profile_highlights_list or other Instagram tools. Users are left to infer usage from the schema and naming.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_post_comments_listList Instagram post or reel commentsA
Read-only
Inspect

List comments on an Instagram post or Reel by URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Instagram post or reel whose comments should be listed.
cursorNoOpaque cursor from a previous response to fetch the next page.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds the pagination hint ('use cursor when paginated'), which is useful beyond the schema. However, it doesn't disclose other behaviors such as whether only top-level comments are returned, error cases, or rate limits. Given the annotation coverage, a 3 is appropriate – the description adds some behavioral context but not rich detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero fluff. The first sentence states the core purpose, and the second adds the pagination detail. Information is front-loaded and every word earns its place. Perfectly concise for a simple list tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with only two parameters and no output schema, the description is mostly adequate, but it misses a key distinction: it doesn't clarify that it returns top-level comments only and that nested replies are handled by the sibling instagram_post_comments_replies_list. Without this, an agent might assume all comments including replies are returned. Also no mention of potential rate limits or authentication, though these are common across tools. The description covers the basics but has a notable gap regarding scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both url and cursor having clear descriptions. The description's 'by URL' and 'use cursor when paginated' essentially restate the schema's parameter descriptions without adding new meaning. Since schema does the heavy lifting, baseline 3 is correct; no extra semantic value 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('list comments'), the resource ('Instagram post or Reel'), and the input method (by URL). It is specific and distinguishes itself from sibling tools like facebook_post_comments_list or reddit_post_comments_list because it names the Instagram context explicitly. No tautology or ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that top-level comments are returned (versus replies) or point to instagram_post_comments_replies_list for nested replies. There is no 'when not to use' or alternative tool mention. The agent must infer usage purely from the name and general context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_post_comments_replies_listList Instagram comment repliesA
Read-only
Inspect

List replies to a comment on an Instagram post or Reel. Accepts a comment id and post URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Instagram post or reel that contains the parent comment.
cursorNoOpaque cursor from a previous response to fetch the next page.
commentIdYesParent comment id from List Instagram post or reel comments (`data.comments[].id`).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe, read-only operation. The description adds a pagination hint ('use cursor when paginated') and clarifies the return is a list, which is useful beyond the annotations. However, it does not disclose other behaviors like rate limits or authentication requirements, though these are likely handled by the API layer. This mirrors the calibration example where a minimal extra hint with full annotation coverage earned a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and under 40 words. It front-loads the primary purpose, then provides required inputs and the return type/pagination note. Every sentence earns its place with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, 3-parameter tool with no output schema, the description covers the essentials: the action, required inputs, and return type with pagination guidance. It does not explicitly mention how to obtain the parent comment id, but the input schema's parameter description covers that. The rest (authentication, rate limits) is presumably handled by the API layer and annotated readOnly. This is complete enough for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all three parameters with meaningful descriptions (e.g., commentId explicitly notes it comes from 'List Instagram post or reel comments'). The main description merely restates 'Accepts a comment id and post URL' without adding new semantic detail. It adds negligible value over 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action: 'List replies to a comment on an Instagram post or Reel.' It identifies the resource (comment replies), the platform, and the scope (post or Reel). This distinguishes it from sibling tools like instagram_post_comments_list, which lists top-level comments, and from reply tools on other platforms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states what inputs are needed ('Accepts a comment id and post URL') and the return type, which implies you must have a comment id from a prior call. However, it does not explicitly direct the agent to instagram_post_comments_list to obtain the comment id, nor does it mention when not to use this tool (e.g., for top-level comments). The clear context of needing a comment id and the presence of the parent tool in siblings makes usage reasoning straightforward, but it lacks explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_post_download_getDownload Instagram post or reel mediaB
Read-only
Inspect

Download Instagram post or reel media. Accepts a post URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the post or reel.
regionNoOptional ISO 3166-1 country code for request routing.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint, covering safety. The description adds no behavioral context beyond the action; it does not disclose what the download returns (e.g., a direct URL vs binary content), any rate limits, or authentication needs. This is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loads the primary action. Two sentences with no waste, though it omits useful detail, but for the information it carries it is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain what 'download' yields. It does not, and it also fails to differentiate from sibling tools. This leaves an agent uncertain about the response format and appropriate usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover both parameters fully (100% coverage), so the schema already explains 'url' and 'region'. The description merely repeats that it accepts a post URL, adding no new meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Download') and resource ('Instagram post or reel media'), and notes it accepts a post URL, clearly distinguishing it from metadata tools like instagram_post_get. 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The action 'Download' implicitly signals a use case, but the description does not explicitly state when to prefer this tool over alternatives (e.g., instagram_post_get for metadata) or provide any exclusions. It gives minimal context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_post_getGet Instagram post or reelA
Read-only
Inspect

Get a single Instagram post or Reel by URL. Author is under owner (not author); timestamps use createdAt (ISO; legacy Unix takenAt may still appear at runtime).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the post or reel.
trimNoWhen true, returns a smaller response with fewer fields.
regionNoOptional ISO 3166-1 country code for request routing.
downloadMediaNoWhen true, asks the upstream provider to download media and return provider-hosted URLs in `downloads` (not SocialFetch-owned storage). Adds 10 credits when media is found (11 total including the base lookup); when no media is returned the base lookup credit still applies.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds valuable behavioral context beyond the readOnlyHint and openWorldHint annotations by disclosing response structure specifics: 'Author is under owner (not author); timestamps use createdAt (ISO; legacy Unix takenAt may still appear at runtime).' This helps the agent parse the response correctly and handles potential legacy fields. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and immediately followed by crucial response parsing details. There is no fluff, and every word earns its place. Excellent structure for quick consumption.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only single-item getter with no output schema, the description provides key details about response fields and timestamp formats. It does not mention error handling or rate limits, but those are less critical given the annotations and simple GET nature. The provided context is sufficient for an agent to call it correctly and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters (url, trim, region, downloadMedia) are documented in the schema. The description adds nothing about parameters themselves, but it does clarify response interpretation. Since the schema carries the parameter burden, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a single Instagram post or Reel by URL' is a specific verb+resource statement that clearly distinguishes this tool from siblings like instagram_post_comments_list or instagram_profile_posts_list. It immediately tells the agent what it retrieves and how (by URL).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (for a single post/reel by URL) but does not explicitly state when to prefer this over alternatives, such as instagram_post_download_get for media or instagram_post_transcript_get for text. It lacks explicit 'when not to use' or routing guidance, leaving 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.

instagram_post_transcript_getGet Instagram post transcriptB
Read-only
Inspect

Get the spoken transcript for an Instagram post or Reel by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Instagram post or Reel whose transcript should be returned.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=true, covering the read-only nature and variable world data. The description adds the 'spoken transcript' specificity, which hints at audio/video dependency, but doesn't disclose potential failure modes (e.g., no transcript available for a post) or any limitations. It minimally enhances the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the key information. No redundant words or padding. It communicates the essential purpose immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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, the description is largely sufficient. However, it doesn't mention that transcripts may not exist for all posts or reels, nor does it clarify the expected return format (e.g., plain text). Given the simplicity and annotation coverage, it's adequate but leaves minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the url parameter with 100% coverage ('Link to the Instagram post or Reel whose transcript should be returned'). The description adds no extra detail about the parameter format or constraints, so it stays at baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (get transcript) and the resource (Instagram post or Reel), with a specific verb and scope. It distinguishes from general post metadata tools like instagram_post_get, though it doesn't explicitly differentiate from other platform transcript tools like facebook_post_transcript_get; the platform is implicit in the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It doesn't mention that this is for audio/spoken content, when a transcript might not be available, or provide any comparison to sibling transcript tools. The agent must infer usage from the name and basic description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_profile_basic_getGet Instagram basic profileA
Read-only
Inspect

Get a lightweight Instagram profile by numeric user ID when you already have the id.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesInstagram numeric user id to look up.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to restate safety. It adds 'lightweight' to indicate a reduced dataset, but does not describe what fields are returned, any pagination, or potential rate limits. Given the annotations cover the read-only nature, the description adds modest context but not rich behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is a single, front-loaded sentence with zero filler. It states the action, the resource type, the key input, and the precondition in under 20 words, making it easy to parse at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter, read-only annotations, and no output schema, the tool is simple. The description tells the agent when to use it and that it is 'lightweight,' but does not enumerate the fields returned. For an agent that needs to know what data to expect, this is a gap, though the term 'basic profile' offers some hint. The absence of an output schema raises the need for more detail, so a 3 is warranted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter userId, which already includes a description ('Instagram numeric user id to look up') and validation pattern. The description's mention of 'numeric user ID' merely echoes the schema, adding no new meaning. Baseline 3 is appropriate when the schema carries full parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Get') and resource ('lightweight Instagram profile'), and it explicitly conditions the call on already having the numeric user ID. This distinguishes it from instagram_profile_get, which presumably fetches a fuller profile, and from search-based tools. The term 'lightweight' and 'basic' signal a reduced data set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'when you already have the id' provides a clear precondition for use, implying that if you lack the ID you should use a search endpoint. However, it does not name an alternative tool explicitly (e.g., instagram_profile_get) nor state when not to use this tool beyond that condition. The guidance is implicit but adequate for a direct lookup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_profile_engagement_getGet Instagram profile engagement auditB
Read-only
Inspect

Get Instagram profile engagement audit. Accepts a handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesInstagram handle to look up, with or without a leading @.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true and openWorldHint=true, which already convey that the operation is safe and reads external data. The description does not contradict these; 'Get' aligns with read-only behavior. It adds minimal context by calling it an 'engagement audit', implying analysis of public profile metrics, but it does not disclose specifics such as whether it fetches historical data, rate limits, or what happens if the handle is invalid. Given the annotations cover safety, the description provides some value but not deep behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. It front-loads the primary action and then mentions the parameter. Every word earns its place, and it is appropriately sized for a simple one-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description is minimal. It tells the agent what the tool does at a high level but not what the 'engagement audit' includes (e.g., likes, comments, impressions, follower growth). Without an output schema, the agent must guess what the response will contain. Since the operation is read-only and open-world, the risk is low, but the description still leaves key aspects undefined. It is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the handle property is well-documented ('Instagram handle to look up, with or without a leading @'). The description's 'Accepts a handle' adds no new meaning beyond the schema. Since the schema already fully describes the parameter, the description is redundant. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Get Instagram profile engagement audit.' This distinguishes it from other Instagram profile tools like instagram_profile_get or instagram_profile_basic_get, which likely fetch raw profile data rather than an engagement analysis. However, it does not explicitly name any sibling to differentiate from, and the meaning of 'audit' is left vague. It is specific enough for an agent to know the general purpose but lacks explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There are multiple Instagram profile-related siblings (e.g., instagram_profile_get, instagram_profile_basic_get, instagram_profile_followers_list) and a similar TikTok tool (tiktok_profile_engagement_get), but no explicit 'use this when' or 'instead of' statements. The phrase 'Accepts a handle' only restates the parameter, not usage context. An agent has no clues about selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_profile_getGet Instagram profileA
Read-only
Inspect

Get a full Instagram profile by handle (bio, counts, and related fields). Returns lookupStatus plus follower/post metrics and privacy flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesInstagram handle to look up, with or without a leading @.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds value by specifying the return shape (lookupStatus, follower/post metrics, privacy flags), which is behaviorally informative (e.g., lookupStatus implies handling of missing handles). It does not over-explain but provides useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the core action and immediate context, then a compact list of return values. No wasted words; the description is immediately scannable and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool with no output schema, the description covers what is returned and the identifier format (via schema). It omits nothing essential: no need to explain pagination, authentication, or additional params. Slight gap is not naming siblings, but that is already accounted for in usage guidelines.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'handle' is fully described in the schema (100% coverage), including the leading-@ tolerance. The description adds no extra meaning about the parameter, so the baseline 3 applies. It simply relies on the schema, which is adequate for a single param.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Get a full Instagram profile by handle') and enumerates contents (bio, counts, related fields, lookupStatus, follower/post metrics, privacy flags). The word 'full' differentiates it from lighter profile tools like instagram_profile_basic_get and instagram_profile_engagement_get, making purpose and scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied — 'full' suggests it is the comprehensive profile tool, but it does not explicitly contrast with alternatives (e.g., basic or engagement) or state when to choose one over the other. No when-not-to-use guidance is given, but an agent can infer that a comprehensive lookup should use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_profile_highlights_listList Instagram profile highlightsA
Read-only
Inspect

List story highlight albums for an Instagram profile by handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesInstagram handle whose story highlight albums should be listed.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal read-only and open-world behavior, but the description adds a concrete behavioral nuance: 'Returns a list (use cursor when paginated).' This tells the agent that results may be paginated and that a cursor mechanism exists. This goes beyond the schema and annotations, providing operationally useful information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences, with the core purpose front-loaded and no redundant phrasing. Every word earns its place, and the pagination note is placed as a brief, useful addition. This is a model of concise, efficient writing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (one parameter), annotations covering safety and open-world semantics, and no output schema, the description is mostly complete. It states the task and the pagination caveat. It does not enumerate the fields of each highlight album, but for a list operation this is acceptable given domain conventions and the absence of an output schema. Slight gap on return structure keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully describes the single parameter 'handle' (with maxLength and description). The description adds no additional semantic detail about the parameter itself. Per the rubric, with 100% schema description coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (List), the resource (story highlight albums), and the scope (for an Instagram profile by handle). This distinguishes it from siblings like instagram_highlight_get (which presumably fetches a single highlight) and instagram_profile_get (profile info). The explicit phrasing leaves no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it lists highlight albums for a given handle. It implies when to use it (when you want all highlights for a profile) but does not explicitly name alternatives or conditions for not using it. Since it is clear enough for an agent to infer the intended use case without mentioning competitors, this gets a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_profile_posts_listList Instagram profile postsA
Read-only
Inspect

List posts from an Instagram profile by handle. Credits: 1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque pagination cursor from a previous response.
handleYesInstagram handle whose posts should be listed.
hostMediaNoWhen true, hosts source media for 90 days and returns delivery URLs in each post's `hostedMedia`.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds meaningful non-obvious behavior: the credit cost model, the hostMedia surcharge per hosted asset, a 24/49 cap reference, and the policy that failed assets are not surcharged. This goes beyond the structured annotations, though the '24 / 49 max' phrasing is ambiguous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the first front-loads the exact purpose; the second packs cost details efficiently. There is no redundant wording or restating of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides sufficient information for invocation: the handle parameter is obvious, hostMedia behavior is explained, and cost is clear. However, with no output schema, the description does not describe what the response contains (e.g., post objects, pagination fields, ordering), leaving gaps for an agent predicting return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 value by clarifying that 'handle' is the lookup key and by explaining cost implications of hostMedia=true, including the surcharge and failed-asset policy. Cursor semantics remain as documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List'), a specific resource ('posts from an Instagram profile'), and the key scope ('by handle'). This clearly distinguishes it from Instagram sibling tools like instagram_profile_reels_list, instagram_profile_taggedPosts_list, and instagram_profile_get without requiring schema inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this when you need to list an Instagram profile's posts by handle. However, it provides no explicit comparisons or when-not-to-use guidance relative to alternatives like instagram_profile_taggedPosts_list or instagram_profile_reels_list. It leaves the choice to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_profile_reels_listList Instagram profile reelsA
Read-only
Inspect

List Reels from one specific Instagram profile by handle (not a keyword search — use instagram.search.reels.list for that; not trending — use instagram.reels.trending.list for that). Credits: 1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque pagination cursor from a previous response.
handleYesInstagram handle whose reels should be listed.
hostMediaNoWhen true, hosts source media for 90 days and returns delivery URLs in each reel's `hostedMedia`.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety. The description adds valuable behavioral context about cost: base credit, hostMedia surcharge per hosted asset, and that failed assets are not surcharged. It also clarifies hostMedia behavior (hosting for 90 days and returning delivery URLs). This goes beyond annotations and gives the agent important operational detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first states purpose and exclusions, the second covers cost. It is front-loaded with the core use case, no fluff, and every part serves a distinct informational purpose. Extremely efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 3 parameters, the description covers when to use, cost implications, and hostMedia behavior. It does not detail return format or pagination, but the schema explains cursor, and the core operational aspects are addressed. The omission of output structure is acceptable given the tool's read-only nature and lack of output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described. The description adds meaning to hostMedia by explaining its credit impact and purpose, and clarifies that the handle is for a specific profile (not search). This enriches the schema definitions, which are already present but are improved with cost and selection context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists Reels from one specific Instagram profile by handle, using a specific verb and resource. It explicitly differentiates from keyword search (instagram.search.reels.list) and trending (instagram.reels.trending.list), making the purpose unambiguous and distinct from 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs when to use this tool versus alternatives: 'not a keyword search — use instagram.search.reels.list for that; not trending — use instagram.reels.trending.list for that'. This gives clear routing guidance, leaving no ambiguity about the appropriate use case (having a specific handle).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_profile_taggedPosts_listList Instagram tagged postsA
Read-only
Inspect

List Instagram posts a user is tagged in, by user id. Credits: 1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque pagination cursor from a previous response.
userIdYesInstagram numeric user id whose tagged posts should be listed.
hostMediaNoWhen true, hosts source media for 90 days and returns delivery URLs in each post's `hostedMedia`.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only nature is covered. The description adds valuable cost behavior: base credit, extra credits for hostMedia=true, and the note that failed assets are not surcharged. This is useful context beyond what the schema or annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences total: the first states the purpose, the second covers cost details. Information is front-loaded and every word earns its place. No fluff, no repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 not describe the response structure or fields. For a list operation, an agent might need to know what each post object contains (e.g., media URLs, timestamps, etc.). The cost and pagination (cursor) are covered, but return format is missing. Given that this is a read-only tool with no output schema, more detail would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – every parameter (cursor, userId, hostMedia) has a description. The tool description adds cost implications for hostMedia but does not clarify parameter meaning beyond what the schema already provides. Baseline 3 applies since the schema carries the semantic load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'List Instagram posts a user is tagged in, by user id.' This clearly distinguishes it from sibling tools like instagram_profile_posts_list (posts authored by the user) and instagram_profile_reels_list (reels). The purpose is unambiguous and action-oriented.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the core use case clear: list posts where a user is tagged. It doesn't explicitly name alternative tools for posts authored by the user, but the contrast is implicit in the wording. The context is sufficient for an agent to select this tool when the goal is tagged posts rather than authored posts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_search_hashtag_listSearch Instagram by hashtagA
Read-only
Inspect

Search public Instagram posts and Reels by hashtag. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor returned by a previous response.
hashtagYesHashtag to search for. A leading # is optional.
mediaTypeNoContent filter. Use `all` for posts and Reels, or `reels` for Reels only. Default: `all`.
datePostedNoOptional filter for when matching posts were posted.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only and open-world hints. The description adds useful behavioral context by stating it returns a list and hints at cursor-based pagination, which is not evident from annotations. However, it does not detail other potential behaviors like result ordering or rate limits, but with the annotation coverage this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the core purpose and immediately mention the return type and pagination behavior. There is no redundant or vague language; every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 4 well-documented parameters and no output schema, the description sufficiently covers the essential aspects: what is searched, the scope (public posts and Reels), and pagination. It does omit any mention of result ordering or specific content types beyond posts/Reels, but given the openWorldHint and schema coverage, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with each parameter (hashtag, cursor, mediaType, datePosted) documented. The description text adds minimal semantic value beyond the schema, only hinting at cursor usage for pagination, which is already stated in the schema. Baseline 3 is appropriate when the schema carries the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Search') and resource ('public Instagram posts and Reels by hashtag'), which clearly distinguishes it from sibling tools on other platforms (e.g., tiktok_search_hashtag_list) and other Instagram search tools (e.g., instagram_search_list, instagram_search_profiles_list). 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (when searching Instagram by hashtag) but does not explicitly mention alternatives or when not to use it. It gives no comparison to other Instagram search tools, leaving the agent to infer the appropriate context from the name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_search_listSearch Instagram accounts, hashtags, and placesA
Read-only
Inspect

Search Instagram accounts, hashtags, and places by keyword (not posts — use instagram.search.popular.list; not profile discovery — use instagram.search.profiles.list). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query text for Instagram accounts, hashtags, and places.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the description's burden is lighter. It adds valuable behavioral detail: the result is a list and pagination uses a cursor. This goes beyond annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no redundancy. The first sentence states purpose and exclusions; the second covers return type and pagination. Information is front-loaded and every clause contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter search tool with read-only annotations and no output schema, the description covers purpose, sibling disambiguation, return shape, and pagination. An agent has all necessary information to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the single parameter 'query', describing it as 'Search query text for Instagram accounts, hashtags, and places.' The description's 'by keyword' adds no new meaning beyond the schema, so a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Search', the specific resource type ('accounts, hashtags, and places'), and the scope ('by keyword'). It explicitly differentiates from sibling tools by naming alternatives for posts and profile discovery, making it 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance (searching accounts, hashtags, places) and when-not-to-use guidance, naming the exact alternative tools for posts and profiles. This fully orients the agent to select this tool correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_search_profiles_listSearch Instagram profilesA
Read-only
Inspect

Search Instagram profiles by keyword. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query text for Instagram profiles.
cursorNoOpaque pagination cursor returned by a previous response.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safe nature of the operation is covered. The description adds valuable behavioral context by stating that it returns a list and explicitly instructs to use the cursor for pagination. This goes beyond the schema and annotations, giving the agent operational knowledge for handling multi-page results. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero wasted words. The primary action is front-loaded, and the pagination note is placed second. It is appropriately brief and scannable, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with no output schema and read-only annotations, the description covers the essential points: what it does, what it returns (a list), and how to handle pagination. It does not mention result limits, sort order, or error conditions, but these are not critical for a basic keyword search. Given the simplicity and the rich sibling context, the description is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; both query and cursor are already described in the schema. The description's phrase 'by keyword' echoes the query field but adds no new meaning. Cursor usage is mentioned ('use cursor when paginated') but that is more about invocation than parameter semantics. Since the schema fully documents parameters, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Search'), the resource ('Instagram profiles'), and the mechanism ('by keyword'). It unambiguously identifies this as profile search, distinguishing it from sibling tools like instagram_search_hashtag_list and instagram_search_reels_list. The purpose is specific and immediately actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through its clear purpose (search profiles by keyword) but provides no explicit guidance on when to prefer this tool over other search variations (e.g., instagram_search_list, instagram_search_popular_list). There are no exclusions or alternative references. This is adequate but leaves the agent to infer the appropriate context from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

instagram_search_reels_listSearch Instagram ReelsA
Read-only
Inspect

Search Reels site-wide by keyword (not scoped to one profile — use instagram.profile.reels.list; not trending — use instagram.reels.trending.list; not audio-page — use instagram.audio.reels.list). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based results page number. Omit to request the first page. Pagination is page-based.
queryYesSearch query text for Instagram Reels.
datePostedNoOptional filter for when matching reels were posted.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and scope. The description adds useful behavioral context: it states the search is site-wide and that results are returned as a list with pagination. However, the pagination note ('use cursor') conflicts with the schema's page-based parameter, which is a minor inconsistency but not a contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with the primary action front-loaded. The second sentence is short and the parenthetical list of alternatives is dense but efficient. It avoids redundancy and earns its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three parameters, all documented in the schema, and the description clarifies scope and usage. However, the pagination instruction is inconsistent with the schema (cursor vs. page), and the description omits any mention of result count limits, sorting, or response format. For a search tool with no output schema, this leaves uncertainty about how to handle pagination correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 all three parameters (query, page, datePosted). The description adds no semantic value for these parameters; instead, it introduces a pagination concept ('cursor') not present in the schema, potentially confusing agents. This reduces the score below the baseline 3 because the added information is misleading rather than helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Search Reels site-wide by keyword' – a specific verb and resource with explicit scope. It also distinguishes from three related siblings (profile-scoped, trending, audio-page) by naming them directly, making it easy for an agent to select the correct tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-not-to-use guidance by listing alternatives for specific use cases: 'not scoped to one profile — use instagram.profile.reels.list; not trending — use instagram.reels.trending.list; not audio-page — use instagram.audio.reels.list'. It also mentions pagination behavior, telling the agent to use a cursor when paginated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_adLibrary_ad_getGet LinkedIn Ad Library adA
Read-only
Inspect

Get a LinkedIn Ad Library ad by ad id or Ad Library URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic LinkedIn Ad Library URL for the ad.
adIdNoLinkedIn Ad Library id for the ad.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the useful fact that you can fetch by either ID or URL, which is not fully captured by the schema alone. However, it does not disclose details about response format, error handling, or rate limits. The annotations already declare readOnlyHint and openWorldHint, so the description's contribution is modest but non-contradictory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the verb and resource. There is no extraneous information, and every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get tool with two optional parameters and no output schema, the description is adequate but not complete. It lacks mention of error conditions (e.g., invalid ID), response content, or how to discover ads via search. Given the sibling tools include a dedicated search, referencing that alternative would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described, so the baseline is 3. The description adds the relationship between the two parameters by stating 'by ad id or Ad Library URL,' clarifying that they are alternative identifiers. This goes beyond the schema, which lists them as independent optional fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Get), the resource (a LinkedIn Ad Library ad), and the two ways to identify it (ad id or Ad Library URL). This leaves no ambiguity about what the tool does and differentiates it from the related search tool, linkedin_adLibrary_ads_search_list, which returns lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you already have an ad ID or URL, but it does not explicitly state when to use this tool vs. alternatives such as linkedin_adLibrary_ads_search_list. There is no mention of search for discovery or exclusions, so the guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_adLibrary_ads_search_listSearch LinkedIn Ad Library adsA
Read-only
Inspect

Search LinkedIn Ad Library ads by company, keyword, or company id. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque pagination cursor from a previous response.
companyNoCompany name to search for in the LinkedIn Ad Library.
endDateNoOptional end date filter in YYYY-MM-DD format.
keywordNoKeyword or phrase to search for in LinkedIn Ad Library ads.
companyIdNoLinkedIn company id to search for in the Ad Library.
countriesNoOptional comma-separated list of country codes (for example US,CA,MX).
startDateNoOptional start date filter in YYYY-MM-DD format.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's addition of pagination behavior (use cursor when paginated) and the return type (list) provides extra context beyond the annotations. It does not contradict the annotations and offers a useful hint about handling paginated results, though it could disclose more about potential data limits or freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the first sentence states the tool's purpose and search dimensions, while the second covers the return type and pagination. Every word earns its place, with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the moderate complexity (7 optional parameters, no output schema), the description covers the essential aspects: what it searches, how to paginate, and that it returns a list. It doesn't explain parameter interactions or constraints (e.g., whether at least one search criterion is needed), nor does it detail the return fields. However, since the schema fully documents parameters and annotations cover read-only safety, the description is largely sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters are already detailed in the schema. The description adds minimal value by restating the search criteria (company, keyword, company id) that the schema already explains. The cursor hint is redundant with the schema's 'Opaque pagination cursor from a previous response.' No significant new semantic information is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches LinkedIn Ad Library ads and specifies three distinct search criteria (company, keyword, company id). It distinguishes itself from the sibling linkedin_adLibrary_ad_get (which likely retrieves a single ad) and from other platforms' ad search tools. The return type (list) and cursor mention further clarify its function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives, such as the singular ad get tool or other platform-specific ad searches. It implies usage through the search criteria but offers no exclusions or conditions. For instance, it doesn't say 'use this when searching across ads' or 'use ad_get to retrieve a specific ad.' 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.

linkedin_company_getGet LinkedIn company pageA
Read-only
Inspect

Get a LinkedIn company page by company URL — use linkedin.organization.get for schools and mixed organization URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLinkedIn company page URL for this lookup. School and organization-guest pages are not supported; use `GET /v1/linkedin/organizations`.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnlyHint and openWorldHint, covering its safety and return variability. The description adds the behavioral constraint that school and organization-guest pages are unsupported, which is useful context beyond the annotations but does not detail error behavior or response structure. Given the annotation coverage, this is solid 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the primary action and immediately provides the efficient routing hint to the alternative tool. Every word serves a purpose, and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter, read-only tool with full schema coverage and no output schema, the description conveys all necessary information: what the tool does, the URL parameter, the exclusion of certain URL types, and the alternative tool when needed. No critical detail is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes the url parameter with 'LinkedIn company page URL for this lookup. School and organization-guest pages are not supported; use `GET /v1/linkedin/organizations`.' This covers meaning and constraints. The description merely restates 'by company URL' without adding format examples or further syntax details, so it stays at the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a GET operation on a LinkedIn company page, identified by URL. It differentiates itself from the sibling linkedin_organization_get by explicitly naming the alternative for schools and mixed organization URLs, leaving no ambiguity about its specific target resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit: it states that for schools and mixed organization URLs, one should use linkedin.organization.get instead. The parameter description reinforces this by noting these URL types are not supported, giving clear exclusions and pointing to the correct alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_company_posts_listList LinkedIn company postsA
Read-only
Inspect

List posts from one specific LinkedIn company page by URL (not a keyword search — use linkedin.posts.search.list to search across public posts). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLinkedIn company page URL or slug whose posts should be listed.
pageNo1-based results page number. Pagination is page-based; at most 7 pages can be requested for a given company.

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description claims 'use cursor when paginated', but the schema clearly states pagination is page-based. This contradictory instruction could mislead an agent into expecting cursor-based pagination. Beyond that, it adds minimal behavioral detail beyond the annotations (readOnly, openWorld), so it fails to add accurate value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two succinct sentences, front-loading the core purpose and alternative, with no wasted words. The structure is efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two parameters, the description covers the main scenario and returns a list, but the pagination contradiction creates a gap. It also does not describe the output shape beyond 'list', which could be useful, but given the tool's simplicity, it is mostly adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. However, the description misrepresents pagination behavior (cursor vs. page-based), actively confusing the agent about how the 'page' parameter works. It adds no useful clarification and potentially harmful misinformation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists posts from one specific LinkedIn company page by URL, and explicitly contrasts it with keyword search (linkedin.posts.search.list). This gives a specific verb, resource, and distinguishes it from relevant siblings like search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says this is not a keyword search and directs the user to the alternative tool, leaving no ambiguity about when to use it. It also notes that pagination is cursor-based, though this conflicts with the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_jobs_getGet LinkedIn jobsA
Read-only
Inspect

Get LinkedIn job postings by job URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoLinkedIn job posting URL to look up.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds 'Returns a list (use cursor when paginated),' which discloses the return type and pagination mechanism. Annotations already indicate readOnlyHint=true, so the read-only behavior is covered. The description provides additional behavioral context beyond annotations, though it does not mention the array structure (covered by schema) or potential error cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short, front-loaded sentences with no redundant fluff. The core purpose is stated first, followed by a concise pagination note. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a fetch-by-URL tool with a read-only annotation and a single parameter fully documented in schema, the description covers the essential points: what it does, that it returns a list, and pagination. It doesn't explicitly mention that it accepts multiple URLs, but the schema handles that. The description is adequate, though it could briefly note that the URL must contain '/jobs/view/' to prevent user error, but that's in the schema already.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides full documentation for the 'url' parameter, including the requirement to include '/jobs/view/'. The description's 'by job URL' adds no new semantic meaning beyond the schema, and is slightly misleading by using the singular 'URL' when the parameter is an array. Since schema coverage is 100%, 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get LinkedIn job postings by job URL.' This specifies the verb (get), resource (LinkedIn job postings), and key distinguishing input (job URL). It is unambiguous and distinct from sibling tools like linkedin_jobs_search_list, which search for jobs rather than retrieve by URL.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by job URL' explicitly conditions usage on having a job URL, which implies that without one, a search tool is more appropriate. While it doesn't name alternatives or state 'when not to use,' the condition is clear enough for an agent to infer that this toolkit is for fetching specific postings when URLs are known.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_jobs_search_listSearch LinkedIn jobsA
Read-only
Inspect

Search LinkedIn jobs by keyword and filters. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum job listings to return (default 10).
remoteNoOptional work arrangement filter.
companyNoOptional company name filter.
countryNoOptional ISO 3166-1 alpha-2 country code, e.g. "GB" or "US". Narrows an ambiguous `location` label to one country; leave unset when `location` is already a country name.
jobTypeNoOptional job type filter.
keywordYesRequired. Search keyword for LinkedIn job listings — a job title, skill, or company term, e.g. "typescript engineer" or "growth marketer".
locationYesRequired. Location label as you would type it into LinkedIn's location box — a city, region, or country name, e.g. "London", "Greater Seattle Area", or "United Kingdom".
timeRangeNoOptional time range filter for when jobs were posted.
locationRadiusNoOptional location radius filter.
experienceLevelNoOptional experience level filter.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the description's job is to add context. It discloses return type ('Returns a list') and pagination behavior ('use cursor when paginated'), which goes beyond annotations. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one clear sentence plus a short pagination hint, both front-loaded and free of filler. Every word contributes either to purpose or to behavioral guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 10 parameters (5 enums) and no output schema, the description could be expected to explain more about response semantics. However, it does state return type and pagination, and the parameter schema is thorough. The description is adequate given the schema's richness, though it omits details like how filters combine.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 every parameter in detail. The description's phrase 'by keyword and filters' only summarizes parameters without adding new meaning. It does not compensate for any gaps since no gaps exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches LinkedIn jobs with keyword and filters, and returns a list. It is specific enough to distinguish from sibling tools like linkedin_people_search_list, though it does not explicitly contrast with linkedin_jobs_get. The name also reinforces the search-list behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (search for jobs) but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The note 'use cursor when paginated' is a usage hint but not about tool selection. Guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_organization_getGet LinkedIn organization pageA
Read-only
Inspect

Look up LinkedIn company, school, or organization pages by URL (broader than linkedin.company.get). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoLinkedIn organization page URL.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety and external-data nature. The description adds further behavioral detail: it 'returns a list' and explains pagination via cursor, which is valuable beyond the annotations. No contradictions found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with every phrase earning its place. The purpose is front-loaded, and the sibling differentiation plus pagination note are included without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter lookup tool with annotations covering safety and external data, the description covers the key aspects: purpose, scope, return type, and pagination. No output schema exists, but 'returns a list' gives sufficient expectation. A couple more details on the response shape would perfect it, but it's adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – the parameter is fully described with allowed path patterns and array constraints. The description adds only the phrase 'by URL', which is already implicit in the schema. The schema does the heavy lifting, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Look up') and resource ('LinkedIn company, school, or organization pages by URL'), and explicitly distinguishes itself from the sibling linkedin.company_get by saying it is 'broader'. This clearly differentiates the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description names the primary alternative (linkedin.company_get) and indicates the broader scope. It also gives pagination guidance ('use cursor when paginated'). However, it does not explicitly state when to use this over linkedin.company_get beyond 'broader', nor does it mention any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_people_search_listSearch LinkedIn peopleA
Read-only
Inspect

Search LinkedIn people by first and/or last name. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
lastNameNoLast name filter. At least one of `firstName` or `lastName` is required.
firstNameNoFirst name filter. At least one of `firstName` or `lastName` is required.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already mark this as a read-only operation, so the description doesn't need to restate that. It adds useful behavioral context beyond the annotations by mentioning that results are returned as a list and that a cursor should be used for pagination. This helps the agent handle large result sets appropriately.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that state the purpose and the key behavioral note about pagination. It is front-loaded with the primary action and adds the return type and pagination detail, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter search tool with no output schema, the description is adequately complete. It covers the main use case, the return type (list), and pagination handling. It doesn't describe result fields, but that's not necessary here given the tool's simplicity and the existing annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with both `firstName` and `lastName` already documented as filters and the requirement that at least one is present. The description adds no new parameter semantics beyond what the schema already states, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches LinkedIn people by first and/or last name. It specifies the resource (people) and the filtering criteria, and the tool name aligns perfectly. It distinguishes itself from other LinkedIn search tools (jobs, posts, etc.) by explicitly focusing on people.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use it: when you need to find LinkedIn people by name. It provides a clear context for use but does not mention alternatives or explicitly state when not to use it. Since there are many related LinkedIn search tools, some exclusion guidance would be helpful, but the context is clear enough for an agent to infer typical usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_post_getGet LinkedIn post or articleB
Read-only
Inspect

Get a LinkedIn post or article by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic permalink to the post or article.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already include readOnlyHint=true and openWorldHint=true, so the read-only nature is covered. The description adds no further behavioral context (e.g., error handling, rate limits, or what happens if the URL is invalid). Since the annotation covers safety, the description is adequate but not enriched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence (8 words) that is immediately clear and front-loaded. There is no wasted wording, and it conveys the essential purpose efficiently. This is exemplary conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter, no output schema), the description is mostly sufficient, but it fails to hint at what is returned (e.g., full post content, metadata, author). Since there is no output schema, this would be valuable context. It also doesn't clarify the difference between 'post' and 'article', leaving some ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – the 'url' parameter is described as 'Public permalink to the post or article.' The description repeats this ('by URL') but adds no additional meaning. With full schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Get' with the resource 'LinkedIn post or article' and mentions 'by URL', which clearly identifies the action and object. It distinguishes from siblings like linkedin_post_transcript_get (transcript) and linkedin_posts_search_list (search) by focusing on direct retrieval by permalink, though it doesn't explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings. It doesn't mention when to choose this over linkedin_post_transcript_get or linkedin_posts_search_list, nor does it state any preconditions (e.g., needing a valid public URL). Usage is only implied by the phrase 'by URL'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_posts_search_listSearch LinkedIn postsA
Read-only
Inspect

Search public LinkedIn posts site-wide by keyword (not scoped to one profile or company — use linkedin.profiles.posts.list or linkedin.company.posts.list for that). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesKeyword or phrase to search for in public LinkedIn posts.
cursorNoOpaque pagination cursor returned by a previous response.
datePostedNoOptional filter for how recently matching posts were published.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, covering the safety profile. The description adds behavior beyond annotations by noting that the search is site-wide, returns a list, and uses a cursor for pagination. It does not cover rate limits or error behavior, but these are not critical for a read-only search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with each clause earning its place: the first defines scope and differentiates from siblings, the second describes return type and pagination. It is front-loaded and free of redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with three well-documented parameters and no output schema, the description fully covers what an agent needs to invoke it correctly: what it searches, that it returns a list, and how to paginate. The explicit alternatives prevent misuse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema documents all parameters. The description adds minimal extra meaning beyond schema, mainly framing query as a keyword and cursor as pagination usage. Baseline 3 is appropriate since the schema carries the parameter documentation load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Search'), resource ('public LinkedIn posts'), and a clear site-wide scope that distinguishes it from profile- or company-scoped tools. It also names the exact alternatives, so an agent can differentiate 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use this tool vs alternatives ('not scoped to one profile or company — use linkedin.profiles.posts.list or linkedin.company.posts.list for that'). It also provides operational guidance on pagination ('use cursor when paginated'), making the conditions for use unmistakable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_post_transcript_getGet LinkedIn post transcriptA
Read-only
Inspect

Get the transcript for a LinkedIn post video by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the LinkedIn post whose video transcript should be returned.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds minimal behavioral context beyond that—it doesn't describe response format, potential errors (e.g., if the video has no transcript), or any restrictions. For a read-only tool with strong annotation coverage, the bar is lower, but the description provides little extra behavioral transparency, so a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the core action and resource. Every word is meaningful; there is no filler or repetition. It efficiently conveys the tool's purpose without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one well-documented parameter, no output schema, and readOnly/openWorld annotations, the description is nearly sufficient. It specifies the input (URL) and the expected result (transcript). The only minor omission is clarifying limitations (e.g., only works for posts with video transcripts), but this is inferable from the description and schema. Overall, it is complete enough for an agent to correctly select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the 'url' parameter already has an explanatory description ('Link to the LinkedIn post whose video transcript should be returned'). The tool description adds only the phrase 'by URL', which is redundant with the schema. Since the schema fully documents the parameter, the description contributes no additional semantic value, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get'), a specific resource ('transcript for a LinkedIn post video'), and the input mechanism ('by URL'). This clearly distinguishes it from the many sibling transcript tools for other platforms (e.g., facebook_post_transcript_get, youtube_video_transcript_get) since the platform is explicitly named. No ambiguity about 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case: retrieving a transcript from a LinkedIn post video via its URL. It doesn't explicitly mention alternatives or exclusion scenarios, but the platform-specific nature of the tool (as reflected in the name and description) makes the context clear. Since there are many sibling transcript tools, an explicit 'use for LinkedIn posts' could be added, but it's already implicit. Slight gap in not stating that it only works for posts with video, but the description already includes 'video'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linkedin_profile_getGet LinkedIn profilesA
Read-only
Inspect

Get LinkedIn person profiles by URL or handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoLinkedIn profile URL.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and openWorldHint, so the description only needs to add extra behavior. It adds that the tool returns a list and mentions pagination with cursor, which is useful and goes beyond the annotations. There is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, purposeful sentence that front-loads the core action and follows with a brief note on pagination. No filler or redundant wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with one parameter and no output schema, the description adequately covers purpose, input format, and pagination behavior. It omits details like return structure, but given the simplicity and available schema/annotations, it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage, describing the 'url' parameter as accepting LinkedIn profile URL, vanity handle, '@handle', or 'in/{handle}' path. The description adds no further parameter details beyond echoing 'by URL or handle', so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it gets LinkedIn person profiles via URL or handle, distinguishing it from sibling tools like linkedin_company_get or linkedin_people_search_list. It names the specific resource type (person profiles) and the method of lookup, leaving no ambiguity about which tool to use for direct profile retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It conveys that this tool is for direct lookup by URL/handle, implying it should be used when the exact identifier is known, as opposed to search tools. However, it does not explicitly name alternatives or state when not to use it, so it falls just 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.

linkedin_profiles_posts_listList LinkedIn profile postsA
Read-only
Inspect

List posts from one specific LinkedIn person profile by URL (not a keyword search — use linkedin.posts.search.list to search across public posts). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLinkedIn profile URL or vanity handle whose public posts should be listed.
limitNoMaximum posts to return (default 10).
endDateNoOptional end of the date range for posts to include. Must be a valid ISO-8601 date-time. For profile URLs, date filtering applies only to LinkedIn articles.
startDateNoOptional start of the date range for posts to include. Must be a valid ISO-8601 date-time. For profile URLs, date filtering applies only to LinkedIn articles.
onlyAuthoredPostsNoWhen true, return only posts created by the profile owner.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose read-only and open-world hints, covering safety. The description adds behavioural context by stating the return type ('Returns a list') and pagination handling ('use cursor when paginated'). It does not contradict the annotations and adds value beyond the safety profile, though it could mention that only public posts are returned, but this is implied by openWorldHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two tight sentences with zero filler. The core action and differentiation are front-loaded, and the pagination hint is appended efficiently. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential differentiators and return-type hint. It lacks an explicit statement about the scope of posts (public only) or that date filtering is only for articles, but these are either implied by openWorldHint or detailed in the schema. For a simple list tool with no output schema, it is sufficiently complete, though a mention of output structure would push it higher.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since schema description coverage is 100%, all parameters are already well-documented in the schema. The description mentions 'by URL' which aligns with the url parameter but doesn't add new meaning to any parameter. It relies on the schema for parameter understanding, which is acceptable, hence the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'List posts from one specific LinkedIn person profile by URL' – a specific verb and resource. It also explicitly differentiates it from the sibling tool by stating 'not a keyword search — use linkedin.posts.search.list to search across public posts', making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit: it tells the agent when not to use this tool (for keyword searches) and names the exact alternative tool ('use linkedin.posts.search.list'). It also provides a functional hint ('use cursor when paginated'), leaving no ambiguity about invocation context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linktree_profile_getGet Linktree profileB
Read-only
Inspect

Get a public Linktree profile by handle, including links and socials.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesLinktree handle to look up, with or without a leading @.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the agent knows it's a safe read from an open world. The description adds that it returns links and socials, which gives some context on the output content. However, it does not mention any rate limits, authentication requirements (though public implies no auth), or what happens if the handle doesn't exist. Since the annotations cover the safety profile, the description adds modest value. No contradiction with annotations. A 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no wasted words. It conveys the action, the resource, the identifier, and the expected content (links and socials). It is front-loaded with the action and resource. The only minor issue is that it could be more explicit about what 'links' and 'socials' mean, but it's appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, read-only), the description is almost sufficient. It tells the agent what to expect (links and socials) but doesn't describe the structure of the response or any edge cases (e.g., visibility of certain links). With no output schema, the agent must infer the return shape. The annotations cover the safety aspect. For a simple getter, this is adequate but leaves some uncertainty about response structure. A 3 is fair.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter 'handle' is fully described in the schema: 'Linktree handle to look up, with or without a leading @.' The description in the tool doesn't add any parameter-specific meaning beyond what the schema already provides. Schema description coverage is 100%, so the schema carries the full burden. The description's mention of 'by handle' reiterates the parameter but adds no new syntax or formatting details. Baseline 3 for 100% coverage is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear purpose: retrieve a Linktree profile by handle, with the scope of including links and socials. It uses the verb 'Get' and the resource 'public Linktree profile', which is distinct enough from the many sibling profile getters (e.g., bluesky_profile_get, twitter_profile_get) because it names the platform and the specific content returned. However, it doesn't explicitly differentiate from other Linktree-related tools (none exist in siblings, so fine) or from similar profile tools, but the mention of 'handle' and 'links and socials' adds specificity. A 4 is appropriate; it's clear but could be more explicit about what a Linktree profile typically contains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you need a public Linktree profile by handle, including its links and socials. It does not explicitly state when not to use it or mention alternatives. Given the sibling list contains many profile getters, the description could guide an agent on when to choose this over, for example, a social profile getter. The mention of 'public' suggests it's for public profiles only, but no explicit exclusions. This is minimal but adequate for a simple read tool, so a 3 is fair.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitors_checks_listList a monitor's recent check historyA
Read-only
Inspect

The self-serve "why didn't I get a webhook" view — the last ~50 checks with outcome/credits/reason.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description correctly adds value beyond that: it discloses the returned content (outcome/credits/reason) and the approximate limit of ~50 checks. No contradiction with annotations. The '~50' is a useful behavioral constraint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with zero filler. The purpose is front-loaded, and the output details are appended cleanly. Highly efficient and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list with a single parameter and no output schema, the description gives the key fields (outcome/credits/reason) and the approximate count (~50). It doesn't mention ordering or pagination, but the 'last ~50' covers scope. Slightly incomplete but adequate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for the single 'id' parameter, and the description itself never mentions the parameter or its meaning. It only appears in the title ('a monitor's'). For low schema coverage the description must compensate, and it doesn't – leaving the agent to infer that 'id' is the monitor ID.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (list), a resource (monitor's check history), and the scope (last ~50 checks with outcome/credits/reason). The 'why didn't I get a webhook' framing makes its purpose unmistakable and distinguishes it from siblings like monitors_events_list or monitors_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly ties usage to a clear trigger: debugging a missing webhook. This tells the agent when to reach for this tool. It does not name alternatives or give 'when not' use, but the specific self-serve use case is enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitors_createCreate a monitorAInspect

Watch a social account or search and get a signed webhook when new content appears. Runs a synchronous baseline check on create — the response includes what's there right now, and you'll only get webhooks for items after that.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
typeYesinterval or cron.
paramsYesParams for the source, e.g. { handle: "elonmusk" }.
minutesNoRequired when type is interval.
timezoneNoIANA timezone, required when type is cron.
expressionNoCron expression, required when type is cron.
operationIdYesA watchable operationId from monitors_sources_list.
spendCapCreditsNo
webhookEndpointIdNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only specify readOnlyHint=false and openWorldHint=false, offering little safety context. The description adds valuable disclosure about the synchronous baseline check on create, that the response includes current items, and that webhooks fire only for items after that point. It also mentions 'signed webhook,' which is a key behavioral detail. This goes beyond annotations and materially aids agent decision-making.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The primary purpose and the critical baseline behavior are front-loaded, and every clause adds value. It is exemplary in efficiency and structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 carries the burden of explaining the response—it does so clearly ('the response includes what's there right now'). It also clarifies webhook delivery semantics (only new items) and the signed nature of webhooks. While it does not delve into parameter selection or edge cases, the core information an agent needs to understand the tool's behavior and return is present. Given the tool's complexity (nested params, 9 parameters), a bit more guidance on how to set up a monitor would be helpful, but it is not essential for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (6 of 9 params have descriptions in the schema), so the baseline for parameter semantics is moderate but not high. The description adds no information about any of the parameters—it never mentions operationId, params, type, or schedule fields. While the schema covers a majority of parameters, the description does not compensate for the remaining undocumented ones (e.g., spendCapCredits, webhookEndpointId) nor clarify the relationship between params and the 'social account or search' concept. This is a gap for a 9-parameter creation tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb and resource: 'Watch a social account or search and get a signed webhook when new content appears.' It makes the creation purpose explicit and distinguishes the tool from sibling monitors_* operations (get, list, update, delete, trigger) by focusing on 'create' semantics and the baseline-check behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (to start watching a source), but it does not explicitly contrast it with related tools like monitors_trigger or monitors_update. There is no 'use this instead of X' guidance, so an agent must infer the appropriate context from the title and general knowledge. It is not misleading, but it leaves routing to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitors_deleteDelete a monitorB
Destructive
Inspect

Permanently delete a monitor. Cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already include destructiveHint=true, but the description adds the explicit warning that deletion is permanent and irreversible. This goes beyond the structured annotation and clarifies the consequence of calling the tool, which is valuable for an AI agent considering this action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two short sentences—and front-loads the core action before adding the irreversibility warning. Every word earns its place; no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation with one parameter and no output schema, the description is fairly complete. It states the action and the key consequence (permanent). While it doesn't describe the id format or any failure behavior, the simplicity of the tool and presence of annotations reduce the need for more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no additional meaning for the only parameter 'id'. Schema coverage is 0%, so the description carries the full burden, but it simply restates the tool's intent without explaining any parameter to the agent. The schema only defines 'id' as a required string, and the description does not compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('delete') and resource ('monitor'), and adds 'Permanently' to emphasize irreversibility. It clearly distinguishes this tool from sibling monitor tools like monitors_create and monitors_update by indicating a delete action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, dependencies, or when a monitor cannot be deleted. The only usage hint is implicit from the name and the warning 'Cannot be undone.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitors_events_listList monitor eventsB
Read-only
Inspect

Pull API for a monitor's events — queryable regardless of webhook delivery configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
limitNo
cursorNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, indicating a safe, read-only operation. The description adds value by stating that the tool is a 'pull API' and that it works irrespective of webhook delivery configuration, providing context about data availability that annotations do not cover. It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core purpose. It avoids unnecessary fluff and is easy to parse. It could be slightly more descriptive, but it is appropriately sized for a straightforward list endpoint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema and 0% schema description coverage, the description is insufficient. It does not mention pagination behavior (despite 'limit' and 'cursor' parameters), the structure of the returned events, or any limitations. For a list tool with these parameters and no output schema, an agent would need more information to fully understand how to call it and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the parameters (id, limit, cursor). It doesn't mention that 'id' refers to a specific monitor, or that 'limit' and 'cursor' control pagination. While the parameter names are self-explanatory to some degree, the description fails to compensate for the lack of schema details, leaving the agent uncertain about how to use them correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool pulls a monitor's events, which is a specific verb-resource combination. The phrase 'Pull API for a monitor's events' distinguishes it from sibling tools like monitors_list or monitors_get, and the title reinforces the intent. However, it doesn't explicitly mention that it lists events for a given monitor ID, relying on the required 'id' parameter to imply this.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides one usage condition: the events are queryable regardless of webhook delivery configuration, which hints at when this tool is appropriate (e.g., when webhook setup isn't needed). However, it does not mention any alternative tools, such as monitors_checks_list, or explicitly state when not to use this tool. It gives a context but lacks clear guidance on tool selection compared to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitors_getGet a monitorA
Read-only
Inspect

Get one monitor by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds minimal behavioral information beyond the annotations. readOnlyHint=true already covers the read-only nature, and openWorldHint=false is not explained. The description does not disclose potential errors, return format, or side effects, but for a simple get operation this is acceptable given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant wording. It front-loads the verb and resource, making the purpose immediately clear. There is no filler or unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter, the description is essentially complete. It states what it gets and by what key. Without an output schema, a note on return format could be helpful but is not critical since 'Get one monitor' implies the monitor object is returned. The annotation readOnlyHint provides safety context. Overall, an agent has enough to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for the 'id' parameter, so the description must compensate. The phrase 'by id' clarifies that the 'id' parameter is the monitor's identifier, which adds some meaning. However, it does not elaborate on the format, source, or uniqueness constraints beyond the schema's basic string type. This is minimal but adequate for a simple parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'monitor', and the identifying criterion 'by id'. This distinguishes it from siblings like monitors_list (list all) and monitors_create (create), and it is unambiguous about the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit usage guidance is provided. The description does not mention when to use this tool versus alternatives like monitors_list, monitors_checks_list, or monitors_events_list. It implies that it is for fetching a specific monitor by id, but the guidance is not stated, leaving the agent to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitors_listList monitorsA
Read-only
Inspect

List the caller's monitors, optionally filtered by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=false, covering the safety and scope model. The description adds the useful behavioral detail that only the caller's monitors are listed, which is not fully obvious from the annotations. However, it does not disclose other behavioral aspects like pagination, sorting, or return format, which are typical for list operations. Given the annotations cover the primary traits, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the core action ('List the caller's monitors') and appends the optional filter. There is zero redundancy; every word contributes to understanding. Ideal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter, the description covers the essential action and filter. However, it lacks any information about the return payload (e.g., the structure of monitor objects, pagination, or ordering) since there is no output schema. Given the simplicity, the absence of these details is not critical, but the tool could be more self-contained by noting that the result is a list of monitors. Still adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description must carry the meaning of parameters. It explicitly mentions the 'status' filter, which maps directly to the only property in the schema. While it does not enumerate the allowed values (the schema's enum does that), it clarifies that status is an optional filter, adding value beyond the raw schema. This is sufficient for a single-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List'), the resource ('monitors'), and the scope ('the caller's monitors'), which distinguishes it from sibling tools like monitors_get (which likely retrieves a single monitor) and other monitor sub-resources like monitors_checks_list. The optional status filter is mentioned, providing a precise purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is for enumerating the caller's monitors and optionally filtering by status. However, it does not explicitly state when to use this tool over alternatives such as monitors_get or when filtering is advisable, nor does it mention any exclusions. The context is clear but not fully elaborated, 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.

monitors_sources_listList watchable sourcesA
Read-only
Inspect

List every public API operation Monitors can watch (Twitter/X, Instagram, TikTok, Reddit profiles and searches). Powers the monitor-creation flow.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, covering the safety and scope profile. The description adds contextual scope (specific platforms) but does not disclose additional behavioral traits such as pagination, return format, or data freshness. Since annotations carry the main behavioral burden, the description's contribution is modest but not contradictory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The primary purpose and examples are front-loaded, and the supporting use case is stated in the second sentence. No unnecessary words or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and is a simple listing operation, the description fully covers what an agent needs to know: what is listed, for whom, and why. The examples clarify scope. Nothing essential is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the input schema is empty with 100% coverage. No parameter documentation is needed. The description does not attempt to explain nonexistent parameters, so a baseline 4 is appropriate as per the guidelines.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'List every public API operation Monitors can watch' with specific examples of platforms (Twitter/X, Instagram, TikTok, Reddit). It distinguishes itself from sibling monitor tools like monitors_list or monitors_create by focusing on source enumeration. The verb 'list' and resource 'public API operation' are 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Powers the monitor-creation flow' provides clear context for when to use this tool — when setting up monitors. It does not explicitly name alternatives or exclusions, but it implicitly distinguishes from other monitor operations. The guidance is adequate for an agent to understand it's a prerequisite for creating monitors.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitors_triggerManually trigger a monitor pollAInspect

Queue an immediate check for an active monitor (async — returns once queued, not once the check finishes).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that the operation is async and returns once queued, not after the check completes. This adds valuable behavior beyond the annotations (readOnlyHint=false indicates a write). It also hints at the 'active monitor' requirement, though it doesn't elaborate on failure modes or side effects. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the primary action, and includes the key behavioral nuance (async) without extra words. Exemplary conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple trigger tool: explains the action and async return. However, it omits explicit parameter binding, doesn't clarify error conditions (e.g., if the monitor is inactive or nonexistent), and offers no details on the return value's shape. The gaps are notable but not crippling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no description for 'id' (0% coverage), and the description does not explicitly state that 'id' refers to the monitor ID. While the tool name and title imply it, the agent is left to infer the binding. This is a significant gap given the single parameter and lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'Queue', resource 'monitor', and adds clarifying detail about the async behavior. This clearly distinguishes it from sibling tools like monitors_list, monitors_get, and monitors_checks_list, which cover listing, retrieval, and check history respectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear when to use it (to trigger an immediate check on an active monitor) but does not explicitly contrast it with alternatives or state prerequisites (e.g., that the monitor must exist and be active). It provides context without exclusions, falling 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.

monitors_updateUpdate a monitorAInspect

Update a monitor's name, schedule, webhook endpoint, spend cap, or status (pause/resume).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
typeNo
statusNo
minutesNo
timezoneNo
expressionNo
spendCapCreditsNo
webhookEndpointIdNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, so this is a mutation, which aligns with the description's 'Update'. The description adds the scope of what can be updated (fields list), providing some behavioral context beyond the simple mutation flag, but it does not disclose potential side effects, reversibility, or prerequisites such as permissions. The description is consistent with annotations and adds a small amount of detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the purpose and lists the updateable aspects. There is no wasted wording, and it is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters and no output schema, this description is too sparse. It fails to explain the scheduling configuration (how type, minutes, and expression interact), the fact that only the provided parameters are updated, or what the response might contain. The description leaves critical operational details to be inferred by the agent, making it inadequate for correct invocation without additional investigation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the tool description carries the full burden of explaining parameters. It groups fields (name, schedule, webhook endpoint, spend cap, status) but does not clarify the semantics of each parameter, such as the relationship between type, minutes, and expression for schedule, or how webhookEndpointId and spendCapCredits should be used. There is no mention of optionality beyond the required id, and the enum values for type and status are left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Update' and the resource 'a monitor', and enumerates the specific aspects that can be changed (name, schedule, webhook endpoint, spend cap, status). This precisely distinguishes it from sibling tools like monitors_create, monitors_delete, and monitors_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose implies that this tool is for modifying an existing monitor, but the description does not explicitly state when to use it versus alternative tools like monitors_create or monitors_delete. There is no mention of exclusions or conditions, so usage context is only inferred from the tool's name and the update semantics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nl_ask_postAsk in natural languageA
Read-only
Inspect

Route a natural-language social-data question to the right lookup when you do not yet know the typed tool — prefer typed tools once the operation is known. Accepts a natural-language query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural-language question to route to a public API lookup.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds marginal context beyond these — that it routes to a 'public API lookup' — which clarifies the dispatch nature and open-world return. No contradiction with annotations; the added behavioral value is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with the core routing purpose and the 'prefer typed tools' guidance front-loaded. Minimal waste, though the phrase 'Accepts a natural-language query' is slightly redundant given the parameter description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a router dispatching across ~200 social-data tools, the description gives the essential decision rule but leaves gaps: behavior when routing fails or is ambiguous, and the boundary against web_ask_run. The output is open-world and unspecified, so an agent lacks full expectations, but the single fully-described parameter mitigates this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the single 'query' parameter is already described in the schema as 'Natural-language question to route to a public API lookup.' The description echoes this nearly verbatim without adding syntax, format, or example details. Baseline 3 applies since the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Route'), resource (natural-language social-data question → lookup), and scope ('social-data'). It clearly positions itself against the hundreds of typed sibling tools. However, it does not disambiguate from web_ask_run, the closest NL-routing sibling, 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit routing rule: 'prefer typed tools once the operation is known', telling the agent when NOT to use this tool. This is actionable guidance against a large typed-tool surface. It omits mention of web_ask_run as an alternative for non-social questions, leaving a gap, so not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pinterest_board_pins_listList Pinterest board pinsA
Read-only
Inspect

List public pins on a Pinterest board by URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Pinterest board.
trimNoWhen true, returns a smaller response with fewer fields.
cursorNoOpaque pagination cursor returned by a previous response.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, establishing a safe read operation. The description adds that it returns a list and mentions cursor pagination, but this is partially redundant with the schema's cursor field description. No additional behavioral context like rate limits or response format is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no fluff; purpose is front-loaded and the pagination hint is placed second. Every word earns its place, and the structure is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full schema coverage and safety annotations, the description covers the essentials: what it lists, how it takes input, and pagination behavior. It lacks details on return fields or trim behavior, but these are not critical for basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters (url, trim, cursor) are already documented. The description's mention of cursor pagination adds minimal value beyond the schema. No new parameter details are introduced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Explicitly states it lists public pins on a Pinterest board by URL, clearly distinguishing it from siblings like pinterest_pin_get (single pin) and pinterest_search_pins_list (search). The verb 'list' and the resource 'public pins on a Pinterest board' are precise 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implicit usage context through 'by URL' and 'public pins', but does not explicitly name alternatives or exclusion conditions. No mention of when to prefer this over pinterest_profile_boards_list or pinterest_search_pins_list, leaving the agent to infer from naming conventions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pinterest_pin_getGet Pinterest pinA
Read-only
Inspect

Fetch a public Pinterest pin by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Pinterest pin.
trimNoWhen true, returns a smaller response with fewer fields.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety and external-data aspects. The description adds the specific constraint that only 'public' pins can be fetched, which is valuable beyond the annotations. It does not contradict annotations, and the behavior is consistent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. It front-loads the core action and the key qualifier 'public' upfront, making it immediately scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two documented parameters and no output schema, the description provides the essential information: it fetches a public pin by URL. It does not describe the response structure, but the tool name and parameters imply a pin object. The trim parameter is explained in the schema, so the description is reasonably complete for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'url' and 'trim' documented. The description simply says 'by URL', which reinforces the url parameter but adds no new meaning. The trim parameter is not mentioned, but the schema adequately explains it. The description meets the baseline for high schema coverage without enhancing parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Fetch') and resource ('public Pinterest pin') and specifies the method ('by URL'). It clearly distinguishes from siblings like pinterest_board_pins_list (listing pins in a board) and pinterest_search_pins_list (searching pins), which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it: when you have a specific pin URL. However, it does not explicitly mention alternatives or state when not to use it (e.g., 'For searching pins, use pinterest_search_pins_list instead'). The context is somewhat clear but not explicit about exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pinterest_profile_boards_listList Pinterest profile boardsA
Read-only
Inspect

List public boards for a Pinterest profile. Accepts a handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoWhen true, returns a smaller response with fewer fields.
cursorNoOpaque pagination cursor returned by a previous response.
handleYesPinterest username whose boards should be listed.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and open-world behavior, but the description adds valuable context: it returns a list and explains that pagination is handled via a cursor. It also clarifies the 'public' scope of boards, which are behavioral traits not covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, using three short fragments: the main purpose, the input (handle), and the return behavior with pagination. It is front-loaded with the core action and contains no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no output schema, the description covers the essential aspects: what it does, the key input, and pagination behavior. It omits details like error handling or empty results, but these are not critical for a basic read-only listing tool. The description is adequately complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters are described in the schema. The description adds only a brief note about cursor usage for pagination, which is already implied by the schema. It provides minimal additional semantic value beyond what the schema already offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'List public boards for a Pinterest profile' with a specific resource and scope. It explicitly mentions 'boards' which distinguishes it from sibling tools like pinterest_board_pins_list. The purpose is unambiguous and informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage from the name and context (list boards for a profile) but provides no explicit guidance on when to use this tool over alternatives. It does not mention which sibling tools to consider or when not to use it, 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.

pinterest_search_pins_listSearch Pinterest pinsA
Read-only
Inspect

Search public Pinterest pins by keyword. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoWhen true, returns a smaller response with fewer fields.
queryYesSearch query text for Pinterest pins.
cursorNoOpaque pagination cursor returned by a previous response.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations readOnlyHint=true and openWorldHint=true already establish a safe, read-only, open-world operation. The description adds behavioral detail beyond this: it returns a list and explicitly mentions pagination via a cursor. It also specifies 'public' content scope. This enriches the agent's understanding without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two terse sentences with zero filler. The primary operation is front-loaded, and the pagination hint is provided in the second sentence. Every word earns its place, making it highly scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a simple search operation with three parameters, all thoroughly described in the schema. The description provides the return type (list) and pagination guidance, and the annotations confirm safety. It does not describe response fields or limits, but for a search tool with an open-world hint, this is sufficient. A minor gap is the lack of distinction from other platform search tools, but the Pinterest-specific naming handles that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters are already documented. The description's mention of 'use cursor when paginated' reinforces the cursor parameter but adds no new meaning. The trim parameter is not addressed in the description, but since the schema covers it, the description does not need to repeat it. This aligns with the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (search), the resource (public Pinterest pins), and the method (by keyword). It also indicates the return type (a list). This distinguishes it from sibling tools like pinterest_board_pins_list (which lists pins within a specific board) and pinterest_pin_get (which fetches a single pin). The scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys the primary use case: keyword-based search for public Pinterest pins. It implies that this tool is for finding pins via textual queries, but it does not explicitly mention alternatives or state when not to use it (e.g., for board-specific listings). The clear keyword focus and 'public' qualifier provide adequate context, though explicit exclusions would elevate the score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reddit_post_comments_listList Reddit post commentsA
Read-only
Inspect

List comments on a Reddit post by URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Reddit post.
trimNoWhen true, requests a lighter response shape when available.
cursorNoOpaque cursor from a previous response to fetch another page of comments or replies.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, establishing safety and dynamic nature. The description adds behavioral detail by stating it 'Returns a list (use cursor when paginated)', which discloses the return type and pagination mechanism. This goes beyond annotations and helps the agent understand output handling, though it doesn't cover rate limits or auth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two crisp sentences with zero filler. The primary purpose is front-loaded, and the behavioral note on pagination is appended succinctly. Every word adds value, making it highly efficient for agent parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with 3 parameters and no output schema. The description covers the core action and pagination behavior. While it doesn't describe the comment object shape, the absence of an output schema makes that optional. The schema handles parameter details, so the description is adequately complete for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with clear descriptions for all three parameters (url, trim, cursor). The description adds nothing substantially new about parameters beyond reinforcing that cursor is for pagination, which the schema already states ('fetch another page'). Baseline 3 applies because the schema fully documents parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: 'List comments on a Reddit post by URL.' It identifies the resource (Reddit post), the operation (list comments), and the input method (URL). This clearly differentiates it from sibling comment-list tools on other platforms like facebook_post_comments_list or youtube_video_comments_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly mention when to use this tool versus alternatives or exclude any usage. It implies usage for Reddit post comments, but does not name related tools (e.g., reddit_post_get for post details) or state conditions when not to use it. The clear purpose partially compensates, but explicit guidance is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reddit_post_getGet Reddit postB
Read-only
Inspect

Get a Reddit post by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Reddit post.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, which inform the agent this is a safe read operation. The description adds no behavioral detail beyond that—no mention of response format, potential errors, or side effects. It does not contradict the annotations, but it also contributes no extra transparency, so the score matches the baseline for annotation-covered tools.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded with the essential information: the action and the parameter. Every word earns its place, and there is no unnecessary verbosity. This is exemplary for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a single parameter and no output schema, the description provides enough information for an agent to invoke it correctly: it takes a URL and returns the post. Given the tool's low complexity and the annotations covering safety, the description is adequate, though it could hint at what the response contains (e.g., post metadata and content) to be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage of the single parameter 'url' with the description 'Link to the Reddit post.' The description text 'by URL' merely reiterates what the schema conveys, adding no new meaning. With full schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get'), the resource ('Reddit post'), and the identifying mechanism ('by URL'). It is specific and not a tautology, though it does not explicitly differentiate from sibling tools like reddit_post_comments_list or reddit_post_transcript_get. However, the single-purpose nature of a post fetch makes it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as reddit_post_comments_list for comments or reddit_post_transcript_get for transcripts. The description simply states what it does without any context about selection criteria, prerequisites, or what constitutes an appropriate use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reddit_post_transcript_getGet Reddit post transcriptA
Read-only
Inspect

Get captions transcript for a Reddit video post. Accepts a post or video URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Reddit post or hosted video.
languageNoOptional ISO 639-1 language code (two letters) to prefer when multiple caption tracks exist.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds that it accepts both post and video URLs, which is useful behavioral detail. However, it does not disclose behaviors like returning null when no captions exist or any rate limiting. With annotations carrying the primary safety context, this is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The primary verb and resource are front-loaded ('Get captions transcript'), and the URL flexibility is stated succinctly. This is exemplary conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters, no output schema, and annotations covering read-only behavior, the description is nearly complete. It explains the purpose and the accepted input format. The only minor gap is not explicitly stating that the return value is the transcript text, but this is strongly implied by the name and description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and both parameters (url and language) are described in the schema. The description adds marginal value by noting the URL can be a post or video link, which slightly extends the schema's description. Since the schema already explains the language parameter, the description does not meaningfully improve parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: retrieving the captions transcript for a Reddit video post. It distinguishes itself from related Reddit tools like reddit_post_get (which likely returns post metadata) and reddit_post_comments_list (comments) by focusing on captions. The added detail that it accepts both post and video URLs further clarifies scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context that this is for video posts and accepts post or video URLs, but it does not explicitly state when to use this tool over alternatives, nor does it mention exclusions (e.g., non-video posts). While an agent can infer usage, there is no direct guidance about when to choose this over reddit_post_get or other transcript tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reddit_search_listSearch Reddit postsA
Read-only
Inspect

Search Reddit posts site-wide by keyword (not scoped to one subreddit — use reddit.subreddit.search.list for that). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoWhether to request a smaller response shape when available.
queryYesSearch query text for public Reddit posts.
cursorNoOpaque pagination cursor returned by a previous response.
sortByNoOptional sort order for search results.
timeframeNoOptional time range filter for search results.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety. The description adds that it returns a list and notes pagination via cursor, which is useful behavioral context beyond the annotations. It doesn't contradict anything.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. It front-loads the core action and scope, then immediately provides the differentiation and pagination hint. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with a small, fully documented schema and no output schema, the description is sufficient. It covers the key behavior (site-wide search) and pagination. It doesn't detail response fields or error handling, but those are not strictly necessary given the simple nature of the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters (query, trim, cursor, sortBy, timeframe) are documented in the schema. The description adds no parameter-specific semantics beyond the schema; it merely mentions keyword and cursor, which are already described.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches Reddit posts site-wide by keyword, using a specific verb and resource. It explicitly distinguishes from the subreddit-scoped search by naming the sibling tool (reddit.subreddit.search.list), making its scope 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage guidance: it states the tool is site-wide, not subreddit-scoped, and directs the agent to the alternative for that use case. It also advises using the cursor for pagination, which is a concrete usage instruction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reddit_subreddit_getGet Reddit subredditB
Read-only
Inspect

Get details for a Reddit community (subreddit).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional subreddit URL for the request.
subredditNoSubreddit name, optional `r/` prefix, or Reddit subreddit URL. Must match Reddit's exact casing.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnlyHint=true and openWorldHint=true, so the description is not required to restate those. It adds minimal behavioral context beyond 'get details', not mentioning what 'details' includes or any constraints. This is adequate given the annotations, but it does not enrich the agent's understanding of side effects or data variability.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundant words. It efficiently conveys the tool's purpose without extraneous detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 could clarify what 'details' returns (e.g., subscribers, description, rules). Without that, the agent may not know whether this tool fulfills its need. However, the low complexity and clear naming partially compensate, making the description adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters (url and subreddit) are fully described in the input schema with 100% coverage. The description adds no extra meaning about how to use them, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get details for a Reddit community (subreddit)' clearly states the action and resource, distinguishing it from related siblings like reddit_subreddit_posts_list (which lists posts) or reddit_search_list (which searches). However, it does not explicitly name alternatives or differentiate itself, so 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or typical scenarios, leaving the agent to infer usage 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.

reddit_subreddit_posts_listList Reddit subreddit postsA
Read-only
Inspect

List a subreddit's post feed (hot/new/top, no keyword) — use reddit.subreddit.search.list to search within it by keyword. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoOptional sort order for the returned posts.
cursorNoOpaque pagination cursor from a previous response.
subredditYesSubreddit name, optional `r/` prefix, or Reddit subreddit URL. Must match Reddit's exact casing. Lists posts for this subreddit.
timeframeNoOptional timeframe used only when `sort` is `top`. Ignored/rejected for other sorts.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only and open-world behavior; the description adds pagination expectations ('Returns a list (use cursor when paginated)'). It also reinforces that this is a feed listing rather than a search, adding useful behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise clauses convey purpose, the alternative tool, and pagination behavior with no filler. The most important decision-relevant fact ('no keyword') is front-loaded before the sibling pointer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with a rich schema and read-only annotations, the description covers the essential invocation details, including pagination. It does not describe the shape of returned posts, but the lack of an output schema is partially mitigated by naming the resource as a post feed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are fully documented in structured form. The description adds a small amount of semantic context (feed sorts and cursor usage) but does not need to extensively explain parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does 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 a subreddit's post feed'. It also signals the key limitation ('no keyword') and distinguishes this tool from a keyword search, so an agent immediately knows what the tool does and 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly tells the agent to use the sibling search tool 'reddit.subreddit.search.list' when keyword search is needed, giving both when-to-use and when-not-to-use guidance. The alternative maps directly to the sibling reddit_subreddit_search_list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reddit_subreddit_search_listSearch Reddit subredditA
Read-only
Inspect

Search posts within one subreddit (not site-wide — use reddit.search.list for that). Accepts a subreddit and query. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort order for search results. Default: `relevance`.
queryNoSearch text to match against public subreddit posts.
cursorNoOpaque pagination cursor returned by a previous response.
subredditYesSubreddit name, optional `r/` prefix, or Reddit subreddit URL. Must match Reddit's exact casing. Searches posts within this subreddit.
timeframeNoTime range filter for search results. Default: `all`.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds scope (one subreddit) and output behavior (returns a list, cursor for pagination). It does not mention rate limits, auth, or other behavioral quirks, but the annotation covers the safety profile adequately.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with the main purpose and scope front-loaded. There is no filler, and the alternative tool is called out efficiently. Excellent for agent readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-param tool with full schema coverage and no output schema, the description covers scope, output type (list), and pagination. It implies results are posts but does not explicitly state that. Defaults (sort, timeframe) are documented in the schema, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% description coverage for all 5 parameters, so baseline 3 applies. The description adds a note about cursor for pagination and restates the subreddit scope, but does not add substantive 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Search posts within one subreddit' — a specific verb, resource, and scope — and explicitly contrasts with site-wide search via 'use reddit.search.list for that'. This distinguishes it from its sibling reddit_search_list without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit when-not-to-use instruction by pointing to reddit.search.list for site-wide queries, and also advises 'use cursor when paginated'. However, it does not address when to choose this over reddit_subreddit_posts_list (which lists posts without searching), leaving some implicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rumble_channel_videos_listList Rumble channel videosA
Read-only
Inspect

List videos and Shorts from a Rumble channel. Accepts a channel URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Rumble channel.
cursorNoPage number from a previous response.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=true, so the description doesn't need to repeat that. It adds extra behavioral context by noting pagination with a cursor, which is not covered by annotations. This is a useful addition beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. It front-loads the purpose and immediately adds the key pagination note. Every word earns its place; no unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with read-only and open-world annotations, the description covers the essential aspects: what it lists, input required, and pagination behavior. It doesn't mention output format, but that's not required without an output schema. It's complete enough for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%—both url and cursor have descriptions. The description adds minimal semantic value by reiterating that a channel URL is accepted and cursor is for pagination, which the schema already implies. It doesn't go beyond the schema but doesn't conflict. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'videos and Shorts from a Rumble channel'. It also notes the input (channel URL) and the output behavior (returns a list). This distinguishes it from sibling tools like rumble_search_list or rumble_video_get by targeting channel-level video listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool over alternatives or when not to use it. It implies usage (when you want to list all videos from a specific channel), but no exclusions or comparison are given. Sibling names like youtube_channel_videos_list suggest similar tools, but no routing guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rumble_search_listSearch RumbleA
Read-only
Inspect

Search Rumble for videos and Shorts by keyword. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query text for Rumble content.
cursorNoPage number from a previous response.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations assert readOnlyHint and openWorldHint, covering safety. The description adds that it returns a list and mentions cursor-based pagination, which goes beyond annotations. However, it does not describe the list item structure, error behavior, or rate limits, so it only partially enriches the behavioral picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence that front-loads the core purpose and includes a critical operational detail (pagination) without any filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only search with two well-documented parameters, the description covers the essentials: what it searches, that it returns a list, and pagination guidance. However, without an output schema, it does not explain what fields the returned list contains or any sorting/filtering nuances, leaving a moderate gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both query and cursor are already documented. The description reinforces that query is a keyword and implies pagination via cursor, but adds little beyond the schema. Baseline of 3 is appropriate because the schema handles parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Search), a specific resource (Rumble videos and Shorts), and a keyword basis. This clearly distinguishes it from sibling Rumble tools like rumble_channel_videos_list or rumble_video_get, and from similar search tools on other platforms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a pagination usage hint ('use cursor when paginated') but does not explicitly state when to use this tool versus alternatives like rumble_channel_videos_list for channel-specific content. The usage context is implied by the tool name and platform, but exclusions are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rumble_video_comments_listList Rumble video commentsA
Read-only
Inspect

List top-level comments on a Rumble video. Accepts a video URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Rumble video.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true, so the description's additional mention of returning a list and using a cursor for pagination adds useful behavioral context. However, it does not disclose error conditions, rate limits, or how the cursor parameter is supplied (it is not in the schema). A score of 3 reflects partial added value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct with three short, information-dense sentences. Purpose is front-loaded, and no redundant information is present. It earns full marks for efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter, no output schema, and read-only annotations, the description covers the core behavior: lists top-level comments, accepts a video URL, returns a list, and suggests cursor pagination. It does not describe the structure of each comment (e.g., fields like text, author, timestamp), which could be inferred from context but is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter is fully described in the schema ('Link to the Rumble video.'), and the tool description repeats this ('Accepts a video URL.'). No additional format, validation, or examples are provided. With 100% schema coverage, the description adds minimal semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action (list top-level comments) on a specific resource (Rumble video), clearly distinguishing it from sibling tools like rumble_video_get (fetch video details) and rumble_channel_videos_list (list videos in a channel). The qualifier 'top-level' clarifies the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It implies that a video URL is required and that it lists comments, but does not mention when not to use it (e.g., for replies) or any prerequisites. Sibling comment tools on other platforms exist, but no cross-referencing is done.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rumble_video_getGet Rumble videoA
Read-only
Inspect

Get metadata for a Rumble video by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Rumble video.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is clear. The description adds no extra behavioral details such as error handling, rate limits, or return format. Since the annotations cover the safety aspects, the description's silence is acceptable, but it doesn't add beyond what annotations provide. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no filler. It front-loads the core action ('Get metadata') and the method ('by URL'), making it easy to parse. Every word serves a purpose, and it is appropriately concise for such a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a single parameter, no output schema, and annotations covering safety, this description is complete. It tells the agent exactly what the tool does and what input is required. No additional context is needed to invoke it correctly, as the operation is straightforward and side-effect-free.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% because the only parameter 'url' is described as 'Link to the Rumble video.' The description itself adds no additional meaning beyond the schema. Since the schema already documents the parameter adequately, the baseline of 3 applies; the description does not enrich the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get metadata for a Rumble video by URL'. It clearly identifies the operation and the resource type. While it doesn't explicitly differentiate from sibling tools like rumble_video_comments_list or rumble_video_transcript_get, the phrase 'metadata' implies a distinct scope, and the presence of 'by URL' distinguishes it from list/search tools. The purpose is clear, though not fully disambiguated from other Rumble video tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It doesn't mention when to use it over rumble_video_comments_list or rumble_video_transcript_get, nor does it state any prerequisites or exclusions. An agent must infer that this tool is for basic metadata only, which could lead to incorrect tool selection when comments or transcripts are needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rumble_video_transcript_getGet Rumble video transcriptA
Read-only
Inspect

Get captions for a Rumble video when available. Accepts a video URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Rumble video.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=true is reinforced by the description, and the description adds a key behavioral detail: captions are returned only 'when available'. This discloses that the tool may not return results for videos without captions, which is beyond what annotations provide. However, it does not mention error behavior, output format, or rate limits, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and very concise. It front-loads the purpose and then clarifies input. However, the second sentence ('Accepts a video URL') is largely redundant with the schema parameter description, so it adds minimal value. The overall compactness is good, but the redundancy prevents a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a single parameter, no output schema, and simple semantics, the description covers the essential information: what it does and when it works. The 'when available' condition handles the main edge case. Missing details like output format or pagination are not critical given the tool's simplicity, but could have been more explicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with the parameter description 'Link to the Rumble video.' The description's phrase 'Accepts a video URL' adds no new semantic value beyond the schema. Since the schema already fully documents the parameter, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Get'), resource ('captions for a Rumble video'), and a condition ('when available'). It is specific to Rumble videos, distinguishing it from the many similar transcript retrieval tools in its sibling set (e.g., youtube_video_transcript_get, tiktok_video_transcript_get). However, it does not explicitly name any alternative, so differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when captions for a Rumble video are needed) but provides no explicit guidance on when not to use it, alternatives, or edge cases. Given the tool's single-purpose nature and the clarity of the name, this is adequate but lacks the explicit routing seen in high-quality definitions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

soundcloud_profile_getGet SoundCloud profileB
Read-only
Inspect

Get a SoundCloud profile by handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesSoundCloud handle to look up, with or without a leading @.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds no additional behavioral details such as rate limits, auth requirements, or response quirks. Since annotations carry the burden and the description is consistent, a neutral 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence: 'Get a SoundCloud profile by handle.' All words are relevant, and it is front-loaded with the action and resource. There is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 explain what the profile contains or what the response looks like. It does not. An agent may not know whether the profile returns basic info (name, URL) or detailed stats. This is a notable gap for a tool that returns data without schema guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema descriptions cover 100% of parameters. The handle parameter is described as 'SoundCloud handle to look up, with or without a leading @', which is clear. The description merely restates 'by handle' without adding new meaning, so it matches the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Get' and the resource 'SoundCloud profile' with the method 'by handle'. This clearly distinguishes it from sibling tools like soundcloud_profile_tracks_list and soundcloud_track_get, which deal with tracks. 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention when to prefer this over other profile getters (e.g., instagram_profile_get) or when to use the track-related SoundCloud tools. There is no implicit or explicit context beyond the tool name itself, so an agent receives no routing assistance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

soundcloud_profile_tracks_listList SoundCloud profile tracksA
Read-only
Inspect

List a SoundCloud profile's tracks, newest first. Accepts a handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque pagination cursor from a previous response.
handleYesSoundCloud handle whose tracks should be listed.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the read-only nature is covered. The description adds useful behavioral details (newest first, pagination via cursor), but does not disclose error behavior, rate limits, or response format beyond 'a list'. Given the annotations, the added context is modest but not negligible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences with zero fluff. It front-loads the action, then adds ordering, required input, and pagination note. Every clause carries information; no redundant phrases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no output schema, the description gives the essential action and pagination hint. However, it does not describe what the returned list items look like (e.g., track metadata) or any failure cases. Given the presence of sibling get tools, a bit more detail about output structure would improve completeness, but the basics are covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes both parameters (handle and cursor) with 100% coverage, so the description adds no new meaning. It merely restates that a handle is used and cursor is for pagination, both already present in the schema. Baseline of 3 is appropriate when schema fully documents parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (List), the resource (SoundCloud profile's tracks), and the ordering (newest first). It is specific enough to distinguish from generic list tools, though it does not explicitly differentiate from sibling SoundCloud tools like soundcloud_profile_get or soundcloud_track_get, which are unambiguous from their names.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minor usage context: it accepts a handle and notes pagination via cursor. However, it does not explain when to choose this tool over alternatives, nor does it mention exclusions or prerequisites. The sibling tools are not referenced, leaving the agent to infer appropriate usage 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.

soundcloud_track_getGet SoundCloud trackA
Read-only
Inspect

Get a SoundCloud track by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the SoundCloud track.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds no additional behavioral context beyond the fact that it requires a URL (already in the schema). There is no contradiction, but no extra disclosure either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the core purpose, and contains no extraneous information. It is concise and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get tool with one parameter and no output schema, the description is adequate. It does not describe the return format, but that is not strictly required. It covers the essential use case without missing critical details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% coverage of the parameter with 'Link to the SoundCloud track.' The description does not add any further meaning or constraints beyond what the schema already offers, so it meets the baseline but adds no value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get'), a clear resource ('SoundCloud track'), and the method ('by URL'). It distinguishes itself from sibling tools like soundcloud_profile_get and soundcloud_profile_tracks_list, which target profiles or lists rather than individual tracks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: if you have a track URL, use this tool. However, there is no explicit guidance on when not to use it or mention of alternatives like soundcloud_profile_tracks_list for fetching multiple tracks. The context is 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.

spotify_album_getGet Spotify albumA
Read-only
Inspect

Get a Spotify album by id or album URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional Spotify album URL for the request.
albumIdNoOptional Spotify album id for the request.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safe read behavior is covered. The description adds no extra behavioral context (e.g., response format, data fields, rate limits). It only restates the input mechanism, which is schema-level information. Since it adds nothing beyond the annotations, a low score is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that states the action and the two acceptable inputs. Every word earns its place, and the core purpose is front-loaded. No filler or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only get tool with no output schema, the description is adequate but not complete. It doesn't explicitly state that exactly one of the two optional parameters is required, nor does it hint at what the response contains. Given the low complexity, these gaps are minor but still exist.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning both 'url' and 'albumId' are already documented in the schema. The description only adds the phrase 'by id or album URL', which is redundant with the schema. It doesn't clarify that at least one is required or explain the interplay between them, so it adds no value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and the resource ('a Spotify album') and specifies the two input forms ('by id or album URL'). It distinguishes itself from siblings like spotify_artist_get and spotify_track_get by explicitly naming 'album'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context by stating that an album id or URL is needed. It doesn't explicitly exclude alternatives or compare with sibling tools, but the resource-specific name and the input specification make the intended usage clear. No misleading guidance is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spotify_artist_getGet Spotify artistA
Read-only
Inspect

Get a Spotify artist by id or profile URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional Spotify artist URL for the request.
artistIdNoOptional Spotify artist id for the request.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the bar is lower. The description adds the identification methods (id or URL), but this is already captured in the parameter schema descriptions, providing minimal new behavioral context. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It states the action, resource, and input method efficiently, making it easy for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only get tool, the description is mostly adequate, but it does not clarify that at least one of the two optional parameters should be provided, nor does it describe the return value (since there is no output schema). This leaves minor ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%—both parameters (url and artistId) have clear descriptions. The description's mention of 'id or profile URL' simply restates what the schema already provides, adding no additional meaning beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a Spotify artist by id or profile URL' uses a specific verb and resource, clearly distinguishing it from sibling tools like spotify_album_get and spotify_track_get. It also names the two acceptable identification methods.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the tool name and description (if you need a Spotify artist, use this), but there is no explicit statement of when to use this over alternatives or any exclusions. It does not reference other artist-related tools or platforms.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spotify_track_getGet Spotify trackA
Read-only
Inspect

Get a Spotify track by id or track URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional Spotify track URL for the request.
trackIdNoOptional Spotify track id for the request.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds little beyond the obvious 'get' operation; it does not disclose any edge cases or response behavior, but given the tool's simplicity, the annotations suffice. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, information-dense sentence with no filler. It front-loads the purpose and identification method, achieving maximum clarity with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only get operation with complete parameter documentation and clear annotations, the description covers all essential information. The absence of an output schema is acceptable as the purpose is self-evident.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema documents both parameters with descriptions at 100% coverage, so the baseline is 3. The description's mention of 'by id or track URL' adds only slight clarification that the two are alternatives, which is not explicitly stated in the schema, but adds minimal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Get'), a specific resource ('Spotify track'), and the exact method of identification ('by id or track URL'). This distinguishes it from sibling tools like spotify_album_get and spotify_artist_get without any ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly communicates that the tool is for fetching a track and specifies the two accepted identifiers. It does not explicitly name alternatives or provide 'when not to use' guidance, but the context is unambiguous given the tool's name and the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

telegram_channel_getGet Telegram channelA
Read-only
Inspect

Get metadata for a public Telegram channel or group by username.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTelegram public username (channel or group), with or without leading @.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds the 'public' constraint, which is a meaningful limitation not captured elsewhere. It also specifies 'by username' as the lookup method. While it doesn't discuss auth or rate limits, the added context about public-only access and the read-only nature goes beyond the annotations, earning a 4.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the purpose. There is zero waste; it states the action, the resource, and the input in one line. This is an exemplar of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter and no output schema, the description provides enough context for an agent to invoke it correctly. The 'public' constraint and username-based lookup are covered. While return fields are unspecified, the read-only nature and simplicity make it adequate; a score above 4 would require more detail about output, and below 3 would be too harsh given the annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description covers the parameter fully (100% coverage), including the format with or without leading '@'. The tool description adds no further meaning beyond restating 'by username', which is already in the schema. Baseline of 3 is correct because the schema handles the semantic burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get'), the resource ('metadata for a public Telegram channel or group'), and the input method ('by username'). It explicitly distinguishes from sibling tools like telegram_channel_post_get and telegram_channel_posts_get, which focus on posts rather than metadata, so there is no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly mention when to use this tool versus alternatives, nor does it provide exclusions. However, the purpose is self-evident: it is the only tool for retrieving channel/group metadata, while siblings handle posts. Usage is implied rather than stated, so a score of 3 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

telegram_channel_post_getGet Telegram channel postA
Read-only
Inspect

Get a single public post from a Telegram channel by handle and post ID. Groups are not supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTelegram public username (channel or group), with or without leading @.
postIdYesNumeric Telegram channel post ID from the public URL.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true, so the safe-read nature is covered. The description adds the constraint that groups are not supported and that it only retrieves public posts, which is valuable behavioral context. However, it doesn't describe response format, error behavior, or rate limits, which would be additional 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core purpose and ends with a clear limitation. No filler or redundant information; every word contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter getter with no output schema, the description is complete. It specifies the resource, the input, the public scope, and the unsupported case (groups). Nothing critical for an agent to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both handle and postId fully described. The description merely reiterates 'by handle and post ID' without adding new meaning beyond the schema. Since the schema does the heavy lifting, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (get a single public post), the resource (Telegram channel), and the specific identifiers (handle and post ID). The word 'single' distinguishes it from sibling tools like telegram_channel_posts_get and telegram_channel_get, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: when you have a specific post ID from a public channel. It explicitly excludes groups, which is a useful limitation. However, it doesn't name alternative tools for listing posts or channel metadata, so the guidance is clear but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

telegram_channel_posts_getList Telegram channel postsA
Read-only
Inspect

List recent posts from a public Telegram channel. Groups are not supported. Accepts a handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque pagination cursor from a previous response. Omit for the first page.
handleYesTelegram public username (channel or group), with or without leading @.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the description doesn't need to repeat safety. It adds value by disclosing that groups are not supported (a behavioral constraint not in annotations) and that pagination is handled via a cursor. This goes beyond the structured annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences, each serving a distinct purpose: stating the action, exclusions, and pagination. It is front-loaded and contains no fluff, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with two parameters and no output schema, the description covers the core aspects: what it does, the constraint on groups, and pagination. However, it leaves ambiguity around 'recent' (time window, limits) and the schema contradiction creates a gap. Adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage, so the description isn't required to explain parameters, but it introduces a conflict: the schema's handle description says 'channel or group' while the tool description says 'Groups are not supported.' This contradiction can confuse an agent about the semantics of the handle parameter. The description corrects the schema but does so in a way that undermines clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'List recent posts from a public Telegram channel.' It specifies the resource (posts), the scope (public channel), and differentiates from siblings like telegram_channel_post_get (singular) and telegram_channel_get. The explicit exclusion of groups further clarifies intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context (public channel, groups not supported) that helps decide if the tool is applicable, but it does not explicitly compare to alternatives like telegram_channel_post_get or mention when to prefer this over other list tools. The guidance is implicit rather than explicit, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threads_post_getGet Threads postA
Read-only
Inspect

Get a single Threads post by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Threads post.
trimNoWhen true, returns a smaller response with fewer fields.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds no additional behavioral context such as rate limits, authentication requirements, or response format. It states the core action but does not disclose any quirks beyond what the schema and annotations already imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core action and resource. It contains no filler or redundancy, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only fetch tool with two parameters and no output schema, the description is mostly complete. It clearly states the input (URL) and the action. However, it does not hint at what the response will include (e.g., full post content, metadata), but given the simplicity and the presence of a trim parameter to control response size, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both 'url' and 'trim' have descriptive text. The description adds no extra meaning beyond the schema. The baseline of 3 is appropriate since the schema already documents the parameters sufficiently.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Get') on a specific resource ('a single Threads post') and clarifies the input mechanism ('by URL'). This distinguishes it from siblings like threads_profile_get (for profiles) and threads_profile_posts_list (for lists of posts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. It mentions no conditions, exclusions, or alternative tools. The intended usage is only implied by the tool name and description, but there is no explicit routing between this and other post-getting or list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threads_profile_getGet Threads profileC
Read-only
Inspect

Get a Threads profile for a creator or account. Accepts a handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesThreads handle to look up, with or without a leading @.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint: true and openWorldHint: true, so the description does not need to repeat that it is read-only. However, the description adds no behavioral context beyond the bare function—it does not mention that the profile data is public, what fields are returned, or any edge cases like handle not found. With annotations covering the safety profile, the description should ideally add more, but it remains silent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two short sentences: 'Get a Threads profile for a creator or account. Accepts a handle.' It is concise and front-loaded with the main action. The second sentence about accepting a handle is redundant with the schema but does not significantly waste space. It earns its place by being clear, though it could have been combined into one sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only operation with one parameter and no output schema, the description is minimal but functional. However, it does not mention what the response contains (e.g., profile details like username, bio, follower count) or handle edge cases. Since there is no output schema, the description should provide some hint about the returned data structure. The current description is adequate but incomplete for an agent to know what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for 'handle' already fully explains the parameter ('Threads handle to look up, with or without a leading @'), covering 100% of the parameter semantics. The description says 'Accepts a handle,' which adds no new meaning. Since schema coverage is high, the baseline of 3 applies, and the description does not provide any bonus information about parameter usage or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Get) and resource (Threads profile), specifying it applies to a creator or account and accepts a handle. This is specific enough to differentiate from other profile_get tools on different platforms, though it does not explicitly distinguish from related Threads tools like threads_profile_posts_list. The verb and resource are precise, so it meets most criteria for a 5 but lacks explicit sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that this should be used for profile information vs. posts or search, nor does it note any conditions like needing a handle. This is a simple tool, but with many sibling profile tools, some explicit usage context would help. There is no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threads_profile_posts_listList Threads profile postsA
Read-only
Inspect

List posts from a Threads profile by handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoWhen true, returns a smaller response with fewer post fields when available.
handleYesThreads handle whose posts should be listed.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnlyHint=true and openWorldHint=true, so the description is not burdened for safety disclosure. It adds value by specifying the return type ('Returns a list') and pagination behavior ('use cursor when paginated'), which are not present in the annotations or schema. This helps the agent understand what to expect without over-explaining.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with a parenthetical note, delivering the core action and a key behavioral detail without extra fluff. The essential 'List posts by handle' and pagination hint are front-loaded, making it easy for an agent to parse quickly. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with an output schema absent, the description covers the essential return type and pagination. It doesn't explain the exact structure of the list items, but the tool's straightforward nature and the presence of the schema for parameters make this acceptable. The missing explicit mention of the 'trim' parameter is a minor gap, but the schema covers it, so completeness is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%—both parameters have descriptions ('Threads handle whose posts should be listed' and 'When true, returns a smaller response...'). The description text adds no additional parameter-level meaning beyond the schema, and it does not mention the 'trim' parameter at all. It stays at the baseline because the schema already does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'List posts from a Threads profile by handle', which is a specific verb-resource pair with the key input (handle) and the resource type (posts). It clearly distinguishes itself from siblings like threads_post_get (single post) and threads_profile_get (profile info) without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that there are other profile post list tools for different platforms (e.g., bluesky_profile_posts_list) nor does it state when one might prefer this over threads_search_list. There is no 'when not to use' or exclusion criteria, leaving the agent to infer from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threads_search_listSearch Threads postsA
Read-only
Inspect

Search Threads posts by keyword. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoWhether to request a smaller response shape when available.
queryYesSearch query text for public Threads posts.
endDateNoOptional end date filter in YYYY-MM-DD format.
startDateNoOptional start date filter in YYYY-MM-DD format.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile and the fact that this hits external data. The description adds a small but useful behavioral detail: the return is a list and pagination uses a cursor. It does not go into limits, filtering semantics, or result shape, and it does not contradict annotations. Given annotations cover the main behavioral traits, the description's added value is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with two clauses: the core action ("Search Threads posts by keyword") and a return/pagination note ("Returns a list (use cursor when paginated)"). Every word serves a purpose, no filler, and the most critical information (verb, resource, behavior) is front-loaded. This is exemplary conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 parameters (one required), no output schema, and moderate complexity. The description covers the basic action and return type but lacks details that an agent might need to interpret results correctly—such as what fields the list contains, how date filters work, or that this only searches public posts (which is only in the schema's query description). It does not mention potential sibling overlaps, like threads_users_search, nor does it clarify the scope of "posts." Some context is available from the schema and annotations, but the description alone is not fully self-sufficient for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (query, trim, startDate, endDate) already has an individual description. The tool description does not add any parameter-specific meaning beyond what the schema provides, such as how query interacts with date filters or what trim actually trims. The baseline of 3 applies because the schema handles parameter documentation adequately and the description remains neutral.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ("Search") and resource ("Threads posts"), making the tool's purpose unambiguous. It naturally distinguishes from sibling tools like threads_post_get (retrieve a specific post) and threads_profile_posts_list (list posts from a profile), as this is clearly a keyword-based search across posts. The name and title align, and the description adds the key distinguishing element: searching by keyword.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: "Search Threads posts by keyword" clearly indicates when to use this tool. It also adds operational guidance ("use cursor when paginated"), which helps with iteration. However, it does not explicitly name alternatives or state when NOT to use it (e.g., when you need a specific post or a user's posts). This leaves some routing to inference, but the context is clear enough for an agent to select it for keyword searches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_adLibrary_ad_getGet TikTok Ad Library adA
Read-only
Inspect

Get a single TikTok Ad Library or Top Ads creative by ad id or public ad URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic TikTok Ad Library or Top Ads detail URL for the ad.
adIdNoTikTok Ad Library or Top Ads ad id.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description carries little burden for safety disclosure. It adds minimal extra context (e.g., that it returns a 'creative') but doesn't describe response format or any side-effect nuances. Since annotations cover the main behavioral traits, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence with no wasted words. It front-loads the core action and the two access methods, remaining highly readable and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get tool with no required parameters and no output schema, the description is largely complete: it tells you what it does, what inputs it accepts, and the fact that it returns a single creative. The only minor gap is that it doesn't explicitly state that at least one of the two parameters is expected (the schema lists both as optional), but the phrase 'by ad id or public ad URL' implies that need. This is sufficient for an agent to call it correctly, so a 4 is warranted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters are fully described in the schema (coverage 100%), so the description adds little beyond reinforcing that either id or URL can be used. The schema itself documents each parameter clearly, including the URL type and max lengths. The description does not clarify constraints like which parameter to prefer or whether both are allowed simultaneously, but at 100% schema coverage a baseline of 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Get'), a specific resource ('a single TikTok Ad Library or Top Ads creative'), and the two allowed identifiers ('by ad id or public ad URL'). This distinguishes it from the sibling search tool (tiktok_adLibrary_ads_search_get) and similar tools on other platforms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you already have an ad id or public URL, but it does not explicitly say 'use search first if you lack these identifiers' or name the alternative. The sibling list includes a search tool, and the wording 'single' vs. 'search' provides clear context, but no explicit exclusions make it a solid 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_adLibrary_ads_search_getSearch TikTok Ad Library adsA
Read-only
Inspect

Search TikTok Top Ads by keyword and filters, or search the public Ads Library by advertiser name. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
likesNoLikes percentile filter for Top Ads.
queryNoOptional keyword to search ad titles and content.
cursorNoOpaque pagination cursor from a previous response.
periodNoTime window in days for Top Ads.
regionNoCountry code for Top Ads results. Default: `US`.
orderByNoSort metric for Top Ads. `cvr`: conversion rate. `ctr`: click-through rate. `play-2s-rate`/`play-6s-rate`: rate viewers played past the 2s/6s mark. Default: `for-you`.
adFormatNoAd format filter for Top Ads. `spark-ads`: ads boosted from an organic creator/brand TikTok post. `non-spark-ads`: ads uploaded directly as ad creative, not boosted from an existing post.
durationNoVideo duration filter for Top Ads.
industryNoIndustry filter for Top Ads.
objectiveNoCampaign objective filter for Top Ads.
adLanguageNoAd language filter for Top Ads.
advertiserNameNoSearch the public TikTok Ads Library by advertiser name. When set, results come from the public Ads Library instead of Top Ads.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description doesn't need to cover safety. It adds the pagination note (use cursor) and the dual-result behavior (Top Ads vs public Ads Library), which is useful but not extensive. This is adequate given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The primary action is front-loaded, and the critical pagination guidance is included. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 12 optional parameters, a rich schema, and annotations covering read-only/open-world behavior, the description is sufficiently complete. It covers both search modes and pagination. It doesn't provide guidance on combining filters, but the schema descriptions for each parameter are self-explanatory. Nothing critical is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive text for all 12 parameters, including enums and defaults. The description only briefly mentions the cursor for pagination and the advertiserName switch, both already documented in the schema. It adds little beyond what structured data provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (search) and the two resources (TikTok Top Ads by keyword/filters, and the public Ads Library by advertiser name). It clearly distinguishes from sibling tools by platform and mode, so an agent can tell it apart from other ad search 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the two distinct usage modes (keyword/filters for Top Ads, advertiserName for the public Ads Library) and implies when each applies. However, it does not explicitly name alternatives like tiktok_adLibrary_ad_get for single-ad retrieval or other platforms' ad tools, 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.

tiktok_collection_videos_listList TikTok collection videosB
Read-only
Inspect

List videos in a public TikTok collection by URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic TikTok collection URL.
cursorNoPagination cursor returned by a previous response.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety expectations. The description adds that the tool returns a list and mentions cursor-based pagination, which is useful behavioral context. It does not contradict annotations and provides a basic sense of the output structure and handling of large result sets, though it omits other potential behaviors like rate limits or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise, consisting of two short sentences that convey the core purpose and pagination behavior in a front-loaded manner. There is no unnecessary filler or redundancy, making it easy for an agent to quickly parse the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list-by-URL tool with fully documented parameters and no output schema, the description adequately covers the primary behavior (listing videos) and pagination. However, it does not describe the format of each returned video object or any potential edge cases (e.g., invalid URL, empty collection). Given the tool's simplicity and the presence of annotations, this is acceptable but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides descriptions for both parameters ('url' and 'cursor') with 100% coverage. The description essentially reiterates these concepts ('by URL' and 'use cursor when paginated') without adding any new semantic detail or constraints. Since the schema already documents the parameters fully, the description adds minimal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists videos from a public TikTok collection identified by URL. It uses a specific verb ('List') and resource ('videos in a public TikTok collection'), and the mention of 'by URL' distinguishes it from other TikTok listing tools that use different identifiers. Though it doesn't explicitly differentiate from sibling tools like tiktok_profile_videos_list, the term 'collection' provides sufficient distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or comparisons to sibling tools that list videos (e.g., profile videos, search videos). The only hint is the resource type ('collection'), which implies usage when a collection URL is available, but this is not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_music_videos_listList TikTok music videosA
Read-only
Inspect

List TikTok videos that use a specific music clip. Accepts a clip id. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
clipIdYesTikTok music clip id whose videos should be listed.
cursorNoPagination cursor returned by a previous response.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint, so the description adds value by disclosing that it returns a list and that pagination is handled via a cursor. It doesn't contradict annotations. The pagination note is a useful behavioral detail beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with the core purpose stated first. No filler or redundant phrasing. The pagination note is placed appropriately at the end, keeping the most important information front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no output schema, it covers the input requirements, return type (list), and pagination behavior. It lacks details like ordering or result limits, but these are not critical for an initial call. The openWorldHint is not explicitly addressed, but the list scope is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both parameters have descriptions). The description reiterates that it accepts a clip id and mentions cursor for pagination, which the schema already documents. It adds minimal new meaning, 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('TikTok videos that use a specific music clip'), which clearly distinguishes it from other tiktok_*_list tools that list videos by profile, search, or trend. The title and name reinforce the purpose, making it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (when you have a music clip id) but does not explicitly mention alternatives or exclusions. For example, it doesn't say 'use this instead of tiktok_profile_videos_list for music-specific filtering.' The guidance is 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.

tiktok_product_getGet TikTok Shop productB
Read-only
Inspect

Get details for a TikTok Shop product by product id. Accepts a product page URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic TikTok Shop product detail page URL for the product to retrieve.
regionNoOptional country or region code for the product catalog. When omitted, the default catalog region applies.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds the input requirement (URL) but no additional behavioral context such as rate limits, authentication, or what happens with invalid URLs. It does not contradict annotations, but adds limited value beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the action. The two clauses are concise but slightly redundant/contradictory ('by product id' vs 'Accepts a product page URL'), which could be tightened. Still, it is efficient and no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with two parameters, the description is adequate but minimal. It does not hint at the response structure (e.g., price, availability) which could be helpful since there is no output schema. It also doesn't mention any special considerations for the region parameter or open-world behavior. Given the tool's simplicity, it's borderline acceptable but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters (url and region), so the schema already documents their meaning and constraints. The description mentions the URL but doesn't add depth on how the URL is used (e.g., whether product id is extracted) or the impact of the region parameter. Since schema carries the load, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb ('Get details') and resource ('TikTok Shop product'). However, the description says 'by product id' but then mentions accepting a product page URL, which is inconsistent with the actual input parameter (url). It does distinguish from list/search siblings by focusing on a single product's details, but the ambiguity slightly reduces clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus siblings like tiktok_shop_products_list or tiktok_shop_products_search. It does not mention any prerequisites, alternatives, or exclusions. The only hint is that it accepts a URL, but no context on when this is the appropriate choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_product_reviews_listList TikTok Shop product reviewsB
Read-only
Inspect

List buyer reviews for a TikTok Shop product by product id. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic TikTok Shop product detail page URL for the product whose reviews should be listed.
pageNo1-based review page number. Omit to request the first page.
regionNoOptional country or region code for the product review catalog. When omitted, the default catalog region applies.
productIdNoTikTok Shop product identifier. Provide this instead of `url` when you already know the product id.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint/openWorldHint, so the safety profile is covered. The description adds useful behavioral context: it returns a list and mentions pagination. However, the phrase 'use cursor when paginated' is not matched by any `cursor` parameter in the schema, and the actual `page` parameter is never acknowledged, creating a slight transparency 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one tight sentence that front-loads the core purpose and immediately signals return type and pagination. There is no filler or repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list operation with well-documented parameters, the description is mostly adequate. However, it omits the practical need to provide either `url` or `productId` despite zero required params, and the pagination reference conflicts with the schema's `page` parameter. The lack of an output schema is partially compensated by 'Returns a list'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains `url`, `page`, `region`, and `productId`. The description adds almost nothing beyond 'by product id', and it does not clarify the relationship or trade-off between `url` and `productId`. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('List'), resource ('buyer reviews'), and scope ('for a TikTok Shop product by product id'). It is distinguishable from siblings like tiktok_product_get, though it does not explicitly name or differentiate from alternatives. The slight ambiguity between 'by product id' and supporting a `url` param keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to prefer this tool over other TikTok Shop or product-related tools, nor are any exclusions or alternatives mentioned. The intended use is only implied: when one needs buyer reviews for a product. There is no explicit routing signal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_profile_audience_getGet TikTok profile audienceC
Read-only
Inspect

Get audience location demographics for a TikTok profile by handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTikTok handle to look up, with or without a leading @.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is known. However, the description adds no extra behavioral context such as data freshness, rate limits, whether a public profile is required, or what exactly is included in 'location demographics'. It merely restates the resource, offering no insights beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is fully front-loaded with the core purpose. There is no fluff or redundant wording, making it efficient for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and only a minimal description, the agent is left without any indication of the response structure (e.g., a breakdown of locations, percentages). The tool is simple (one parameter) but the lack of output details and the presence of a near-twin sibling (tiktok_profile_region_get) make it inadequately complete for confident selection and invocation. More context about what 'demographics' entails would be necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema thoroughly describes the handle parameter (including format, length constraints, and whether @ is allowed). The description adds no additional meaning about the parameter, so the baseline of 3 is appropriate; it does not need to repeat schema details but also does not contribute anything new.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get audience location demographics for a TikTok profile by handle' clearly identifies the action (get) and resource (audience location demographics) and includes the lookup method (by handle). It is specific enough to distinguish from general profile tools like tiktok_profile_get, though it does not explicitly differentiate from the similar-sounding tiktok_profile_region_get, leaving some ambiguity about what 'demographics' adds over 'region'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its many siblings. There is no mention of alternatives, exclusion conditions, or context such as 'use this when you need geographic distribution of followers'. Given the large sibling set (e.g., tiktok_profile_engagement_get, tiktok_profile_region_get, tiktok_profile_followers_list), this absence makes it hard for an agent to know if this is the right tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_profile_engagement_getGet TikTok profile engagement auditC
Read-only
Inspect

Get TikTok profile engagement audit. Accepts a handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTikTok handle to look up, with or without a leading @.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and data variability. The description adds no behavioral context—it does not disclose the return format, pagination, or any constraints. It merely restates the operation without enriching the agent's understanding of what happens when invoked.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally brief—two short sentences—and front-loads the core purpose. It uses no unnecessary words. However, it is so concise that it sacrifices useful detail, though this is more a completeness issue than a conciseness one.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description should clarify what an 'engagement audit' includes (e.g., likes, comments, shares, summary metrics). It does not, leaving the agent uncertain about the data it will receive and whether this tool is the right choice among the many similar TikTok profile tools. This is a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the only parameter 'handle' with a clear description ('with or without a leading @'). The description's 'Accepts a handle' adds no additional meaning beyond what the schema already provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Get TikTok profile engagement audit.' This clearly distinguishes it from sibling tools like tiktok_profile_get (basic profile) and tiktok_profile_audience_get (audience demographics). However, it does not elaborate on what an 'engagement audit' includes, leaving some ambiguity about the exact data returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as tiktok_profile_get, tiktok_profile_audience_get, or tiktok_profile_followers_list. The description does not mention context, exclusions, or alternatives, leaving the agent to infer usage solely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_profile_followers_listList TikTok profile followersA
Read-only
Inspect

List followers of a TikTok profile by handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoOptional flag for a smaller response with fewer fields.
cursorNoPagination cursor returned by a previous response.
handleYesTikTok handle whose followers should be listed.
userIdNoOptional TikTok user id to speed up the request.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as read-only and open-world, so the safety profile is covered. The description adds the pagination behavior via cursor, which is behaviorally important and not implied by annotations. It does not detail response structure, but the read-only nature and the list return type cover the core expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no waste. The main purpose is front-loaded, followed by a concise note on pagination. Every word contributes to understanding, and it avoids unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a simple list tool, but it does not specify the structure of the returned list items (e.g., whether they are full user objects or just handles). Since there is no output schema, this is a notable gap. It also does not mention any pagination limits, but the cursor note hints at that. Overall, it covers the essentials but leaves room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with all parameters described. The description only mentions the handle and cursor, which are already in the schema, and does not add new semantic meaning. The baseline of 3 applies because the schema carries the parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list), the resource (followers of a TikTok profile), and the key identifier (by handle). This is specific and distinguishes it from the sibling tool tiktok_profile_following_list, which deals with following. It also mentions the return type (a list) and pagination, reinforcing its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention exclusions or conditions. It simply states what it does. With a close sibling like tiktok_profile_following_list, explicit differentiation would help an agent choose correctly, but it is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_profile_following_listList TikTok profile followingA
Read-only
Inspect

List accounts followed by a TikTok profile by handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoOptional flag for a smaller response with fewer fields.
cursorNoPagination cursor returned by a previous response.
handleYesTikTok handle whose following list should be listed.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds that the tool returns a list and that a cursor should be used when paginated, which is behavioral information beyond the annotations. This helps the agent handle pagination and understand the response shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded: the first sentence states the core purpose and the second adds the return type and pagination hint. There is no fluff or redundancy, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool, the description is complete enough. It states the return is a list, mentions pagination via cursor, and the parameters are fully described in the schema. No critical information (like authentication, rate limits, or output fields) is needed for correct invocation, given the read-only nature and open-world hint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already describes each parameter (handle, cursor, trim). The description only reiterates that it lists by handle and uses cursor for pagination, adding no new meaning beyond the schema. Given full schema coverage, 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists accounts followed by a TikTok profile, specified by handle. It uses a specific verb (List) and resource (accounts followed), which distinguishes it from the sibling tool tiktok_profile_followers_list (following vs. followers). The mention of returning a list further clarifies the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context about what the tool does, and the term 'followed' implicitly tells the agent this is for following lists (as opposed to followers). However, it does not explicitly state when to use this over the followers list or provide any exclusions. This is adequate but lacks explicit routing to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_profile_getGet TikTok profileA
Read-only
Inspect

Get a TikTok profile by handle. Returns lookupStatus plus profile metrics (followers, posts/videoCount, privateAccount, accountCreatedAt).

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTikTok handle to look up, with or without a leading @.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds the specific returned metrics but no additional behavioral caveats (e.g., rate limits, data freshness, lookupStatus semantics). No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence with no redundancy. The key action and scoping are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool, one well-documented parameter, annotations cover safety. The description lists core metrics, sufficient for a basic call. Not exhaustive about lookupStatus edge cases or rate limits, but acceptable for a low-complexity read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'handle' is fully described in the schema ('with or without a leading @'), so the description contributes no additional meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get'), resource ('TikTok profile'), and input ('by handle'). Lists expected return fields (lookupStatus, followers, etc.), distinguishing it from sibling profile tools that focus on specific aspects like audience or engagement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool over alternatives like tiktok_profile_audience_get or tiktok_profile_videos_list. Sibling tools cover different profile facets, but the description does not help an agent choose between them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_profile_live_checkGet TikTok live streamA
Read-only
Inspect

Check whether a TikTok creator is currently live by handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTikTok handle to look up, with or without a leading @.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds no further behavioral context, such as response format or handling of non-existent handles, but it is fully consistent with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, tightly worded sentence with zero filler. The action and target are front-loaded, making the tool's purpose immediately apparent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is sufficient to understand its function and input. The return value is implicitly a boolean (live or not), which is acceptable for a check. No critical information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents the handle parameter with a helpful description ('TikTok handle to look up, with or without a leading @'). The tool description adds nothing beyond that, so with 100% schema coverage, baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'check', a named resource 'TikTok creator', and the precise condition 'currently live'. This clearly distinguishes it from sibling tools like tiktok_profile_get or tiktok_profile_videos_list, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case: when you need to know if a creator is live, this is the tool. It does not mention exclusions or alternatives explicitly, but the context is clear and unambiguous from the purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_profile_region_getGet TikTok profile regionA
Read-only
Inspect

Get the region code reported for a TikTok profile by handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTikTok handle to look up, with or without a leading @.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, covering the safety and open-endedness. The description adds minimal nuance with 'reported', implying the region may be user-reported, but it does not disclose behavior such as handling of missing or invalid profiles, return format, or potential null values. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence that front-loads the action and resource, with no redundant words or filler. Every element serves a purpose, making it optimally structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only operation with a single parameter, the description is sufficient for an agent to invoke the tool correctly. The absence of output schema means the response format is not specified, but for a single-value region code lookup, this is minor and does not hinder correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes the single parameter 'handle' with details about accepting a leading '@'. The description merely references 'by handle' without adding any new semantic meaning, so it aligns with the baseline expectation when schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get'), the specific resource ('region code'), and the scope ('TikTok profile by handle'). It unambiguously differentiates this tool from sibling profile tools like tiktok_profile_audience_get or tiktok_profile_get, which target other data aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that other profile-related tools exist for different data types (e.g., audience, engagement), nor does it offer any contextual cues for choosing region lookup over other profile attributes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_profile_showcaseProducts_listList TikTok profile showcase productsA
Read-only
Inspect

List products featured on a creator's TikTok showcase by handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor returned by a previous response.
handleYesTikTok handle whose profile showcase products should be listed.
regionNoOptional ISO 3166-1 country code for the request.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that results are paginated and a cursor is used, which is useful but not extensive. It does not detail return format, rate limits, or how 'showcase products' differs conceptually from other product sources, but given the annotation coverage, the added value is modest and sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, dense sentence plus a parenthetical holds all the information with zero waste. The primary purpose is front-loaded ('List products featured on a creator's TikTok showcase by handle'), and the pagination note is appended succinctly. No filler words or redundant restatements of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with a simple required parameter (handle) and optional pagination/region, the description is complete enough to invoke correctly. It does not detail return fields or sorting, but the absence of an output schema makes this less critical. The distinction from shop listings is implicit in the name and description, which is adequate given the sibling tool set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides complete descriptions for all three parameters (handle, cursor, region) with 100% coverage. The description adds no additional parameter-specific meaning beyond what the schema already documents. The baseline of 3 is appropriate when the schema carries the full burden for parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('products featured on a creator's TikTok showcase') with a clear scope ('by handle'). It distinguishes from sibling tools like tiktok_shop_products_list (shop products) and tiktok_product_get (single product) via the 'showcase' qualifier. An agent can immediately infer what this tool does and how it differs from similar list 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly indicates the tool is for a specific profile's showcase products, identified by handle. It does not explicitly state when not to use it or mention alternatives, but the context is unambiguous enough that an agent would know to use this for creator showcase listings rather than shop or search endpoints. The pagination hint ('use cursor when paginated') provides practical usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_profile_videos_listList TikTok profile videosA
Read-only
Inspect

List videos from a TikTok profile by handle. Credits: 1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoOptional flag for a smaller response with fewer fields.
cursorNoPagination cursor returned by a previous response.
handleYesTikTok handle whose videos should be listed.
regionNoOptional ISO 3166-1 country code for the request.
sortByNoOptional sort order for the returned TikTok videos.
userIdNoOptional TikTok user id to speed up the request.
hostMediaNoWhen true, hosts source media for 90 days and returns delivery URLs in each video's `hostedMedia`.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, covering safety and result variability. The description adds valuable behavioral detail beyond annotations: the credit cost structure (1 base, +2 per hosted asset up to 24/49) and the nuance that failed assets are not surcharged. This gives the agent a clear understanding of cost implications and hostMedia behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero fluff. The primary purpose is front-loaded, and the cost detail is presented in a separate, clearly structured sentence. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a straightforward listing operation. With no output schema, the description does not need to explain return values. It covers purpose, key input, and cost nuance. Pagination is handled by the cursor parameter described in the schema. The only missing context might be rate limits or response size, but these are typically outside the description's scope. Overall, sufficient for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all seven parameters are already documented. The description adds only the credit cost clarification for hostMedia, which is helpful but not essential for parameter understanding. It does not compensate for any missing parameter info, but none is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List videos from a TikTok profile by handle' – a specific verb (List), resource (videos from a TikTok profile), and key input (handle). This distinguishes it from sibling tools like tiktok_collection_videos_list or tiktok_music_videos_list without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for profile videos via the handle but does not explicitly contrast with alternatives (e.g., collection, music, or feed listings). It provides credit/cost context that influences when to use, but no explicit when-not-to-use guidance. Given the tool's self-explanatory name and purpose, this is adequate but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_search_hashtag_listSearch TikTok by hashtagA
Read-only
Inspect

Search TikTok videos by hashtag (not free-text keyword — use tiktok.search.videos.list for that). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoWhether to request a smaller response with fewer fields.
cursorNoPagination cursor returned by a previous response.
regionNoOptional ISO 3166-1 country code for the request. This sets the proxy region and does not filter results to that country only.
hashtagYesHashtag to search for. A leading # is optional.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds behavioral context: it returns a list and mentions cursor for pagination, which is beyond what annotations provide. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no filler. The first sentence states purpose and exclusion, the second describes the return format and pagination. Information is front-loaded and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter and four total, the schema fully documents parameters, annotations cover safety, and the description explains the primary use and pagination. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% parameter description coverage, so each parameter (hashtag, cursor, region, trim) is already documented. The description does not add parameter-specific semantics beyond what's in the schema, which meets the baseline for high coverage but doesn't exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search TikTok videos by hashtag' – a specific verb and resource. It also explicitly distinguishes it from free-text keyword search by naming the alternative tool, eliminating ambiguity among the many TikTok search siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: it states when to use this tool (hashtag search) and when not (free-text keyword, directing to tiktok.search.videos.list). It also gives a practical hint about pagination with cursor, which is actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_search_suggestions_listGet TikTok search suggestionsA
Read-only
Inspect

Get TikTok search suggestions by query. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query text for TikTok suggestions.
regionNoOptional two-letter ISO 3166-1 country code for localized suggestions.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds pagination behavior ('use cursor when paginated'), which is useful but minimal. It does not elaborate on result limits, ordering, or error conditions, but given the simple list nature and existing annotations, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two succinct sentences with zero waste. The core purpose is front-loaded, and the pagination note is appended efficiently. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple suggestions-list tool with a read-only annotation and full schema, the description covers the essential purpose and pagination. It does not describe the response format, but with no output schema and a straightforward list, this is a minor gap. Overall, the information provided is sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both 'query' and 'region' parameters have clear descriptions in the schema. The tool description does not add any extra parameter semantics, but the baseline of 3 is appropriate since the schema already documents the parameters fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get TikTok search suggestions by query' – a specific verb and resource. It distinguishes from sibling search tools like tiktok_search_videos_list or tiktok_search_hashtag_list by focusing on 'suggestions' rather than hashtags, videos, or general search results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call when you need search suggestions for a query. However, it does not explicitly mention when not to use it or name alternatives among the many TikTok search tools. It relies on the word 'suggestions' to hint at specificity, but lacks direct guidance on when another search tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_search_top_listSearch TikTok Top resultsA
Read-only
Inspect

Search TikTok Top results by keyword (not videos-only — use tiktok.search.videos.list for that). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query text for TikTok Top results.
cursorNoOpaque pagination cursor returned by a previous response.
regionNoOptional two-letter ISO 3166-1 country code for localized search results.
sortByNoOptional sort order for search results.
datePostedNoOptional upload date filter for video results.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description doesn't need to restate that. It adds pagination behavior ('use cursor when paginated') and the list return type, which is useful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The purpose and primary exclusion are front-loaded, and pagination guidance is concise. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with 5 parameters all documented in the schema, and annotations indicating read-only and open-world behavior, the description is sufficient. It covers the core purpose, distinguishes from a sibling, and notes pagination—nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema fully documents all 5 parameters including enums. The description adds minimal extra value beyond mentioning cursor for pagination, which is already covered in the schema description. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Search'), resource ('TikTok Top results'), and explicitly distinguishes it from tiktok.search.videos.list. This clearly separates it from sibling tools and tells the agent exactly what it does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'not videos-only — use tiktok.search.videos.list for that,' providing a clear when-not-to-use and directing to the alternative. It also notes pagination with cursor, which helps with usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_search_videos_listSearch TikTok videosA
Read-only
Inspect

Search TikTok videos by free-text keyword (not hashtag — use tiktok.search.hashtag.list for that). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimNoWhen true, returns a smaller response with fewer fields.
queryYesSearch query text for TikTok videos.
cursorNoOpaque pagination cursor returned by a previous response.
regionNoOptional two-letter ISO 3166-1 country code for localized search results.
sortByNoOptional sort order for search results.
datePostedNoOptional upload date filter for video results.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is known. The description adds behavioral context about the response shape ('Returns a list') and pagination ('use cursor when paginated'), which is useful beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The purpose and exclusion are front-loaded, and the pagination note is a single clause. Every word contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with full schema coverage and safety annotations, the description covers the essential behavioral aspects (list return, pagination). It doesn't mention rate limits or regional nuances, but those are already in the schema descriptions for region. Overall, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 6 parameters are documented in the schema. The description does not add any parameter-level meaning 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the exact action ('Search TikTok videos') and resource, and explicitly differentiates from sibling 'tiktok_search_hashtag_list' by clarifying it uses free-text keyword, not hashtag. This makes the tool's role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit when-not: 'not hashtag — use tiktok.search.hashtag.list for that', naming the alternative. Also mentions cursor for pagination, guiding usage on large result sets. Does not reference other search siblings like tiktok_search_top_list, but the primary purpose is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_shop_products_listList TikTok Shop store productsB
Read-only
Inspect

List products in a TikTok Shop store by shop id or URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic TikTok Shop store URL whose products should be listed.
cursorNoPagination cursor from a previous response. Omit to request the first page.
regionNoOptional region code for the shop catalog. When omitted, the default catalog region is US.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, and the description does not contradict them. It adds a useful behavioral note about pagination (use cursor), which goes beyond the annotations. However, it does not disclose any other behavioral traits such as authorization requirements or rate limits, which are not covered by annotations for this read-only operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at two sentences, with the core purpose front-loaded. It wastes no words, though the inaccurate 'or shop id' phrase is an unnecessary addition. Overall it is efficient and structured well.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that returns a list of products without an output schema, the description does not provide enough context about return fields, sorting, or filtering aside from pagination. It also incorrectly suggests a shop id option that is not supported, and omits the fact that region can affect the catalog. An agent might not know how to use the cursor effectively without more details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all parameters (url, cursor, region) are adequately described in the schema. The description itself adds little beyond that, except for a generic pagination hint. The mention of 'shop id' is not reflected in the schema, so it does not enhance understanding of the url parameter and could even mislead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'products in a TikTok Shop store', which distinguishes it from search-oriented siblings. However, it mentions 'by shop id or URL' but the input schema only accepts a URL, creating a minor inconsistency that could confuse an agent about what identifier to provide.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to choose this tool over alternatives like tiktok_shop_products_search or tiktok_profile_showcaseProducts_list. It only hints at pagination with 'use cursor when paginated', but does not clarify the intended use case or contrast with other list/search tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_song_getGet TikTok songA
Read-only
Inspect

Get details for a TikTok song or sound by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTikTok song or sound id. Use the trailing id from a music page URL, or `music.id` from a video lookup.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety and external-data profile. The description adds little behavioral context beyond 'details,' but it does not contradict the annotations and is adequate for a read-only lookup.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Every word earns its place, and the resource and access method are immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only lookup with strong schema guidance and safety annotations, the description is nearly complete. It could specify what 'details' includes, but the tool's purpose and invocation are clear enough for an agent to select and call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides full coverage for the single required parameter, including how to source the id ('trailing id from a music page URL, or music.id from a video lookup'). The tool description itself only repeats 'by id,' so it adds no parameter meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific operation—'Get details'—targeting a specific resource, 'TikTok song or sound,' accessed by id. This distinguishes it from sibling tools like tiktok_music_videos_list, which list videos for a song rather than retrieving song details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the usage context clear: call this when you have a TikTok song or sound id and need its details. It does not explicitly name alternatives or exclusions, but for a simple id-based lookup tool, the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_video_comments_listList TikTok video commentsA
Read-only
Inspect

List comments on a TikTok video by URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the TikTok video whose comments should be listed.
trimNoWhen true, returns a smaller response with fewer fields.
cursorNoOpaque cursor from a previous response to fetch the next page.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the behavioral detail that the response is a list and that pagination via cursor may be required, which goes beyond the readOnlyHint annotation. It does not contradict any annotations. However, it doesn't disclose other behaviors like rate limits or response size limits, but the annotations cover the read-only nature, so the added cursor info is valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences convey the core purpose and a key usage note. It's front-loaded with the primary action and avoids unnecessary details. Each sentence earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool, the description covers the essential: it lists comments, returns a list, and mentions pagination. It could mention what the list contains (comment objects) or any limits, but given the schema and annotations, it's fairly complete. It might benefit from noting that it returns top-level comments (vs replies), but that is inferable from the sibling name and the resource.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters are described in the schema (100% coverage). The description mentions the URL and cursor usage, but the schema already provides detailed descriptions for each parameter (e.g., cursor as 'Opaque cursor from a previous response'). The description adds no new semantic information beyond what the schema already states, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list comments) and the resource (TikTok video by URL). It distinguishes from siblings like tiktok_video_comments_replies_list by the verb and resource, even though it doesn't explicitly name the alternative. The purpose is unambiguous and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a usage hint about using cursor when paginated, which is helpful for handling large results. However, it does not explicitly state when to use this tool versus similar comment-listing tools on other platforms or the replies variant. The guidance is limited to pagination, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_video_comments_replies_listList TikTok comment repliesA
Read-only
Inspect

List replies to a TikTok video comment. Accepts a comment id. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the TikTok video that contains the parent comment.
cursorNoOpaque cursor from a previous response to fetch the next page.
commentIdYesParent comment id from List TikTok video comments (`data.comments[].id`).

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true, and the description adds useful behavioral context by noting the tool returns a list and supports cursor-based pagination. It does not contradict annotations, and given the read-only nature, no further side-effect disclosure is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that delivers the core purpose and pagination note upfront. No wasted words or redundant details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with a well-documented schema, the description is largely sufficient. It covers what the tool does, the key input (comment id), and the output (list with pagination). The only minor gap is not explicitly stating that the video URL is required, but the schema marks it and the description does not mislead.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes all three parameters (url, cursor, commentId), including that commentId originates from the comments list. The description adds no unique parameter semantics beyond restating 'accepts a comment id', which is already in the schema. With 100% schema coverage, 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists replies to a TikTok video comment, accepts a comment id, and returns a list with pagination. It distinguishes from tiktok_video_comments_list (which lists comments on a video) by its focus on replies and explicit comment id requirement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a comment id and want its replies, but does not explicitly state when to use this tool over alternatives (e.g., youtube_video_comments_replies_list) or provide exclusions. It also omits mention that the video url is required, though the schema covers that. Guidance is 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.

tiktok_video_download_getDownload TikTok video or photo post mediaB
Read-only
Inspect

Download TikTok video or photo post media. Accepts a video URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the video or photo post.
regionNoOptional ISO 3166-1 country code used to route the request when needed.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the tool handles both video and photo post media, which is useful. However, it does not disclose what the actual return value is (e.g., a binary file, a URL, or a base64 string), nor any rate limits or limitations. Given the annotations, a 3 is appropriate—the description adds some context but lacks behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, with the primary action front-loaded in the first sentence. The second sentence is almost redundant but still concise. It is appropriately sized and avoids fluff, though the redundancy makes it slightly less efficient than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only two parameters and no output schema, the description is minimal but not entirely insufficient. It fails to specify what the response will contain (e.g., file data, a download link) or any constraints like file size limits. Since there is no output schema to clarify, this gap matters. It covers the basic action but leaves the agent guessing about the return value, so a 3 is warranted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents the 'url' parameter (as 'Link to the video or photo post') and 'region' (as an optional ISO code). The description's phrase 'Accepts a video URL' merely paraphrases the schema without adding new meaning. With 100% schema coverage, the baseline is 3, and the description does not compensate or extend the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Download') and resource ('TikTok video or photo post media'), clearly distinguishing it from information-fetching tools like tiktok_video_get. However, the phrase 'Accepts a video URL' is slightly ambiguous given it also claims to handle photo posts, and it doesn't explicitly mention the tool's differentiation from similar download tools, so it's clear but not perfectly precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as tiktok_video_get (which presumably fetches metadata) or instagram_post_download_get. There is no mention of conditions, prerequisites, or exclusions, leaving the agent to infer usage context without explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_video_getGet TikTok videoA
Read-only
Inspect

Get a single TikTok video by URL. Author is identity-only (no follower counts) — use tiktok_profile_get for metrics. Credits: 1 (+downloadMedia add-on).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the video or photo post.
trimNoWhen true, returns a smaller response with fewer fields.
regionNoOptional ISO 3166-1 country code used to route the request when needed.
downloadMediaNoWhen true, includes hosted CDN URLs in `downloads` when available. Adds 10 credits (11 total with the base lookup) on successful lookups, even if `downloads` is empty.
getTranscriptNoWhen true, includes the video transcript (WEBVTT) in `transcript` when one is available.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only nature is covered. The description adds behavioral details beyond annotations: the author identity-only limitation (no follower counts) and the credit cost ('Credits: 1 (+downloadMedia add-on)'). This gives the agent valuable information about what to expect in the response and the cost implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with zero waste. It front-loads the core purpose, then adds a critical limitation and cost information. Every word earns its place, making it highly efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with a fully documented schema and no output schema, the description is sufficiently complete. It covers the main purpose, a key limitation, and cost. It does not mention that the tool can also handle photo posts (as indicated in the url schema description), but this is a minor gap given the schema covers it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already provides detailed descriptions for all 5 parameters (url, trim, region, downloadMedia, getTranscript). The description does not add any parameter semantics beyond what the schema provides. The mention of downloadMedia credits in the description is also already in the schema description, so no extra value is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: 'Get a single TikTok video by URL.' It clearly identifies the resource (video) and the input (URL), and immediately distinguishes itself from sibling tools like tiktok_profile_get by noting that author data is identity-only (no follower counts). This prevents confusion with profile-oriented 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent when NOT to use this tool: 'use tiktok_profile_get for metrics.' This is a clear alternative. However, it does not mention other sibling tools like tiktok_video_download_get for downloading or tiktok_video_transcript_get for transcripts, which could be relevant. Still, the primary alternative is covered and the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tiktok_video_transcript_getGet TikTok video transcriptC
Read-only
Inspect

Get the spoken transcript for a TikTok video by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the TikTok video whose transcript should be returned.
languageNoOptional two-letter language code to request a transcript in a specific language when available.
useAiFallbackNoWhen true, uses Social Fetch's AI fallback when a transcript is not otherwise available. Adds 10 credits on completed lookups (11 total with the base lookup).

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. However, the description adds no behavioral details beyond that—it does not mention that transcripts may be unavailable, that network access is required, or that language and AI fallback options exist (which are 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that efficiently communicates the core purpose. It adds the word 'spoken' and the 'by URL' qualifier, giving slightly more specificity than the title, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter tool with three parameters and no output schema, the description is minimally adequate. However, it lacks context about return format (e.g., text vs. structured JSON), potential failure modes, and the optional parameters' behavior, which could leave an agent uncertain about what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented with clear descriptions (URL, language, and useAiFallback). The description adds no additional parameter-level meaning beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and resource ('spoken transcript') and specifies the platform ('TikTok') and input method ('by URL'). While it is clear, it largely restates the title and does not distinguish itself from the many sibling transcript tools beyond the platform name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., facebook_post_transcript_get or youtube_video_transcript_get). It does not mention when not to use it, prerequisites (like public video), or alternative routes for transcripts on other platforms.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

truthsocial_post_getGet Truth Social postA
Read-only
Inspect

Get a Truth Social post by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Truth Social post.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description aligns with these by using 'Get'. However, the description adds no extra behavioral context beyond what the annotations already convey. It does not mention potential rate limits, required authentication, or the exact content of the response, which could be useful but is not strictly necessary given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that states the essential information immediately. It contains no filler, no repetition, and is front-loaded with the main action. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity—one parameter, no output schema, read-only annotations—the description is largely complete. It tells the agent exactly what to provide (a URL) and what the tool does (retrieve a post). While it does not detail the response format, this is not uncommon for simple retrieval tools, and the lack of an output schema means the description carries some responsibility. However, the absence of any note about URL format (e.g., full vs. short URLs) is a minor gap, but not severely detrimental.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, 'url', is fully described in the schema as 'Link to the Truth Social post.' The tool description repeats this same meaning without adding new detail. Since schema coverage is 100%, the description does not need to compensate; it provides no additional value beyond the schema, aligning with the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (Get), the resource (Truth Social post), and the mechanism (by URL). It immediately distinguishes this tool from siblings like truthsocial_profile_get or truthsocial_profile_posts_list, which serve different purposes. No ambiguity exists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention exclusions, conditions, or contrast with other post retrieval tools across platforms. The usage is implied by the name and description but without explicit routing, the agent must infer. No context is given about when this tool is preferred over e.g., bluesky_post_get or twitter_tweet_get.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

truthsocial_profile_getGet Truth Social profileA
Read-only
Inspect

Get a Truth Social profile by handle or account id.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTruth Social handle or account id.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint: true and openWorldHint: true, covering safety and scope. The description adds no additional behavioral context (e.g., rate limits, error behavior, required authentication). It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with zero filler. It states the core operation and input format efficiently, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter tool with no output schema, the description adequately conveys the purpose and input. It does not specify expected return fields, but the task is straightforward and typical of profile getters. Minor gap for agents expecting detailed response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description 'Truth Social handle or account id.' is fully present and covers 100% of the parameter. The tool description repeats exactly that meaning without adding extra detail, so it adds no value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the resource ('Truth Social profile'), explicitly naming the input method ('by handle or account id'). It distinguishes from sibling tools by platform (Truth Social) and resource type (profile vs. posts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives such as truthsocial_profile_posts_list or other platform profile getters. The usage is implied by the naming convention, but there is no mention of exclusions or conditions that would steer an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

truthsocial_profile_posts_listList Truth Social profile postsA
Read-only
Inspect

List posts from a Truth Social profile by handle or account id. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum posts to return (1–20). Default: 20.
cursorNoOpaque pagination cursor from a previous response. Omit for the first page.
handleYesTruth Social handle or account id.
includeRepliesNoWhen true, includes reply posts in the timeline. Adds 2 credits (4 total including the base lookup). Default: false (top-level posts only).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds the pagination note 'use cursor when paginated' which is useful behavioral context. However, it does not disclose rate limits, error behavior, or the structure of the returned list, so it adds moderate value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The core purpose is front-loaded, and the pagination hint is appended efficiently. Every sentence contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool, the description covers the essential behavior: it lists posts, accepts a handle or account id, and mentions cursor pagination. It leaves out return structure details, but since there is no output schema and the tool is straightforward, this is a minor gap. The annotations cover safety, so the description is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters are described. The description's mention of 'by handle or account id' and 'use cursor when paginated' largely repeats the schema's own descriptions. It adds minimal new meaning, so a baseline score of 3 is appropriate given the schema already documents the parameters thoroughly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'posts from a Truth Social profile', with the input qualifier 'by handle or account id'. This distinguishes it from truthsocial_profile_get (profile info) and truthsocial_post_get (single post), and the sibling list tools for other platforms are differentiated by the platform name in the tool name itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (list posts for a profile) but does not explicitly mention alternatives or when to choose this over truthsocial_profile_get or truthsocial_post_get. No exclusions or conditions are given, but the name and purpose make the primary use case clear. This is adequate but relies on inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitch_clip_getGet Twitch clipA
Read-only
Inspect

Get metadata and playback URLs for a Twitch clip by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Twitch clip.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds that it returns metadata and playback URLs, which is more specific than the tool name, but does not disclose behavioral caveats like rate limits, auth needs, or error handling. Given the annotations cover read-only safety, the additional context is minimal, so a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One efficient sentence front-loads the action and resource. It includes the key output info and wastes no words. Perfectly concise for a single-purpose read tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, single-parameter, read-only tool with annotations covering safety and no output schema, the description is complete: it states what it returns and how to invoke it (by URL). An agent has everything needed to call it correctly without further elaboration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – the single 'url' parameter is described as 'Link to the Twitch clip.' The description's phrase 'by URL' simply echoes the schema. No extra semantic detail is added, so baseline 3 for high coverage applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Get), a specific resource (Twitch clip), and the concrete outputs (metadata and playback URLs). It clearly distinguishes this from sibling Twitch tools like twitch_profile_get or twitch_profile_videos_list, which target different resource types (profiles, videos). No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case: when you have a Twitch clip URL and want its metadata/playback URLs. It does not explicitly name alternatives or conditions (e.g., 'use this for clips, not for profile or videos'), but the context is clear enough for an agent to select it appropriately among many platform-specific get tools. Lacks explicit exclusions, so not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitch_profile_getGet Twitch profileA
Read-only
Inspect

Get a Twitch profile for a channel by handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTwitch handle to look up, with or without a leading @.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds no behavioral context beyond what annotations provide—no mention of return format, pagination, or edge cases. Given the annotations carry the safety burden, the description is adequate but contributes minimal extra 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It states the action, resource, and key input in six words, making it maximally concise and well-structured for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter and no output schema, the description is minimally sufficient. However, it does not indicate what kind of data the profile contains (e.g., followers, bio, channel stats) or clarify that it excludes schedule/videos (which have separate tools). Slightly more context would help an agent decide if this is the right tool for a specific piece of profile data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and already explains the handle parameter (including optional '@'). The description's 'by handle' merely reiterates the parameter, adding no new meaning. With full schema coverage, the baseline of 3 applies; the description does not compensate with extra detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Get') and a specific resource ('Twitch profile') and identifies the lookup method ('by handle'). It is distinguishable from sibling tools like twitch_profile_schedule_get and twitch_profile_videos_list primarily through the tool name, since the description does not explicitly contrast them, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied: use this when you need a channel's profile information. However, it does not mention when not to use it or point to alternatives among the sibling Twitch tools (e.g., schedule, videos). There is no explicit when/when-not guidance, only the basic purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitch_profile_schedule_getGet Twitch profile scheduleA
Read-only
Inspect

Get the stream schedule for a Twitch channel by handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTwitch handle to look up, with or without a leading @.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description doesn't need to restate that. The description adds only that it returns the schedule, which is implicit in the tool name. No additional behavioral details (pagination, rate limits, data freshness) are provided, but for a simple read-only getter with annotations covering the safety profile, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero filler. It conveys the core purpose and input method immediately, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only getter with no output schema, the description is sufficiently complete: it tells what data is returned (schedule) and how to specify the channel. The lack of explicit return format is minor given the tool's simplicity and the existence of similar sibling tools that follow the same pattern.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (only 'handle' is fully described in the input schema with format and leading '@' note). The tool description adds no extra meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get'), resource ('stream schedule for a Twitch channel'), and the lookup method ('by handle'). It clearly distinguishes from sibling tools like twitch_profile_get and twitch_profile_videos_list by naming the exact data being fetched.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates the input format (handle) but does not explicitly contrast with alternatives (e.g., when to use this vs. twitch_profile_get). While the tool name makes the purpose obvious, the description itself gives no explicit when-to-use guidance, though the single-sentence clarity is adequate for a simple getter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitch_profile_videos_listList Twitch profile videosA
Read-only
Inspect

List videos from a Twitch channel by handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesTwitch handle to look up, with or without a leading @.
sortByNoOptional sort order.
filterByNoOptional filter for the type of Twitch videos to return. `archive`: full unedited past broadcasts (VODs). `highlight`: shorter clips curated/edited by the streamer from past broadcasts. `upload`: videos uploaded directly, not recorded from a live stream.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint: true and openWorldHint: true, so the description doesn't need to repeat read-only status. It adds useful behavioral context by mentioning 'Returns a list (use cursor when paginated)', which informs the agent about the return type and pagination method. This is beyond what annotations provide, though it doesn't describe other behaviors like output fields 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that front-load the primary purpose ('List videos from a Twitch channel by handle') and then add the important pagination note. Every word earns its place; no fluff or redundant details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with 3 parameters (1 required), annotations covering read-only and open-world, and full schema coverage, the description is adequate. It states purpose and pagination. While it doesn't specify return fields, the absence of an output schema and the openWorldHint imply flexibility. The main gap is lack of usage guidance, but that's covered under its own dimension. Overall, it's sufficient for an agent to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents all three parameters thoroughly: handle (with or without @), sortBy (enum with meaning inferred), and filterBy (with detailed explanation of values). The description adds no additional parameter semantics beyond what the schema provides, which aligns with the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific verb 'List', the resource 'videos from a Twitch channel by handle', making it clear what the tool does. It distinguishes from siblings like twitch_clip_get (gets a specific clip) and twitch_profile_get (gets profile), and the handle clarifies it's channel-based. The title aligns with the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. It doesn't mention alternatives like twitch_clip_get or other profile video tools. The only hint is the 'by handle' scope, which implies usage for channel videos, but no direct comparison or exclusion is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitter_community_getGet Twitter communityB
Read-only
Inspect

Get details for an X community by community id or URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesCommunity URL to look up.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, which tells the agent this is a safe read operation. The description adds 'by community id or URL' but this is more parameter-related than behavioral. There is no additional disclosure about response format or limitations. Since annotations cover the safety profile, a baseline 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately conveys the tool's purpose with no redundant words. It front-loads the action and resource, making it quick to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get operation with one parameter and annotations covering safety, the description is mostly sufficient. However, the id/URL inconsistency creates a gap in knowing exactly what input is accepted. The lack of an output schema means the agent must infer what 'details' entails, but this is generally acceptable for a get tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides full coverage (100%) for the single 'url' parameter with a clear description. However, the tool description says 'by community id or URL', implying an alternative input format that is not reflected in the schema. This introduces confusion about what the parameter actually accepts. The description adds misleading semantics rather than helpful clarification.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'details for an X community', making the purpose clear. It distinguishes from siblings like twitter_community_tweets_list by focusing on details rather than tweets. However, the description mentions 'community id or URL' while the schema only accepts a URL, introducing slight ambiguity about accepted input forms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There are siblings such as twitter_community_tweets_list, but the description does not mention any exclusions or conditions. The usage context is entirely implied by the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitter_community_tweets_listList Twitter community tweetsA
Read-only
Inspect

List tweets from an X community by community id or URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesCommunity URL to look up.

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and open-world. The description adds a useful behavioral note about using a cursor when pagination occurs, which goes beyond the annotations and helps the agent handle large result sets correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences: one for purpose, one for return behavior. It is front-loaded with the core action and includes only the essential extra note about pagination, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter list tool with no output schema, the description covers the primary behavior (returns a list of tweets) and the pagination mechanism. Given openWorldHint, it does not need to enumerate every field, so it is sufficiently complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes the 'url' parameter, and the description adds little beyond that. The mention of 'community id' is not supported by the schema, which could mislead the agent into expecting an id parameter when only URL is accepted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists tweets from a specific community, distinguishing it from sibling tools like twitter_community_get, twitter_hashtag_list, and twitter_profile_tweets_list. However, it mentions 'by community id or URL' while the schema only accepts a URL, a minor inconsistency that could confuse the agent about available inputs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like twitter_search_list or twitter_hashtag_list. It does not state any exclusions or prerequisites, leaving the agent to infer usage from the name and schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitter_hashtag_listSearch Twitter by hashtagA
Read-only
Inspect

Search X posts by hashtag (not free-text keyword — use twitter.search.list for that). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional page size. Maximum supported value is 20.
cursorNoOpaque pagination cursor returned by a previous response.
hashtagYesHashtag to search for.
sectionNoOptional section filter for the hashtag feed. Omit to use the default `top` section.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety and dynamic nature of results. The description adds that it returns a list and mentions pagination via cursor, which is useful behavioral context beyond the annotations. It doesn't detail the response structure, but given the safety coverage, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero filler: the core purpose, the exclusion with alternative, and the pagination note are all front-loaded. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with 4 fully-schema-documented parameters and no output schema, the description covers the essential usage (what it searches, what it returns, how to paginate) and differentiates it from the sibling. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters (hashtag, limit, cursor, section) are already documented in the schema. The description adds no extra meaning about parameters beyond pointing to pagination, which is also in the schema. Baseline 3 is appropriate given the high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Search), resource (X posts), and method (by hashtag), and explicitly distinguishes it from free-text keyword search by pointing to twitter.search.list. This unambiguously identifies the tool's purpose and sets it apart from the closest sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'not free-text keyword — use twitter.search.list for that', providing a clear when-not-to-use and naming the alternative. This fully addresses the selection decision against the most likely confusable tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitter_profile_getGet Twitter profileA
Read-only
Inspect

Get an X (Twitter) profile by handle. Returns lookupStatus plus follower/tweet metrics and account age signals.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesX handle to look up, with or without a leading @.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds value by disclosing that the response includes lookupStatus, metrics, and age signals, which gives the agent expectations about the return structure. It does not go beyond annotations with details like rate limits or authentication, but given the simple read-only nature, this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no wasted words. The primary action is front-loaded, and the return details are added succinctly. It is concise and well-structured, allowing quick scanning by an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 adequately explains what it does and what the response contains (lookupStatus, metrics, age signals). There is no missing essential information for an agent to decide whether to invoke it and interpret the result. The openness hint and readonly hint cover behavioral aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the handle parameter, and the schema already describes it as 'X handle to look up, with or without a leading @.' The description only repeats 'by handle' without adding further nuance, so it does not enhance the schema. Baseline 3 applies because the schema fully documents the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (get), the resource (X/Twitter profile), and the lookup method (by handle). It also distinguishes itself from sibling profile tools on other platforms (e.g., bluesky_profile_get, instagram_profile_get) by naming the platform and specifying the return content (metrics and age signals). This is precise 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use the tool: when you need an X/Twitter profile by handle and want follower/tweet metrics and account age signals. However, it does not explicitly mention alternatives or when not to use it, such as pointing to a different tool for tweets or transcripts. This is adequate context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitter_profile_tweets_listList Twitter profile tweetsA
Read-only
Inspect

List tweets from an X profile by handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size (maximum 100). Default: 40.
cursorNoOpaque pagination cursor returned by a previous response.
handleYesX handle to look up, with or without a leading @.
includePinnedNoInclude pinned tweets on the first page. Default: false.
includeRepliesNoInclude reply tweets in the returned list. Default: false.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to cover safety. It adds useful behavior beyond annotations by stating that the result is a list and that a cursor is used for pagination, which is actionable for agents. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with a brief parenthetical note on pagination. It is front-loaded with the core purpose and includes only essential additional information, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with a fully described schema, the description covers the main purpose and pagination behavior. It does not need to repeat parameter details or output format since those are either in the schema or not applicable (no output schema). Missing details like rate limits or authentication are not critical given the annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all 5 parameters (handle, limit, cursor, includePinned, includeReplies) at 100% coverage. The description merely reinforces 'by handle' without adding any new semantic detail, so it falls at the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (list), resource (tweets from an X profile), and the primary parameter (handle). It distinguishes this from sibling tools like twitter_tweet_get (single tweet) and twitter_tweet_replies_list (replies), leaving no ambiguity about its function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving a specific user's tweets based on the handle, but it does not explicitly contrast with alternatives such as twitter_search_list or twitter_community_tweets_list. No when-to-use or when-not-to-use guidance is given beyond the implicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitter_search_listSearch Twitter postsA
Read-only
Inspect

Search X posts by free-text keyword (not hashtag — use twitter.hashtag.list for that). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional page size. Maximum supported value is 20.
queryYesSearch query text to run against public posts on X.
cursorNoOpaque pagination cursor returned by a previous response.
endDateNoOptional end date filter in YYYY-MM-DD format.
sectionNoOptional search section filter. Omit to use the default `top` section.
languageNoOptional language filter.
minLikesNoOptional minimum like count filter.
startDateNoOptional start date filter in YYYY-MM-DD format.
minRepliesNoOptional minimum reply count filter.
minRetweetsNoOptional minimum retweet count filter.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds valuable behavioral context by specifying the return type ('Returns a list') and advising cursor-based pagination. It does not contradict annotations and goes beyond them to clarify operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero fluff. The first sentence front-loads the purpose and the critical exclusion, and the second supplies the return/pagination hint. Every clause earns its place, and the structure is ideal for quick agent parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 10 parameters with comprehensive schema descriptions, the description does not need to repeat them. It covers the essential overview, the key distinction from hashtag search, and pagination guidance. The absence of an output schema is acceptable for a list-returning tool. Slight gap is that it doesn't mention other potential alternatives (e.g., profile-specific searches), but that's not required given the rich schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning every parameter has a description. The tool description does not add any parameter-specific semantics beyond what the schema already provides; it only reiterates cursor usage, which is already documented. Thus it sits at the baseline 3, as the schema carries the full burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches X posts by free-text keyword, with a specific verb and resource. It distinguishes itself from hashtag searches by explicitly naming the alternative (twitter.hashtag.list), and the sibling list confirms the presence of such a tool. This leaves no ambiguity about the tool's core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs when not to use this tool ('not hashtag') and directs to a specific alternative (twitter.hashtag.list). It also implies when to use it (free-text keyword search) and provides pagination guidance ('use cursor when paginated'). This fully meets the criterion of explicit when/when-not and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitter_tweet_getGet Twitter tweetA
Read-only
Inspect

Get a single tweet by URL. Author includes profile metrics when not trimmed. Warning: trim=true omits author. Credits: 1.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTweet permalink or identifier.
trimNoOptional: omit author profile and tweet `core` for a smaller response.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral details beyond the annotations: it notes that 'Author includes profile metrics when not trimmed' and warns that 'trim=true omits author.' It also discloses the credit cost ('Credits: 1'). These are useful caveats that help the agent set expectations about the response and resource usage, complementing the read-only and open-world hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and to the point, with the core purpose front-loaded in the first phrase. The additional details (author metrics, trim warning, credits) are appended concisely, ensuring each sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (fetching a single tweet) and full schema coverage, the description covers the essential aspects: input via URL, conditional author inclusion, and credit cost. It does not detail the full response structure, but with no output schema and a straightforward operation, this level of detail is sufficient for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes both parameters, but the description adds nuance: it clarifies that setting trim=true omits the author entirely, which is more specific than the schema's 'omit author profile.' This extra detail helps the agent understand the impact of the trim parameter, enhancing the schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Get a single tweet by URL.' It specifies the verb (Get), resource (single tweet), and the input method (by URL). This distinguishes it from sibling tweet tools like twitter_tweet_replies_list or twitter_tweet_transcript_get, which have different scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool—retrieving a single tweet via its URL. However, it does not explicitly point to alternative tools or state when not to use it, such as when needing replies or transcripts. The purpose is clear enough for an agent to select it by name and description, but the absence of explicit alternative guidance leaves 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.

twitter_tweet_replies_listList Twitter tweet repliesA
Read-only
Inspect

List replies to a tweet by URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTweet permalink or identifier.
cursorNoOpaque pagination cursor returned by a previous response.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds that the tool returns a list and that pagination via cursor is supported, which is useful behavioral context. It does not contradict the annotations and provides some extra value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with a parenthetical about pagination, front-loading the primary action. It contains no filler words and is highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list operation, the description covers the essential usage details: the action, the resource, and pagination. It lacks explicit output structure, but with no output schema and strong annotations, it is sufficiently complete for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides full descriptions for both parameters: url and cursor. The description reinforces cursor usage but adds little beyond the schema. With 100% schema description coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists replies to a tweet, specifying the action and resource, and mentions input via URL. However, it does not explicitly differentiate from similar reply-listing tools on other platforms (e.g., facebook_post_comments_replies_list), though the tool name itself provides that context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a minimal usage hint: 'use cursor when paginated,' which is an operational detail. It does not explain when to use this tool versus alternatives like fetching the tweet itself or searching. The intended use case is implied but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twitter_tweet_transcript_getGet Twitter tweet transcriptA
Read-only
Inspect

Get the transcript for a video tweet by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTweet permalink or identifier.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds minimal behavioral context beyond the title, such as that it returns a transcript and requires a URL. It does not disclose potential failure modes (e.g., non-video tweets) or output format, but with annotations present the bar is low and there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. It communicates the core action, target, and input in ten words. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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, the description is complete: it states the resource (transcript), the target (video tweet), and the input (URL). The term 'transcript' implies the return value. Caveats like video-only are already explicit. Nothing essential is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%—the 'url' parameter is documented as 'Tweet permalink or identifier.' The description says 'by URL' but adds no extra meaning, format specifics, or examples beyond the schema. Baseline 3 is appropriate since the schema already carries the parameter explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific action ('Get'), the resource ('transcript for a video tweet'), and the required identifier ('by URL'). It clearly distinguishes from sibling transcript tools by naming Twitter and from twitter_tweet_get by focusing on transcript, so an agent can infer its 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. It does not mention that it only works for video tweets (though implied), nor does it suggest twitter_tweet_get for tweet metadata or other platform transcript tools. The description is purely declarative with no exclusions, conditions, or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_ask_runAsk a question about a web pageA
Read-only
Inspect

Ask a natural-language question about a specific web page and get an LLM-generated answer. Accepts a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesNatural-language question to answer about the page content.
urlYesWeb page URL to fetch.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true. The description adds that the answer is 'LLM-generated', which is meaningful behavioral context beyond what annotations convey about safety or external access. It does not contradict any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core purpose and then adds the output type. Every word contributes value; there is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two well-documented parameters, no output schema, and annotations covering safety, the description is sufficient. It tells the agent what the tool does, what inputs it takes, and what to expect as output. Minor gaps like handling of invalid URLs or non-text pages are edge cases not critical for basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters ('url' and 'q') having clear descriptions. The tool description adds no extra parameter semantics 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('ask'), a specific resource ('a specific web page'), and the output ('an LLM-generated answer'). This clearly differentiates it from siblings like web_search_run (which searches the web) and web_extract_run (which extracts raw content). No ambiguity or tautology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: the tool answers natural-language questions about a single page. It implies when to use it (when you need a synthesized answer rather than raw content) but does not explicitly name alternatives or state when not to use it. It lacks the explicit sibling routing seen in top-tier examples.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_crawl_runCrawl web pagesC
Read-only
Inspect

Crawl a small set of web pages synchronously. Accepts a URLs. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURLs to crawl. Repeat the `url` query parameter for multiple pages (max 5).
waitForNoWait for a CSS selector before extraction. Must be prefixed with "css:" (e.g. css:main). JavaScript wait conditions are not supported.
scanFullPageNoWhen true, scroll the page to load dynamically appended content (infinite scroll). Default false.

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the description does not need to repeat safety. It adds 'synchronously' and a hint about cursor-based pagination, which are useful behavioral details not covered by annotations. However, it omits other behavioral aspects like rate limits, response format, or failure semantics, so it adds only moderate value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the main purpose, but the middle sentence 'Accepts a URLs' contains a grammar error and adds redundancy. It could be tightened to two clear sentences. It is not excessively long, but the structure is slightly awkward.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description does not clarify what the returned list contains (e.g., page content, extracted data, links). It also does not explain how waitFor and scanFullPage affect results or mention any prerequisites. For an agent to confidently call this tool, this is a notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema descriptions for url, waitFor, and scanFullPage are already comprehensive, covering usage, constraints, and defaults. The description adds no parameter-specific information beyond reiterating that it accepts URLs. With 100% schema coverage, the baseline is 3, and the description does not exceed that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action (crawl) and resource (web pages), and notes it works on a small set synchronously. It gives enough for an agent to distinguish it from search or extraction tools, though 'crawl' itself is somewhat vague about whether it returns page content or links. The verb and target are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like web_extract_run or web_search_run. There is no mention of scenarios that favor this tool or exclusions, leaving the agent to infer usage from the name and schema. This is a significant gap given the many sibling web tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_extract_runExtract structured data from a web pageA
Read-only
Inspect

Extract structured fields from a web page using a CSS selector schema. Accepts a URL and CSS schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWeb page URL to fetch.
schemaYesCrawl4AI JsonCssExtractionStrategy schema: baseSelector plus fields.
waitForNoWait for a CSS selector before extraction. Must be prefixed with "css:" (e.g. css:main). JavaScript wait conditions are not supported.
scanFullPageNoWhen true, scroll the page to load dynamically appended content.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description does not add behavioral context beyond what the schema provides (e.g., that it waits for CSS selectors or can scroll for dynamic content). It does not contradict annotations, and the minimal description is acceptable because annotations carry much of the burden. However, it does not disclose potential failure modes or return format, keeping it at a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero wasted words. The primary purpose is stated first, and the second sentence reinforces the inputs. It is highly concise and well-structured for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema fully documents parameters, and annotations cover safety, so the description does not need to repeat those. However, there is no output schema, and the description does not hint at what the return value looks like (e.g., structured JSON matching the fields). For a tool with arbitrary URL fetching (openWorldHint), potential errors or limitations are not mentioned. This leaves some gaps for an agent, making it slightly below complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema documentation coverage is 100%, so all parameters (url, schema, waitFor, scanFullPage) already have descriptions. The description adds no new meaning about parameters beyond what the schema provides, so the baseline of 3 is appropriate. It does not compensate for any gaps because there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool extracts structured fields from a web page using a CSS selector schema. It names the verb (extract), the resource (web page), and the mechanism (CSS selector schema), making it distinct from sibling tools like web_crawl_run or web_markdown_generate. However, it does not explicitly name any sibling it is not, so 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its usage (extract structured data from a single URL) but does not explicitly state when to use it vs. alternatives. There is no mention of when not to use it or what other tools might be preferable (e.g., web_crawl_run for crawling multiple pages). The context of the name and description gives some guidance, so it is not a 2, but it lacks explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webhookDeliveries_redeliverManually redeliver a webhook deliveryBInspect

Queue a manual redelivery for one delivery attempt (async).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a write operation (readOnlyHint false). The description adds 'async' and 'queue', disclosing that the operation is not immediate and is enqueued. However, it does not mention potential side effects, idempotency, or error behavior. The addition is modest but non-redundant.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every word adds meaning, and the async qualifier is positioned early. Excellent conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with only one parameter and no output schema, the description does not fully enable correct invocation. It omits the exact identity of 'id', any required preconditions (e.g., endpoint must exist), and expected outcome (e.g., success or error response). Given the simplicity, more clarity was expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 the 'id' parameter. It only says 'for one delivery attempt', implying id refers to a specific delivery attempt, but it never explicitly states what id represents (e.g., delivery attempt ID, webhook delivery ID). This leaves ambiguity and fails to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (queue a manual redelivery) and the resource (one delivery attempt). It is specific enough to distinguish from sibling tools like webhookEndpoints_test (test) and webhookEndpoints_deliveries_list (read-only), though it does not explicitly name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical scenarios, or cases where this tool is not appropriate. The agent is left to infer that it is for manually retrying a failed delivery, but no explicit context is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webhookEndpoints_createCreate a webhook endpointAInspect

Create a delivery target for monitor events. kind=http requires a public HTTPS url; kind=sink is a hosted test inbox with no url. The signing secret is returned once — store it now.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
kindYes
descriptionNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate readOnlyHint=false and openWorldHint=false; the description adds critical behavioral context: the signing secret is returned only once and must be stored immediately. This is beyond structured fields and informs agent action, though it doesn't describe other side effects like authentication 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero fluff. The core purpose is front-loaded, and the kind-specific rules are packed into the second sentence without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a simple creation endpoint; the description covers the key context: purpose, kind distinctions, URL requirements, and the one-time secret. Missing details like error responses or side effects are minor given no output schema and the simplicity of the operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description compensates well by explaining the 'kind' enum and conditional URL requirements ('kind=http requires a public HTTPS url; kind=sink has no url'). It clarifies two of three parameters but omits any detail about the 'description' parameter, slightly reducing completeness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Create') and a clear resource ('delivery target for monitor events'), and distinguishes between two kinds with specific requirements. It also differentiates from sibling CRUD operations (delete, update, list) by focusing on creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use each kind (http vs sink) and the associated URL requirements, giving clear context for selection. It does not explicitly name alternatives like update or delete, but the creation purpose is clear and the kind-specific guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webhookEndpoints_deleteDelete a webhook endpointA
Destructive
Inspect

Permanently delete a webhook endpoint. Cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true and readOnlyHint=false. The description adds 'Cannot be undone,' which specifies irreversibility beyond the annotation. This is useful behavioral context and does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two very short sentences with zero redundancy: 'Permanently delete a webhook endpoint. Cannot be undone.' The action and key caveat are front-loaded with no extraneous wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple deletion tool, the description covers the core action and irreversibility. However, it omits any mention of the id parameter or how to obtain it, and does not address success/failure behavior. Given the minimal schema and no output schema, a bit more detail would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the single 'id' parameter, and the description does not explain what the id refers to or how it relates to the endpoint. The tool name and title imply it's the endpoint id, but the description adds no parameter-specific guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'delete' and the resource 'webhook endpoint', and emphasizes permanence. It distinguishes from sibling tools like create, update, and list by the explicit deletion semantics and irreversibility.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (to permanently remove a webhook endpoint) but does not explicitly mention when to use it vs. alternatives like update (to deactivate) or rotateSecret. No direction is given on prerequisites or finding the id, though the action itself is straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webhookEndpoints_deliveries_listList deliveries for a webhook endpointA
Read-only
Inspect

List delivery attempts for a webhook endpoint. Supports limit, opaque cursor continuation, and optional after (ISO timestamp) to enter oldest-first tail mode for listeners.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
afterNo
limitNo
cursorNo
statusNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark readOnlyHint=true, and the description adds behavioral detail: it explains the opaque cursor continuation and the 'after' parameter for oldest-first tail mode, which is useful for pagination behavior. It doesn't contradict annotations; it adds context beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the main action and packs in key feature details without fluff. Every word earns its place, and the structure is clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 output schema and 0% schema coverage, the description covers the core pagination and ordering behavior but omits the status filter and any response format hints. It's adequate for basic use but incomplete for full parameter understanding, given the schema provides no descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain parameters. It covers `limit`, `cursor`, and `after` (with non-obvious 'oldest-first' semantic), but omits `id` (obvious from title) and `status` (a filter with enum). It partially compensates for the schema gap but not fully, missing the status filter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'delivery attempts for a webhook endpoint'. It distinguishes itself from sibling tools like webhookEndpoints_list (which lists endpoints) and webhookDeliveries_redeliver, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it lists delivery attempts for a webhook endpoint, and adds pagination/ordering details. While it doesn't explicitly exclude alternatives, the context is sufficient for an agent to know when to use it. It lacks explicit 'use instead of X' but the purpose is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webhookEndpoints_getGet a webhook endpointA
Read-only
Inspect

Get one webhook endpoint by id (secret material never included).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, so the operation is read-only. The description adds valuable context beyond annotations: 'secret material never included', which warns the agent that sensitive fields will be absent. This is useful behavioral information not captured in structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the core action and immediately adds the security caveat. No filler words; every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema) and the readOnly annotation, the description is nearly complete. It explains what it does and a key behavior (secret redaction). No output schema exists, but the return is implied to be the endpoint object. For a read-only fetch, this is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% because the description does not elaborate on the 'id' parameter. However, the description mentions 'by id', which reaffirms the parameter's role. Since the parameter is self-explanatory (an id), the description adds minimal additional meaning, but the 'id' mention is slightly helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Get one webhook endpoint by id'. It clearly differentiates from siblings like webhookEndpoints_list (which retrieves multiple) and create/delete/update operations. The phrase 'one' and 'by id' makes the scope explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a known id, and the sibling set makes alternatives obvious (list for multiple, create/update/delete for modifications). However, there is no explicit statement of when to use this tool versus alternatives, nor exclusions or conditions that might warrant using another tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webhookEndpoints_listList webhook endpointsA
Read-only
Inspect

List the caller's webhook endpoints (secret material never included).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, covering the read-only nature. The description adds a key behavioral disclosure: 'secret material never included,' which clarifies that even though endpoints are listed, secrets are omitted. This is valuable beyond the annotations and does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is concise and front-loaded: states the action ('List the caller's webhook endpoints') and then the critical caveat. No wasted words; every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (no parameters) and the readOnly annotation, the description is nearly complete. It covers the core function and the critical secret exclusion. It doesn't describe return format or pagination, but for a simple list operation with no output schema, that's acceptable. A 4 seems appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the description needn't explain any. The baseline for 0 params is 4, and the description provides all necessary semantic context (the caller's endpoints, no secrets).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List the caller's webhook endpoints' – a specific verb and resource. It also mentions 'secret material never included,' which distinguishes it from other webhook operations. It's distinct from webhookEndpoints_get (which presumably gets a single endpoint) and from create/delete/update, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for listing all of the caller's endpoints, but it does not explicitly mention when to use this instead of webhookEndpoints_get or other alternatives. The name and lack of parameters make it clear it's a list-all operation, but there's no explicit guidance on selecting this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webhookEndpoints_rotateSecretRotate a webhook endpoint secretA
Destructive
Inspect

Rotate the signing secret with a 24h overlap window — the old secret keeps working until it expires. The new secret is returned once.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond the annotations: it explains the 24h overlap window, that the old secret remains valid until expiry, and that the new secret is returned only once. This informs the agent of important side effects and handling requirements. Annotations only indicate destructiveHint=true, but the description details the exact behavior, enhancing transparency without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action and then provides key behavioral details. There is no fluff or redundancy. It efficiently conveys the operation and its critical side effects within a concise format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the behavior thoroughly (overlap window, one-time return) but omits any explanation of the required 'id' parameter. Given the low complexity (one parameter, no output schema), the description is mostly complete, yet the lack of parameter clarification means an agent may not know how to invoke it correctly. It falls short of being fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has a single 'id' parameter with no description, and the tool description does not clarify what 'id' refers to. While the tool name implies it is a webhook endpoint ID, the description never states this. With 0% schema coverage, the description fails to compensate, leaving the agent to infer the parameter's meaning. This is a notable gap in a tool with only one parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (rotate) and the specific resource (signing secret of a webhook endpoint). It distinguishes from sibling tools like create, update, and delete by focusing on secret rotation, a unique operation. The title reinforces this, leaving no ambiguity about 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (rotate the secret when needed) but does not explicitly contrast with alternatives such as webhookEndpoints_update. It lacks guidance on when to choose this over other operations, nor does it mention any preconditions like authentication. The purpose is clear, but no explicit usage context or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webhookEndpoints_testSend a test webhook eventCInspect

Send a realistic per-source sample event to a webhook endpoint right now — a live, synchronous delivery test.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
sampleTypeNo

TDQS

C2.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, consistent with sending a test event. The description adds valuable behavioral detail: 'live, synchronous delivery test' discloses that it actually delivers over the network and returns immediately. This goes beyond the annotation and helps the agent anticipate side effects (e.g., the endpoint receives an event). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with high information density. It front-loads the main action and includes key qualifiers ('per-source', 'synchronous'). No wasted words, though a structure with separate sentences for purpose and usage might improve scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and only two parameters, but the description omits critical context: what the response contains, how errors are reported, valid values for 'sampleType', and whether the endpoint must already exist. Given it's a testing tool, an agent needs to know what constitutes a successful test and how to interpret results—none of which is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the 'id' or 'sampleType' parameters. The agent is left to infer that 'id' identifies the endpoint and 'sampleType' selects a sample, but no format, meaning, or allowed values are provided. Since coverage is zero, the description should compensate but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends a test webhook event to an endpoint, using a specific verb ('Send') and resource ('webhook endpoint'). It distinguishes from siblings like webhookEndpoints_create or webhookEndpoints_delete by focusing on testing/delivery. The phrase 'per-source sample event' adds specificity, though it could be more explicit about what 'per-source' means.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like webhookEndpoints_redeliver or webhookEndpoints_deliveries_list. The description implies a testing scenario but doesn't state conditions or exclusions. It lacks any mention of prerequisites (e.g., endpoint must exist) or when to prefer redelivery over a fresh test event.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

webhookEndpoints_updateUpdate a webhook endpointAInspect

Update a webhook endpoint's description or enable/disable it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
statusNo
descriptionNo

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, so the agent knows this is a mutation. The description adds the specifics of what fields can be updated (description and status), which goes slightly beyond the schema. However, it doesn't disclose any side effects (e.g., whether existing values are overwritten, if authentication is required, or if updates are immediate). Given the mutation nature and the lack of additional details, a score of 3 is appropriate; it adds some behavioral context but not a comprehensive disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and scope. Every word earns its place, with no filler or redundancy. It efficiently conveys the tool's purpose without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with only 3 parameters and no output schema, the description is largely complete. It covers the two main update actions. However, it does not mention the response format or error conditions (e.g., what happens if the id doesn't exist). Since the tool is straightforward, this is a minor gap, not a critical omission, so a 4 is warranted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no parameter descriptions (coverage 0%), so the description must compensate. It does so by explaining that 'description' corresponds to the description field and 'enable/disable it' refers to the status field. The id parameter is self-evident as the identifier. This adds meaning beyond the raw schema, clarifying the purpose of two of the three parameters. The description doesn't explicitly map each parameter, but it covers the updateable fields well, earning a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Update') and resource ('webhook endpoint'), and specifies the two editable aspects ('description or enable/disable it'). This directly distinguishes it from sibling webhook tools like create, delete, get, test, and rotateSecret, leaving no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when the goal is to modify a webhook endpoint's description or its enabled/disabled status. It doesn't explicitly mention alternatives (e.g., use create for new endpoints), but the scope is intuitive and distinct from other webhook operations. It could be improved by naming sibling tools for explicit routing, but the current phrasing is sufficient for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_html_generateGenerate web page HTMLB
Read-only
Inspect

Fetch cleaned HTML for a web page URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWeb page URL to fetch.
waitForNoWait for a CSS selector before extraction. Must be prefixed with "css:" (e.g. css:main). JavaScript wait conditions are not supported.
scanFullPageNoWhen true, scroll the page to load dynamically appended content (infinite scroll). Default false.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description is not burdened with safety disclosures. The description adds the qualifier 'cleaned' which hints that the HTML is processed/filtered, but it does not specify what cleaning entails (e.g., removing scripts, tags). It also does not mention potential issues like pagination or dynamic content beyond what the schema parameters (waitFor, scanFullPage) already cover. The description adds minimal behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, terse sentence with no fluff. It front-loads the core action ('Fetch cleaned HTML') and specifies the resource. However, it is almost too brief—given the tool has three parameters and nuanced behaviors (e.g., waitFor with CSS-prefix requirement, scanFullPage for infinite scroll), a sentence or two more would be justified. Still, it is efficiently concise without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch tool, the description covers the essential input (URL) and output type (HTML). It does not, however, mention the output format explicitly (though 'HTML' implies a string), nor does it address error scenarios, rate limits, or the context of when to use this tool versus siblings. Given the presence of annotations (readOnlyHint, openWorldHint) and full schema documentation for parameters, the description is minimally adequate but lacks the contextual guidance an agent would benefit from when selecting among web-related tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (url, waitFor, scanFullPage) are fully documented in the schema. The description only reiterates the URL purpose, adding no extra meaning or context about parameters. Since the schema does the heavy lifting, a baseline score of 3 is appropriate; the description provides no added value beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Fetch cleaned HTML for a web page URL.' This unambiguously conveys the core function. However, it does not distinguish itself from sibling tools like web_markdown_generate or web_screenshot_capture, which are alternative output formats for the same retrieval task. Additionally, the title 'Generate web page HTML' conflicts slightly with the fetch-oriented description, but the description itself is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as web_markdown_generate or web_screenshot_capture. No mention of preferred use cases, exclusions, or trade-offs between HTML, markdown, and screenshot outputs. An agent would have no clue which tool to pick for a given scenario, relying only on the names and parameter schemas.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_markdown_generateGenerate web page markdownA
Read-only
Inspect

Convert a web page URL into clean markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWeb page URL to fetch.
queryNoOptional query string used by the bm25 filter to rank relevant content.
filterNoMarkdown extraction filter. `fit`: strip boilerplate and extract the main readable content. `raw`: full unfiltered page markdown, no content pruning. `bm25`: rank and return only the content most relevant to `query`, using the BM25 keyword-relevance algorithm — requires `query` to be set.fit
waitForNoWait for a CSS selector before extraction. Must be prefixed with "css:" (e.g. css:main). JavaScript wait conditions are not supported.
cacheModeNoCache behavior. `enabled`: read from cache if present, else fetch and write to cache. `bypass`: always fetch fresh, ignoring and not updating the cache. `write_only`: always fetch fresh, but write the result to cache without reading from it first. Default: `enabled`.enabled
scanFullPageNoWhen true, scroll the page to load dynamically appended content (infinite scroll). Default false.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds little beyond that, only 'clean markdown' suggesting some content filtering. It does not disclose aspects like timeout behavior, handling of unaccessible pages, or the fact that it may fetch external resources (though openWorldHint covers that). Since annotations provide the base, this is adequate but not enriched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no filler. It's front-loaded with the action and resource. Every word carries meaning. It avoids the tautology pitfall by stating what it does without merely restating the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the schema thoroughly documents parameters and the annotations cover safety, the description lacks guidance on selecting this tool among its web siblings and doesn't explain the output format (though it's implied as markdown). For a tool with six configurable options, the description alone is insufficient to fully contextualize its usage, but the schema fills most gaps. It's adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all six parameters (url, query, filter, waitFor, cacheMode, scanFullPage) are already well-documented in the schema. The tool description doesn't add any extra meaning to the parameters. Per the rubric, high coverage sets a baseline of 3, and the description adds no further value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Convert a web page URL into clean markdown' specifies a clear verb (convert), resource (web page URL), and output (clean markdown). It distinguishes this tool from siblings like web_html_generate (which outputs HTML) and web_screenshot_capture (which outputs images). The phrase 'clean markdown' also hints at the filtering behavior, adding specificity beyond the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the many sibling web tools (web_ask_run, web_crawl_run, web_extract_run, etc.). It doesn't mention alternatives, exclusions, or typical use cases. The name and description imply it's for markdown conversion, but no explicit routing is provided, leaving the agent to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_screenshot_captureCapture website screenshotA
Read-only
Inspect

Capture a screenshot of a public web page URL as a hosted image artifact.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWeb page URL to fetch.
delayNoExtra settle delay in milliseconds after load (0–10000).
formatNoOutput image format. Default: png.png
regionNoOptional ISO 3166-1 alpha-2 country for geo-located rendering (+1 credit).
qualityNoJPEG/WebP quality 1–100. Invalid when format is png.
waitForNoCSS selector to wait for before capturing.
blockAdsNoBlock ads and trackers during render. Default: true.
cacheTtlNoOptional Redis artifact-cache TTL in seconds (60–604800). Must stay strictly below the 7-day object lifetime.
darkModeNoRequest prefers-color-scheme: dark. Default: false.
fullPageNoWhen true, capture the full scrollable page. Default: false (viewport).
responseNoDelivery mode. `url` (default) returns a hosted CDN URL valid for 7 days. `base64` returns the image bytes inline when small enough.url
selectorNoCSS selector to clip the screenshot to a single element. Cannot be combined with fullPage.
cacheModeNoCache behavior. `enabled`: read from cache if present, else fetch and write to cache. `bypass`: always fetch fresh, ignoring and not updating the cache. `write_only`: always fetch fresh, but write the result to cache without reading from it first. Default: `enabled`.enabled
waitUntilNoNavigation wait condition. `networkidle` is bounded and resolves on idle or a short cap, whichever comes first. Default: load.load
viewportWidthNoViewport width in CSS pixels. Default: 1280.
viewportHeightNoViewport height in CSS pixels. Default: 800.
deviceScaleFactorNoDevice scale factor (1–3). Default: 1.
blockCookieBannersNoDismiss/block cookie consent banners. Default: true.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations (readOnlyHint: true, openWorldHint: true) already cover the read-only and external network access behavior. The description adds the 'hosted image artifact' detail, which hints at the return format, but it does not disclose other behavioral aspects like the 7-day artifact lifetime, caching behavior, or that it might fetch external resources. Given the annotations, a score of 3 is appropriate—the description provides a small extra but not significant behavioral 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence with the action front-loaded. It is extremely concise with zero fluff, conveying the core purpose in eight words. This is an ideal length for a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 18 parameters, the schema fully documents them, and the description explicitly states the output type ('hosted image artifact'), the definition is largely complete. It lacks explicit mention of the 7-day URL validity and that the output is a URL by default, but these are captured in the 'response' parameter description. The presence of the output type in the description compensates for the lack of an output schema, and the schema handles the rest.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with detailed descriptions for all 18 parameters, including enums, defaults, and constraints. The tool description adds no parameter-specific information beyond what the schema already provides. Since the schema does the heavy lifting, the baseline of 3 holds—no additional value is contributed by the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Capture), the resource (screenshot of a public web page URL), and the output (hosted image artifact). It is concise and unambiguous, differentiating this tool from other web tools (e.g., web_extract_run, web_html_generate) by focusing specifically on screenshots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives (e.g., web_extract_run for text extraction, web_ask_run for questions). It does not mention limits like public URLs only, nor does it state when not to use it. There is no explicit routing or exclusion logic, leaving the agent to infer usage solely from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_search_runSearch the webB
Read-only
Inspect

Search the public web and return ranked organic results with snippets. Accepts a query. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default: 1.
queryYesSearch query text to run against the public web.
regionNoISO 3166-1 country code for localized results (e.g. US, GB, CA).
datePostedNoOptional filter by when results were posted.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds that results are organic and that pagination uses a cursor, which is useful. However, it doesn't disclose rate limits, error behavior, or result count limits. Given annotations exist, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences and front-loaded with the core purpose. The second sentence 'Accepts a query' is redundant but not harmful. Overall, it's efficient with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with four well-documented parameters and no output schema, the description covers the basics: what it does, returns a list, and pagination. However, the pagination instruction is vague and potentially misleading given the schema uses page numbers. It doesn't explain the output structure beyond 'snippets' or clarify what 'organic' means in practice. It's minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All four parameters have descriptions in the schema (100% coverage), so the description adds little beyond stating 'Accepts a query.' The mention of cursor pagination conflicts with the schema's 'page' parameter, which could confuse agents. Baseline 3 is appropriate because the schema carries most semantics, but the inconsistency slightly reduces it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches the public web and returns ranked organic results with snippets. This distinguishes it from platform-specific search tools and from web_ask_run, web_crawl_run, etc. However, it doesn't explicitly name alternatives, so it's not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like twitter_search_list or web_ask_run. It simply states what it does without context for selection. The only hint is 'public web' and 'organic results,' but no explicit when/when-not.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_channel_getGet YouTube channelA
Read-only
Inspect

Get YouTube channel details by channel id, handle, or URL. Returns channel metrics and identifiers for snapshot baselines.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional YouTube channel URL for the request.
handleNoOptional YouTube channel handle for the request.
channelIdNoOptional YouTube channel id for the request.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds value by specifying that it returns 'channel metrics and identifiers' intended for 'snapshot baselines', giving context on output content and purpose beyond the annotations. It does not discuss pagination, errors, or identifier exclusivity, but the additional note about snapshot baselines is a meaningful 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loads the verb and resource, and states the return purpose without redundancy. Every word contributes to understanding the tool's function and intended use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only fetch tool with a simple schema and no output schema, the description covers the main purpose and return type. It mentions metrics and identifiers, which suffices for most use cases. A minor gap is the lack of explicit guidance that exactly one identifier is needed, but this is implied by 'by channel id, handle, or URL'. Overall, the definition is adequate for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter (url, handle, channelId) described individually. The description adds the framing that these are alternative identifiers ('by channel id, handle, or URL'), which implies interchangeability, a nuance not explicitly in the schema. However, it does not clarify that at least one is required, nor does it specify behavior if multiple are provided. The added value is modest over the schema's already descriptive parameter comments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get', names the resource 'YouTube channel', and specifies the scope 'details by channel id, handle, or URL'. It clearly differentiates from sibling tools like youtube_channel_videos_list or youtube_channel_shorts_list, which are about videos, by focusing on channel metadata. The mention of returning 'channel metrics and identifiers for snapshot baselines' adds purpose specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you have a channel id, handle, or URL. It distinguishes from list-type siblings by focusing on 'details' rather than videos or shorts, but does not explicitly name alternatives or state when not to use it. The context is clear, but exclusions are left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_channel_shorts_listList YouTube channel shortsA
Read-only
Inspect

List Shorts from a YouTube channel (not long-form videos). Accepts a channel id or handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque pagination cursor returned by a previous response.
handleNoOptional YouTube channel handle for the request.
sortByNoOptional sort order for the returned YouTube Shorts.
channelIdNoOptional YouTube channel id for the request.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the read-only nature is covered. The description adds the pagination behavior ('use cursor when paginated') and the fact that it returns a list, which is useful for an agent deciding how to handle large result sets. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no extraneous detail. The core purpose is stated first, followed by key usage notes. Every clause earns its place; nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with no output schema, the description covers purpose, input methods, and pagination. It does not describe the shape of each list item, but that is not required given the tool name and missing output schema. The essentials for calling the tool correctly are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is documented. The description adds semantic value by explaining that channelId and handle are alternative identifiers (implying at least one is needed) and by clarifying cursor's role in pagination. This helps agents understand parameter relationships beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists Shorts from a specific YouTube channel, explicitly contrasting with 'long-form videos'. It also says it accepts a channel id or handle, which distinguishes it from channel-wide video listers like youtube_channel_videos_list and from trending Shorts tools like youtube_shorts_trending_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context by scoping to Shorts only ('not long-form videos') and notes the two ways to specify a channel (id or handle). It also mentions using a cursor for pagination. It stops short of explicitly naming alternatives or stating 'when not to use', but the exclusion of long-form videos is an implicit routing hint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_channel_videos_listList YouTube channel videosA
Read-only
Inspect

List long-form videos from a YouTube channel (not Shorts — use youtube.channel.shorts.list). Accepts a channel id or handle. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque pagination cursor returned by a previous response.
handleNoOptional YouTube channel handle for the request.
sortByNoOptional sort order for the returned YouTube videos.
channelIdNoOptional YouTube channel id for the request.
includeExtrasNoOptional flag to include richer per-video metadata when available.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety and mutation profile is covered. The description adds behavioral context beyond annotations: it clarifies that the tool returns long-form videos (excluding Shorts), returns a list, and uses a cursor for pagination. It doesn't contradict annotations and gives useful expectations about result structure and pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences, each carrying essential information: purpose, exclusion/alternative, and input/output/pagination. It is front-loaded with the core action and immediately resolves the most likely ambiguity (Shorts vs long-form). No redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with five optional parameters and no output schema, the description covers the essential behavior: what it lists, the key input options, and pagination. It doesn't explain sortBy or includeExtras, but those are fully described in the schema. It also lacks explicit note that channelId and handle are mutually exclusive, though 'or' implies it. Given the annotations and schema coverage, the description is sufficiently complete for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter has a schema description. The tool description adds meaning beyond that: it clarifies that either channelId or handle can be used (implied by 'Accepts a channel id or handle') and explains cursor usage ('use cursor when paginated'). This supplements the schema's generic descriptions, especially for cursor and the channel identifier selection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: 'List long-form videos from a YouTube channel', and immediately distinguishes itself from a sibling by saying 'not Shorts — use youtube.channel.shorts.list'. It also specifies input scope ('Accepts a channel id or handle') and output type ('Returns a list'). This clearly differentiates it from youtube_channel_get (channel metadata) and youtube_channel_shorts_list (Shorts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides a when-not-to-use and alternative: 'not Shorts — use youtube.channel.shorts.list'. It also gives input usage ('Accepts a channel id or handle') and pagination guidance ('use cursor when paginated'). This is direct and actionable for an agent deciding between tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_community_post_getGet YouTube community postB
Read-only
Inspect

Get a YouTube community post by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic YouTube community post URL.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description simply says 'Get', which aligns with the readOnlyHint annotation. However, it adds no behavioral context beyond what the annotations already declare. It does not mention any potential variations in response structure (despite openWorldHint), authentication requirements, or how the post data is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tight sentence that gets straight to the point. It is appropriately concise with no wasted words, though it is minimal. It is front-loaded with the verb and object, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with a single parameter and no output schema, the description is adequate but not full. It omits any detail about the returned data structure or how to construct a valid URL, which could be useful. However, the tool's purpose is clear enough that an agent likely can call it correctly without extra context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers the 'url' parameter with a description ('Public YouTube community post URL.'), achieving 100% coverage. The tool description does not add any further meaning or usage details about the parameter, so it earns the baseline score for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the specific resource ('YouTube community post'), and specifies the method ('by URL'). This distinguishes it from other YouTube tools like youtube_video_get or youtube_channel_get, as well as platform-specific get tools for other services.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. Sibling tools include youtube_video_get, youtube_channel_get, and similar getters for other platforms, but there is no mention of scenarios where this specific tool is appropriate or when to prefer a different one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_playlist_getGet YouTube playlistA
Read-only
Inspect

Get a YouTube playlist by playlist id.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlistIdYesYouTube playlist id, or a YouTube playlist URL (the `list` query value is used when present).

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is known. The description 'Get' is consistent with read-only. It adds no extra behavioral details—such as what playlist data is returned or that URLs can be accepted (though schema covers that). With annotations, 3 is appropriate for minimal additional 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One clear, succinct sentence with no redundancy. It is appropriately short and front-loaded with the core purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with one parameter and readOnlyHint, the description is largely adequate. However, with no output schema, the agent might benefit from knowing what is returned (e.g., playlist details, items). The tool name and schema cover most context, so it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter is fully documented in the input schema. The description merely restates that it uses a playlist id, which is redundant. No additional semantic information beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('YouTube playlist') with the identifying parameter (playlist id). It is distinct from sibling tools like youtube_video_get or youtube_channel_get, so an agent can differentiate based on resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention that it is the only playlist-specific getter, nor any context like 'use for playlist details'. The description simply states the operation without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_search_hashtag_listSearch YouTube by hashtagA
Read-only
Inspect

Search YouTube content by hashtag (not free-text keyword — use youtube.search.list for that). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoOptional content filter.
cursorNoOpaque pagination cursor returned by a previous response.
hashtagYesHashtag to search for. A leading # is optional.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the read-only nature. The description adds that it 'Returns a list' and mentions pagination via cursor, which is valuable context beyond the annotations. No contradiction; it appropriately supplements the annotation data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero fluff. The primary action and scope are front-loaded, followed immediately by a clarifying contrast and a pagination hint. Every word earns its place, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with no output schema, the description covers the essential behaviors: what it does, how it differs from keyword search, and how to handle pagination. The optional 'type' parameter is documented in the schema, so the description doesn't need to repeat it. Nothing critical is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — all parameters (hashtag, type, cursor) have descriptions in the input schema. The tool description itself does not add extra semantic meaning beyond the schema, so the baseline of 3 applies. It neither re-explains nor contradicts the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches YouTube content by hashtag, with a specific verb and resource. It explicitly differentiates from free-text keyword search by naming the alternative tool (youtube.search.list), which distinguishes it from the sibling youtube_search_list tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'not free-text keyword — use youtube.search.list for that', providing clear when-not guidance and naming the alternative. Additionally, it instructs to 'use cursor when paginated', covering pagination usage. This is explicit and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_search_listSearch YouTubeA
Read-only
Inspect

Search YouTube videos, channels, and playlists by free-text keyword (not hashtag — use youtube.search.hashtag.list for that). Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoOptional content type filter for search results.
queryYesSearch query text for YouTube content.
cursorNoOpaque pagination cursor returned by a previous response.
regionNoOptional ISO 3166-1 country code for localized search results.
sortByNoOptional sort order for search results.
durationNoOptional duration filter for video results. Applies to videos, not shorts.
uploadDateNoOptional upload date filter for video results.
includeExtrasNoWhen true, returns richer per-video metadata when available. May increase response time.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to restate that. It adds value by noting the pagination behavior ('use cursor when paginated') and the exclusion of hashtag searches, which are useful behavioral details beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the core action (search by free-text keyword) and then adding the key differentiator and pagination note. There is zero redundancy; every clause serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 8 parameters but full schema coverage, and no output schema, the description adequately covers the main behaviors: search scope, return type, pagination, and the hashtag exclusion. It doesn't elaborate on filters or sort options, but those are well-documented in the schema, so nothing critical is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 all parameters including query, type, cursor, etc. The description only reinforces the 'free-text keyword' nature of the query parameter and the cursor usage, but adds no new semantic detail. With full schema coverage, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches YouTube videos, channels, and playlists by free-text keyword, and explicitly distinguishes itself from hashtag search by naming the sibling tool. It also specifies the return type (a list) and the pagination mechanism, making the tool's purpose 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit exclusion ('not hashtag') and directs users to the correct alternative (youtube.search.hashtag.list). It also mentions when to use the cursor for pagination, giving clear operational guidance. This fully addresses when to use this tool versus its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_video_comments_analysis_getAnalyze YouTube video commentsC
Read-only
Inspect

Analyze YouTube video comments. Accepts a video URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the YouTube video whose comments should be listed.
orderNoComment sort order to analyze. Defaults to `top` for the strongest signal.

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=true, so the agent knows the operation is safe and may reference external data. The description adds no behavioral context beyond a vague 'Analyze'—it doesn't disclose what the analysis entails, whether it fetches all comments or a sample, any rate-limit considerations, or what the response contains. Since annotations already cover read-only, the description contributes little.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (two sentences) and non-repetitive overall, but the second sentence 'Accepts a video URL' is redundant given the schema already specifies a required 'url' parameter. It is concise but not front-loaded with the most distinguishing info, and the word 'Analyze' carries the entire burden of meaning without elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that claims to 'analyze' comments, the description is incomplete: it does not specify what analysis is performed, what the output looks like, or how the 'order' parameter influences the analysis. There is no output schema to clarify return values, so the description should compensate but doesn't. The agent cannot predict what the tool actually does beyond retrieving comments and calling it 'analysis.'

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both 'url' and 'order' have clear descriptions in the schema. The description only repeats that a URL is accepted, adding no new meaning about parameter formats, defaults, or constraints. The baseline of 3 applies because the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Analyze' and resource 'YouTube video comments', which is clear at a high level. However, 'analyze' is vague—it doesn't specify what kind of analysis (sentiment, spam, engagement, etc.) or how it differs from sibling tools like youtube_video_comments_list, which just lists comments. The name itself is more informative than the description in distinguishing this as an analysis tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as youtube_video_comments_list or youtube_video_comments_replies_list. The description does not mention any prerequisites, what type of analysis is performed, or when 'analysis' would be preferred over a plain comment listing. The agent is left to infer usage 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.

youtube_video_comments_listList YouTube video commentsA
Read-only
Inspect

List comments on a YouTube video by URL. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the YouTube video whose comments should be listed.
orderNoComment sort order. `top` returns highest-ranked comments; `newest` returns the most recent comments.
cursorNoOpaque cursor from a previous response to fetch the next page.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=true, so the safety profile is already known. The description adds the pagination hint (cursor usage) but does not explain other behaviors like rate limits, completeness, or what the returned list contains. Given that annotations cover the core safety disclosure, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. The primary purpose is front-loaded, and the pagination note is efficiently placed. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with full schema coverage, annotations, and a clear name, the description is nearly complete. It captures the essential behavior (returns a list, paginated via cursor) without needing to explain the output schema (none provided). Minor omissions like authentication requirements are not critical here given the read-only nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters are documented in the schema. The description adds minimal semantic value beyond clarifying the purpose ('by URL') which is already obvious. It does not elaborate on order or cursor semantics, but the schema already explains them. Baseline 3 fits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list comments) and the resource (a YouTube video by URL). It does not explicitly differentiate from sibling tools like youtube_video_comments_analysis_get or youtube_video_comments_replies_list, but the name and description are unambiguous enough for a basic read operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a usage hint about cursors for pagination ('use cursor when paginated'), which is helpful. However, it does not mention when to prefer this tool over the analysis or replies siblings, or any exclusions or prerequisites. The usage context is 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.

youtube_video_comments_replies_listList YouTube comment repliesB
Read-only
Inspect

List replies to a YouTube comment. Accepts a from video comments. Returns a list (use cursor when paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorYesComment `repliesCursor` from Video Comments endpoint, or `page.nextCursor` to paginate replies.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and non-determinism. The description adds the pagination behavior ('use cursor when paginated') and indicates a list return, but does not add deeper context such as rate limits or data freshness. Doesn't contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, but the second sentence 'Accepts a from video comments' is an incomplete fragment that detracts from clarity. The first and third sentences are efficient, but the overall structure is flawed by the typo.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has one parameter and no output schema, so the description should explain that the cursor comes from a prior call to youtube_video_comments_list. This critical prerequisite is not stated, leaving an agent unsure how to obtain the required input. The description also doesn't clarify that replies are nested under a specific top-level comment, which is central to the tool's purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema thoroughly explains the cursor parameter (repliesCursor and page.nextCursor). The description adds a broken phrase 'Accepts a from video comments' that is likely a typo for 'cursor' and adds no new meaning; it could actually confuse an agent. Since the schema carries the meaning, the description fails to add value and contains a grammatical error.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'List replies to a YouTube comment' with a specific verb and resource, clearly distinguishing this from sibling tools like youtube_video_comments_list (which lists comments on a video) and youtube_video_comments_analysis_get (analysis). No ambiguity about 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. It mentions 'Accepts a from video comments' but this is a broken fragment and doesn't explain the need to first call youtube_video_comments_list to obtain a repliesCursor. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_video_getGet YouTube videoA
Read-only
Inspect

Get a single YouTube video by URL. Channel lives under channel (not author); publish time is publishedAt.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the YouTube video. Shorts URLs are also supported.
languageNoOptional preferred language for returned text when the source supports localization.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description does not contradict this. It adds valuable context about the response structure—clarifying that the channel field is named 'channel' (not 'author') and the publish time is 'publishedAt'—which helps agents interpret results correctly. This goes beyond annotations without conflicting with them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is composed of two efficient sentences. The first sentence delivers the primary purpose, and the second adds two useful field clarifications without fluff. It is front-loaded and every word contributes value, though it slightly exceeds the minimal needed length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only get tool with only two parameters and no nested objects, the description is largely complete. It conveys the core operation and clarifies response field naming. It does not describe return format in detail, but given the tool's simplicity and the presence of annotations, what is missing is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters (url and language), each with detailed descriptions. The tool description adds no extra semantic detail beyond what the schema already provides—it merely restates 'by URL' and offers field clarifications unrelated to parameters. Thus, 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Get') and resource ('a single YouTube video by URL'), immediately distinguishing it from sibling tools like youtube_channel_get or youtube_playlist_get. It also narrows scope with 'single' and provides a pointer to the URL parameter, leaving no ambiguity about what this tool retrieves.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through its clear purpose, but it does not explicitly mention when to use this tool versus alternatives (e.g., youtube_video_comments_list for comments, youtube_video_transcript_get for transcripts). No exclusions or when-not guidance is given. The field clarifications (channel, publishedAt) hint at output expectations but not at selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_video_transcript_getGet YouTube video transcriptB
Read-only
Inspect

Get the transcript for a YouTube video by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the YouTube video whose transcript should be returned.
languageNoOptional ISO 639-1 language code (two letters) to prefer when multiple transcripts exist.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to restate that. However, the description adds no additional behavioral context beyond the operation itself—such as what the returned transcript looks like, error behavior if no transcript exists, or language preference handling. It is purely a restatement of the tool's name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It is appropriately sized for a simple tool, though it is so minimal that it does not provide any helpful structural elements beyond the basic action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 explain what the tool returns, but it does not. It also does not mention behavior around the optional language parameter or edge cases like missing transcripts. Given the tool's simplicity, the description is incomplete for an agent that needs to know what to expect from the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'url' and 'language' already described in the schema. The description adds no additional meaning beyond what is in 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/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get'), a clear resource ('transcript for a YouTube video'), and the input method ('by URL'). It clearly differentiates from sibling transcript tools for other platforms (e.g., facebook_post_transcript_get, tiktok_video_transcript_get) by naming YouTube explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as youtube_video_get or other platform transcript tools. There is no mention of use cases, prerequisites, or exclusions, leaving the agent to infer usage solely 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.

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Real-time LinkedIn, X (Twitter) and Reddit data for AI agents: profiles, companies, people search, tweets, subreddits, and search. Free start: self-mint a key in one call, no signup, no card.
    17
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides AI agents with unified access to 21 social media platforms and 105 endpoints for retrieving profiles, posts, comments, search results, trending content, and analytics without per-platform authentication.
    4
    190
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation5/5

Each tool is clearly scoped to a specific platform and action (e.g., facebook_post_get vs instagram_post_get). Descriptions explicitly differentiate similar tools across platforms, and within-a-platform tools like tiktok_search_videos_list vs tiktok_search_hashtag_list have clear disambiguation notes.

Naming Consistency5/5

All 167 tools follow a strict `platform_resource_action` pattern (e.g., youtube_video_comments_list). No mixing of styles—snake_case throughout, with consistent verb ordering (get, list, search, etc.).

Tool Count2/5

The server has 167 tools, which is far beyond the typical well-scoped range of 3-15. While the broad multi-platform scope justifies many tools, this extreme number makes the tool surface overwhelming and difficult for an agent to navigate efficiently.

Completeness4/5

The tool set covers a wide range of platforms and operations including profile retrieval, post/video fetching, comments, search, transcripts, and ad library access. Minor gaps exist (e.g., no Facebook events or LinkedIn messaging), but the surface is comprehensive for a read-only data aggregation use case.