Skip to main content
Glama

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
social-freak-ltd/socialfetch-mcp
GitHub Stars
1
Server Listing
Social Fetch MCP

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 3.8/5 across 167 of 167 tools scored. Lowest: 2.4/5.

Server CoherenceA
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.

Available Tools

188 tools
auth_whoamiWhoamiA
Read-only
Inspect

Get the authenticated API account for this session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds 'for this session,' clarifying scope. Beyond annotations, it does not disclose error handling or rate limits, which are less critical given the tool's simplicity.

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 efficiently conveys the purpose without extraneous 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?

Given the tool's simplicity (no parameters, no output schema, clear annotations), the description provides sufficient context 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?

No parameters exist, so description naturally adds no parameter details. Schema coverage is 100%, and with zero parameters, the baseline is 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?

Description clearly states the action ('Get') and the resource ('authenticated API account'), and it distinguishes itself from sibling tools by being specifically about the current session's identity.

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?

Description implies usage when needing to know the authenticated identity, but provides no explicit guidance on when to use vs alternatives or prerequisites like authentication status.

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

Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds context about use case but no additional behavioral details 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?

Single concise sentence that is front-loaded with the purpose. 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?

Given no parameters, no output schema, and clear annotations, the description is adequate. It could mention return value format, but not required for a simple balance check.

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?

Tool has no parameters and schema coverage is 100%. Description does not need to add parameter details, baseline score of 4 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?

Description clearly states verb 'Get', resource 'remaining credit balance', and context 'before running large batches of metered tools'. It distinguishes itself from sibling tools which are unrelated to billing.

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?

Explicitly advises using this tool 'before running large batches of metered tools'. Provides clear context for when it should be used, though no exclusions or alternatives mentioned.

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.
Behavior3/5

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

Annotations (readOnlyHint: true, openWorldHint: true) already declare safe read behavior. Description adds that it retrieves a single post by URL, which is consistent but does not disclose any additional traits like rate limits or return format.

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?

Single, front-loaded sentence with no extraneous text. 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?

Tool is simple with one param and no output schema. Description is adequate but could mention what the response contains. Sibling tools help contextualize. 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 provides 100% coverage with a description for 'url' param. Description does not add meaning beyond schema; 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?

Description clearly states verb 'Get' and resource 'a single Bluesky post' with method 'by URL', distinguishing it from sibling tools like bluesky_profile_get or bluesky_profile_posts_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?

No explicit when-to-use or alternatives guidance. Usage is implied by name and description but no exclusions or context for selecting this over similar tools.

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 @.
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safe, read-only behavior. The description adds no extra behavioral traits beyond stating 'Get', so it meets the baseline without contradicting 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 with two short sentences, no fluff, and directly addresses the tool's purpose.

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 tool with one parameter and good annotations, the description is adequate but does not mention what is returned (e.g., profile data fields). Could be slightly 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 coverage is 100%, and the schema already describes the handle parameter (including leading @). The description only says 'Accepts a handle,' adding no additional 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 the verb 'Get', the resource 'Bluesky profile', and specifies 'for a creator or account. Accepts a handle.' This distinguishes it from sibling tools like bluesky_profile_posts_list and other platform profile gets.

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 bluesky_profile_posts_list or tools for other platforms. The description lacks any when-not-to-use or context about prerequisites.

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.
Behavior4/5

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

Adds pagination behavior ('use cursor when paginated') beyond the readOnlyHint and openWorldHint annotations. 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 short, front-loaded sentences with no extraneous words. Every sentence 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?

Lacks details about response structure, limits, default ordering, or error handling. For a simple list tool this is 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?

Schema coverage is 100% so baseline is 3. The description does not add extra meaning beyond the schema's parameter descriptions, but it confirms the handle is key and cursor is for pagination.

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', the resource 'posts from a Bluesky profile', and the key parameter 'handle'. It distinguishes from sibling tools like bluesky_profile_get and bluesky_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 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 among the many sibling profile listing tools. Only mentions pagination but no context about when not to use.

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.
Behavior4/5

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

Annotations already indicate read-only and not open-world. Description adds mode behavior (outline vs full) and accepted paths, which enrich understanding without contradicting 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 sentences, front-loaded with main purpose, no redundant information. Every sentence contributes to clarity.

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 tool with 2 params and no output schema, the description fully covers how to use it, including mode differentiation and accepted path patterns.

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 covers both parameters fully (100% coverage). Description adds specific path pattern guidance for docsPathname, though mode description largely repeats schema. Overall adds some value beyond 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?

Clearly states the tool reads a docs page by pathname, distinguishes from sibling docs_search by emphasizing 'read' vs search, and specifies accepted path patterns.

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?

Explicitly describes when to use outline vs full mode, and lists accepted pathnames. Missing explicit when-not-to-use or alternative tools, but context is clear.

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.
Behavior3/5

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

Annotations already indicate read-only and open-world behavior; the description adds retrieval method but no additional 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?

Single sentence, no wasted text, clearly articulated.

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?

No output schema exists, but the description covers the core retrieval mechanism; absence of response format guidance is a minor gap for a straightforward get 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?

Schema coverage is 100%, so parameters are fully described in the schema; the description adds no extra meaning beyond mentioning the two identification methods.

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 by archive ID or URL, distinguishing it from search tools and platform-specific variants.

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 (single ad retrieval) but provides no explicit guidance on when not to use or which alternative to choose.

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 adsA
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.
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 mentions the cursor for pagination. This provides some behavioral context beyond annotations, but does not elaborate on rate limits or result ordering.

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, followed by a concise usage hint. No unnecessary words, every sentence serves a purpose.

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 11 parameters and no output schema, the description is minimally adequate. It states the return type (list) and pagination hint, but does not explain filter interactions or output structure. Could be more complete but not misleading.

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?

Input schema has 100% description coverage for 11 parameters, so baseline is 3. The description adds no additional parameter semantics 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 'Search Facebook Ad Library ads by keyword and filters', which is a specific verb (search) and resource (Facebook Ad Library ads). It clearly distinguishes from sibling tools like 'facebook_adLibrary_ad_get' (single ad) and 'facebook_adLibrary_companies_search' (companies).

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 mentions 'use cursor when paginated', providing a usage hint for pagination. However, it does not explicitly state when to use this tool versus alternatives like 'facebook_adLibrary_ad_get' or 'facebook_adLibrary_companies_search'. The implication is present but not explicit.

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 adsA
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.
Behavior4/5

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

Adds context beyond annotations: describes it as an Ad Library listing, mentions pagination. No contradictions with readOnlyHint and 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?

Two sentences front-load purpose and key usage info; 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?

Adequately covers purpose, inputs, and pagination for a list tool with 100% schema coverage; would benefit from response structure info but not critical given 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 coverage is 100%, so baseline 3. Description adds minor reinforcement about page id/company name and cursor, but schema already covers this 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?

Clearly states it lists ads from Facebook Ad Library for a specific company or Page, distinguishing it from sibling ad retrieval and 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?

Mentions acceptable identifiers (page id, company name) and pagination hint, but lacks explicit guidance on when to use vs. alternatives.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds value by specifying the return type ('Returns a list') and pagination behavior ('use cursor when paginated'), which are not conveyed 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?

Two short, front-loaded sentences with no filler. The description efficiently covers the core action, key input, and a critical pagination note.

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 and read-only annotations, the description is sufficient: it states the return type and pagination. It could elaborate on list item shape, but that is not strictly required given the tool's simplicity and schema richness.

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 all three parameters, including detailed sortBy semantics. The description only reinforces url as the lookup key and cursor for pagination, adding minimal 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 clearly states the action (list posts), the resource (a Facebook group), and the key input (group URL). This distinguishes it from facebook_profile_posts_list and other platform-specific list tools in the sibling 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?

Provides clear usage context: use this tool to list posts from a Facebook group by supplying its URL. It does not explicitly name alternatives or exclusions, but the resource and input are unambiguous enough for selection among sibling tools.

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 itemA
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.
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 'Get details' is consistent with a read operation but adds no additional behavioral context beyond what the 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 concise sentence with no extraneous information. It is well-structured and 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?

Given the tool's simplicity (2 optional params, no output schema, annotations covering readOnly), the description is adequate. It could mention the itemId parameter as an alternative to URL, but overall it provides enough context for basic 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?

Schema description coverage is 100%, so both parameters have descriptions. The tool description adds 'by item URL' but does not elaborate on the itemId parameter, which the schema already covers sufficiently.

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 'Get details for a Facebook Marketplace listing', indicating the verb and resource. However, it only mentions 'by item URL' and omits the alternative itemId parameter, which is a minor oversight.

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 like facebook_marketplace_search_list. Usage is implied: use when you have a URL or ID, but no exclusions or context are provided.

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.
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 results are returned as a list and that pagination uses a cursor, which is useful context beyond the annotations. However, it does not disclose more about result shape, completeness, or fallback behavior. 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 two clean, front-loaded sentences that communicate purpose and key usage (list result, pagination via cursor) without any filler or repetition of schema 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?

Given the rich schema (100% parameter coverage) and no output schema, the description sufficiently communicates the core behavior, result type (list), and pagination. A small omission is guidance that lat/lng are optional but recommended for geo-scoped searches, yet the schema covers that. Overall adequate for a search-list 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?

The input schema already provides 100% description coverage for all 14 parameters, including constraints and semantic details (e.g., sortBy enum values, count vs limit deprecation). The description only minimally adds 'search by keyword and location' and cursor-pagination context, which the schema already covers, so the 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?

The description clearly states the tool searches Facebook Marketplace listings by keyword and location (latitude/longitude). It distinguishes itself from sibling tools like facebook_marketplace_item_get (single item fetch) and facebook_marketplace_locations_search (location search) by focusing on keyword-based listing 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 for keyword+location searches but does not explicitly state when to prefer this over alternative marketplace tools, nor does it mention exclusions or situations requiring facebook_marketplace_item_get. Context is clear but no explicit alternatives are named.

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 commentsA
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.
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 correctly implies a safe read operation. It adds pagination context but does not disclose additional behavioral traits like rate limits or authentication needs.

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 at two sentences and front-loads the core purpose. Every word earns its place with no 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 tool's simplicity and good schema coverage, the description is nearly complete. It mentions pagination and returns a list, but does not explicitly state that it returns top-level comments only (implied by a sibling tool for replies).

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 clear descriptions for all three parameters. The description reinforces the use of 'url' and 'cursor' but adds no substantial 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 clearly states the tool lists comments on a Facebook post or Reel by URL, using a specific verb and resource. It distinguishes itself from siblings like facebook_post_comments_replies_list and facebook_group_posts_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?

The description provides clear context on how to use the tool (provide URL, handle pagination with cursor). It does not explicitly exclude alternatives or state when not to use it, but the purpose is specific 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.

facebook_post_comments_replies_listList Facebook comment repliesB
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.
Behavior3/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds that it returns a list and mentions pagination. However, it does not disclose any additional behavioral traits like rate limits or authentication requirements. The description 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.

Conciseness3/5

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

The description is short (two sentences) but contains a grammatical error ('Accepts a from post comments'). It is not as polished as it could be, though it front-loads the main idea. Each sentence adds some value, but clarity suffers.

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 fully explained in schema and no output schema, the description provides minimal context about return values (just 'Returns a list'). It does not elaborate on the structure of the list or potential errors. Adequate but not thorough.

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 description for 'cursor' is comprehensive, explaining it comes from comment repliesCursor or page.nextCursor. The tool description adds nothing beyond the schema (the phrase 'Accepts a from post comments' is less clear). With 100% schema coverage, 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?

Title and description clearly state the tool lists replies to a Facebook comment. However, the phrase 'Accepts a from post comments' is grammatically incomplete, causing minor confusion. Overall, the verb (list) and resource (comment replies) 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 Guidelines3/5

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

The description mentions using 'cursor' from post comments and pagination, which gives some usage context. But it does not explicitly state when to use this tool versus sibling tools like 'facebook_post_comments_list' or similar ones for other platforms. No alternative tool names are provided.

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 reelA
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.
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's job is lighter. However, the description merely restates that the tool fetches content by URL and does not add behavioral context (e.g., error behavior, rate limits, or return structure). It is adequate but not enhanced.

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 is front-loaded and immediately conveys 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?

Given the simplicity of the tool (a retrieval operation with well-documented parameters and annotations), the description is largely sufficient. It could mention that the tool returns post/reel details, but the openWorldHint covers this. Minor gap in not describing output format, but acceptable for a straightforward getter.

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 three parameters (url, includeComments, includeTranscript) with descriptions. The tool description adds no additional meaning beyond what the schema provides, warranting the baseline score.

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'), identifies the resource ('Facebook post or Reel'), and specifies the method ('by URL'). Among sibling tools, this clearly distinguishes itself from other Facebook-specific tools like facebook_post_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 implies usage when one has a Facebook post or reel URL, but it does not explicitly state when to use this tool versus alternatives (e.g., facebook_post_comments_list or facebook_post_transcript_get). No when-not or exclusion criteria are provided.

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.
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 cover safety. The description adds minimal behavioral context beyond the annotations, such as the requirement for a URL. 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?

One concise sentence that clearly states the tool's purpose. 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?

The tool is simple with one parameter and no output schema. The description is sufficient for an AI agent to understand its basic use. Could be improved by noting edge cases (e.g., no transcript available), but overall complete given low complexity and 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 single parameter 'url' is fully described in the input schema. The description does not add additional meaning beyond the schema, which is sufficient. Baseline score of 3 due to 100% schema description 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?

Describes exactly what the tool does: get the transcript of a Facebook post or Reel by providing a URL. The verb 'Get' and resource 'transcript' are specific, and it is clearly distinct from sibling tools like facebook_post_get or facebook_post_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?

Implies usage by stating the function, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., for audio-based content). No prerequisites or exclusions mentioned. Adequate for a simple read operation.

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 profileC
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.
Behavior2/5

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

Annotations already declare readOnlyHint and openWorldHint. The description simply restates the action without adding behavioral context, such as authentication requirements, rate limits, or how errors are handled. The inaccuracy about username also harms transparency.

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 a single sentence, front-loaded, but includes inaccuracies. It could be more concise if accurate, but the misleading element reduces efficiency.

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 simple read tool with no output schema, the description minimally indicates what is retrieved but lacks details on response shape, pagination, or what constitutes a 'profile or Page'. It is incomplete for confident invocation.

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% with clear parameter descriptions, but the description's mention of 'by URL or username' creates confusion since no username parameter exists. This overpromises and diminishes the semantic value added.

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 clearly states the verb 'Get' and the resource 'Facebook profile or Page', but is misleading by claiming retrieval by 'URL or username' while the schema only includes a 'url' parameter, not a username field. This 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 guidance is provided on when to use this tool versus sibling tools (e.g., facebook_profile_photos_list, facebook_profile_posts_list). The description does not specify context or prerequisites, leaving the agent without decision support.

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`.
Behavior4/5

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

The description adds behavioral detail beyond the annotations: credit cost structure (1 base, +2 per hosted asset with max limits) and that failed assets are not surcharged. This is useful for decision-making, though it doesn't cover all edge 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?

Two concise sentences, front-loaded with the primary action, then cost details. No fluff.

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 simple list operation and full schema coverage, the description is adequate. It covers purpose and cost, but doesn't describe the response structure or pagination behavior beyond the cursor parameter. Still, it's 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.

Parameters4/5

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

Schema covers all 3 parameters with descriptions. The tool description adds cost implications for hostMedia and mentions limits, which is beyond the schema. It doesn't add anything for url or cursor, but schema already covers those.

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') plus resource ('photos from a Facebook profile or Page'), and the tool name/title reinforce the exact scope. This clearly distinguishes it from sibling tools like facebook_profile_get and facebook_profile_posts_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 provides no explicit when-to-use guidance or alternatives. It simply states the operation, leaving the agent to infer from the name that it's for photos. No exclusions or comparison to sibling tools.

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`.
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds valuable behavioral details beyond that: it discloses the credit cost structure (1 base, +2 per hosted asset with caps) and states that failed assets are not surcharged. 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?

Two concise sentences front-load the primary purpose and input options, then add cost details. Every sentence 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.

Completeness3/5

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

The description covers input forms and pricing well, but with no output schema, it does not describe return values or pagination behavior beyond the cursor parameter. For a read-only list tool with good annotations, this is adequate but leaves some gap regarding output shape.

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 covers all 4 parameters, so baseline is 3. The description adds meaning by mapping 'url' and 'pageId' to accepted identifiers and explaining the cost impact of 'hostMedia', including the 24/49 cap and no surcharge for failed assets. This goes beyond the schema's plain parameter descriptions.

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 posts') and the resource ('Facebook profile or Page'). It distinguishes from sibling tools like facebook_group_posts_list, facebook_profile_photos_list, and facebook_profile_reels_list by specifying the scope as profile or Page posts.

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 (for Facebook profile or Page posts) and explains accepted input forms (URL or page id). It does not explicitly mention alternatives or exclusions, but the context is sufficient given the tool name and sibling set.

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`.
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint, but the description adds valuable behavioral context: credit costs, hostMedia surcharge, and that failed assets are not surcharged. This goes beyond the annotations and helps the agent understand pricing and failure handling, though it does not describe output format or 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 two sentences, front-loaded with the core purpose, and every sentence provides distinct value: first the action/resource, then URL acceptance, then cost details. No redundant or filler content.

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 purpose, input type, and cost model. It lacks explicit mention of the return format or pagination, but the schema documents cursor and the name implies a list of reels. It is complete enough for a read-only listing 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?

Schema description coverage is 100%, so the baseline is 3. The description adds minor semantics by explaining credit implications for hostMedia (e.g., '+2 per hosted asset'), but does not substantially enhance understanding beyond the schema. The cursor and url parameters are already well-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 clearly states the tool lists Reels from a Facebook profile or Page and accepts a profile or page URL. The verb 'List' and resource 'Reels' are specific, and it distinguishes from sibling tools like facebook_profile_posts_list and instagram_profile_reels_list by naming the platform and content 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 implies when to use the tool (when you need Facebook profile/Page reels) but does not explicitly mention alternatives or when not to use it. It lacks a direct reference to sibling tools or exclusions, leaving usage context 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.

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.
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 lower. It adds useful behavioral details: one-month temporal scope and pagination via cursor. 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?

Two sentences, no filler. The first sentence delivers the core purpose and key constraint. The second adds parameter context and return type. Every sentence is informative and essential.

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 three parameters and no output schema, the description covers purpose, scope, and pagination. It could hint at the content of the returned list (e.g., event types) to improve completeness, but 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%, so all parameters are described structurally. The description adds no extra meaning beyond the schema: it mentions 'accepts a username' (handle) and 'use cursor when paginated' (cursor), but these replicate schema descriptions.

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 recent public activity for a GitHub profile, with the specific constraint of one month per request. This verb+resource combination is distinct among sibling tools (e.g., github_profile_get, github_profile_contributions_get).

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 vs alternatives. It does not mention when not to use it or provide context for selecting it over other github_profile_* tools. The 'one month per request' detail is descriptive but not comparative.

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 @.
Behavior3/5

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

Annotations mark the tool as readOnlyHint=true and openWorldHint=true, which the description does not contradict. However, the description adds no behavioral context beyond what annotations provide, such as that the graph is for a specific year or what the output looks like. With annotations present, a score of 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 two sentences, immediately stating the purpose and input. Every word adds value, with no fluff.

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, and the description does not specify what the contribution graph contains or its format. Given the parameter count and annotations, the description is adequate but could be more informative about the return value.

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 covers 100% of parameters with descriptions. The description adds no new semantic detail beyond what the schema provides, such as explaining that 'year' defaults to the current year. 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 the tool's function: getting the contribution graph for a GitHub profile for a given year. The verb 'Get' and resource 'contribution graph' are specific, and the tool is distinct from sibling tools that handle other GitHub data like followers or repositories.

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 limitations, prerequisites, or contrast with similar tools like github_profile_get or github_activity_list.

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.
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 result is a list and to use cursor when paginated, which provides useful context beyond annotations. However, it does not disclose what fields the list items contain or any rate limiting concerns.

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?

Extremely concise: two sentences that front-load the main action. Every sentence is necessary and no wasted words. Perfectly structured for quick comprehension.

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 annotations, the description is adequate but minimal. It does not describe the return format (e.g., list of usernames or full profiles), which could be important for an agent. Given no output schema, more detail on return 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 covers 100% of parameters with descriptions. The description adds 'Accepts a username' for handle and 'use cursor when paginated' for cursor, but these are largely redundant with the schema descriptions. Baseline 3 is appropriate as description adds minimal new meaning.

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 clearly states 'List followers for a GitHub profile', specifying the action and resource. However, it does not explicitly differentiate from the sibling tool 'github_profile_following_list' which lists who the user follows.

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?

Description mentions it accepts a username and returns a paginated list, but lacks guidance on when to use this tool versus alternatives (e.g., when to use followers vs following list, or prerequisites like needing a valid username).

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.
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 only that it returns a list and pagination hint, which does not significantly extend understanding of behavioral traits beyond what annotations provide. No mention of rate limits, auth, or 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?

The description is exceptionally concise: a single brief sentence plus a parenthetical note about pagination. No extraneous words, and every part adds value. Perfectly 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?

The description covers the core functionality, input, and pagination behavior adequately. While it lacks details about the return structure (no output schema), the tool is straightforward and 'returns a list' suffices for use. Could mention that accounts are GitHub profiles but not 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 coverage is 100% with clear descriptions for both parameters (cursor and handle). The description reinforces that the tool accepts a username and suggests using cursor for pagination, but does not add substantive meaning beyond the schema. 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 'accounts a GitHub profile follows'. It explicitly mentions accepting a username and returning a list with pagination hint, making the tool's purpose unambiguous. It distinguishes from siblings like github_profile_followers_list by specifying 'following'.

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 indicates the tool accepts a username and mentions pagination with cursor. However, it does not explicitly state when to use this tool over alternatives or provide conditions for exclusion. The guidance is clear but lacks explicit differentiation from sibling tools like github_profile_followers_list.

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 @.
Behavior2/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 minimal behavioral context beyond what annotations provide—it does not discuss rate limits, authentication requirements, or the structure of the returned 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: first clearly states purpose, second adds a constraint on the parameter. No wasted words, front-loaded with the core action.

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), the description is minimally adequate. It does not specify what profile fields are returned, but annotations provide safety context. For a basic get tool, this is acceptable but could be improved by mentioning typical response 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% for the single parameter 'handle', which already explains it accepts a GitHub username with or without '@'. The description's mention of 'user or organization' adds marginal context but does not significantly extend schema 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 clearly states the verb 'Get', the resource 'GitHub profile', and specifies it works for user or organization, distinguishing it from sibling tools like github_profile_activity_list or github_profile_contributions_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 description implies usage for retrieving a profile, but does not explicitly state when to use this tool versus other GitHub profile tools like github_profile_contributions_get or github_profile_repositories_list, nor does it provide when-not-to-use guidance.

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

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.
Behavior4/5

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

Adds value beyond annotations by mentioning cursor-based pagination. Annotations already declare readOnly and openWorld, so 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 front-loaded verb, no redundant 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?

Lacks output schema; description only says 'returns a list' without detailing response fields. Adequate but incomplete for a 5-parameter 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 coverage is 100%, so baseline is 3. Description only mentions 'username' without adding new insight into other parameters like sort, type, direction, or cursor.

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?

Clearly states it lists repositories for a GitHub user or organization, distinguishing it from sibling tools like github_profile_get or github_repositories_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?

Provides input requirement (username) and pagination hint (cursor usage), but does not explicitly contrast with alternatives or state when not to use.

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.
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 adds no new behavioral context. It does not disclose potential limitations like URL validation, auth requirements, or response format. With annotations present, a score of 3 is appropriate as the description merely restates the tool's purpose.

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 unnecessary words. It is front-loaded and directly conveys the tool's 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?

For a simple, read-only tool with one well-defined parameter and informative annotations, the description is sufficiently complete. It does not require further detail on return values or edge cases, though a note on non-existent URLs 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 coverage is 100%, with the 'url' parameter described as 'Full public GitHub repository URL.' The tool description does not add additional semantic meaning beyond what the schema provides, so a baseline score 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 the action ('Get') and resource ('a single GitHub repository'), and specifies the identifier ('by URL'). It is distinct from sibling tools which target different platforms or different GitHub operations.

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 github_profile_repositories_list for listing repos or other platform-specific get tools. No exclusions or prerequisites are mentioned.

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.
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 the context that the input is a 'public Ad Transparency URL', which is helpful. It is consistent with annotations and does not introduce 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?

The description is a single, clear sentence with no unnecessary words. It is front-loaded and efficient, earning its place fully.

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 one parameter and no output schema, the description is sufficient. It explains what the tool returns (a creative) and how to specify it (by URL). Minor omission: no mention of output format or that the URL must be from Google Ad Transparency, but still largely 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% with a clear description for the 'url' parameter. The description's mention of 'public Ad Transparency URL' adds minimal extra meaning beyond the schema, 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 ('Get'), the resource ('single Google Ad Transparency creative'), and the specific input method ('by public Ad Transparency URL'). It effectively distinguishes from sibling tools like facebook_adLibrary_ad_get or linkedin_adLibrary_ad_get by explicitly naming 'Google Ad Transparency'.

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 need a specific ad by its URL) but does not provide explicit guidance on when to use this tool versus alternatives like google_adLibrary_advertisers_search or google_company_ads_list. No exclusions or context cues are given.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds behavioral context about cursor-based pagination and clarifies the return type (list), which is not in 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, front-loaded with the core purpose. Every sentence adds unique information 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 description covers main behavior, input options, and pagination. With no output schema, it could detail return fields, but the mention of 'list' and 'cursor' is sufficient for an agent. The 9 parameters are well-documented in 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%, so baseline is 3. The description adds value by indicating mutual exclusivity of domain and advertiser ID (implicitly). It also explains cursor usage for pagination, going beyond schema descriptions.

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 ads for a company or advertiser from Google Ad Transparency, accepting domain or advertiser ID. It distinguishes from siblings like facebook_company_ads_list or google_adLibrary_ad_get by specifying the source and input.

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 input requirements (domain or advertiser ID) and pagination guidance (use cursor). It lacks explicit when-not-to-use alternatives but is sufficient for selecting this tool among Google ad tools.

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.
Behavior3/5

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

Description adds basic behavioral context (retrieves ancestor chain) but does not disclose error handling (e.g., behavior if comment not found) or additional traits. Annotations already mark the tool as read-only and open-world, so the description is adequate without being 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 extremely concise: two sentences, no wasted words. First sentence states the core function, second specifies input. Perfectly front-loaded for quick parsing.

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 single-parameter tool with no output schema, the description is minimally complete: it defines the input and core behavior. However, it lacks details about the returned structure (e.g., format of ancestor chain) which would aid an agent in using the output.

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 for the sole parameter 'id' is 100% (schema describes it as 'Hacker News comment id'). The description merely restates 'Accepts a comment id,' adding no new semantics beyond the schema. Baseline score 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 the tool retrieves a Hacker News comment with its ancestor chain to the root story. It uses specific verbs ('Get') and a resource ('comment with ancestor chain'), which distinguishes it from sibling tools like 'hackernews_item_get' (generic item fetch) and 'hackernews_story_comments_list' (list comments for a story).

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 specify conditions for use, such as needing full context versus a single item, nor does it mention alternatives like 'hackernews_item_get' for fetching a single comment.

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.
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 and open-world nature is established. The description adds that it returns a list and mentions pagination, which is useful extra context beyond the annotations. It does not provide deeper behavioral details like rate limits or result ordering, but 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?

The description is three short sentences, each earning its place: what the tool lists, the accepted feed name, and return/list behavior with pagination note. There is zero fluff or redundancy, and it is front-loaded with the verb and resource.

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?

Despite having no output schema, the description states it returns a list and gives pagination guidance. With 4 parameters and rich schema descriptions, the tool is sufficiently described for an agent to select and call it correctly. Slightly more detail (e.g., ordering or default behavior) could push it to 5, but it is complete for typical 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?

Schema coverage is 100%, with all parameters described in detail (feed enum, page, limit, pageSize). The description adds only a brief pagination hint ('use page/pageSize when paginated') which duplicates but reinforces schema info. No significant additional meaning is added 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.

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 clearly identifies the resource 'Hacker News feed', with the feed types enumerated (top, new, best, ask, show, jobs). This distinguishes it from sibling tools like hackernews_story_get or hackernews_search_list, which target different resources.

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 the tool: to list Hacker News feeds by type. It also gives a usage hint for pagination ('use page/pageSize when paginated'). However, it does not explicitly state alternatives or when not to use this tool, stopping 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.

hackernews_item_getGet Hacker News itemB
Read-only
Inspect

Get a Hacker News item by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesHacker News item id.
Behavior2/5

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

The description does not add behavioral context beyond the annotations. While annotations declare readOnlyHint and openWorldHint, the description fails to mention what happens if the id is invalid, the item type, or the nature of the returned 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?

The description is a single, concise sentence with no redundant information. Every word is essential for conveying the core function.

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 with one parameter and read-only annotations, the description is minimally adequate. However, it could be improved by hinting at the variety of item types or the absence of pagination.

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 id parameter fully described. The tool description does not add further semantic value beyond the schema, aligning with the baseline expectation.

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 ('Hacker News item'), and the method ('by id'). It effectively distinguishes from sibling tools like hackernews_story_get by being generic for any item 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?

The description provides no guidance on when to use this tool versus alternatives such as hackernews_story_get or hackernews_comment_context_get. No exclusion criteria or context for usage is given.

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.
Behavior4/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description adds behavioral context: it returns only top-level job comments, supports selecting a specific month, and notes pagination via 'page/pageSize'. This gives the agent useful expectations about output structure and optional parameters.

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 including brief, relevant specifics about thread selection and pagination. No redundant or unclear 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?

With four optional parameters and no output schema, the description covers the main behavioral aspects: what is listed, the thread selection, and pagination. It doesn't describe the fields in each job item, but for a list tool this is likely sufficient alongside the tool name.

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 all four parameters (page, limit, month, pageSize), so the baseline is 3. The description's 'use page/pageSize when paginated' reiterates the schema without adding new meaning, and it doesn't mention the preferred 'limit' parameter, though the schema clarifies precedence.

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 clearly identifies the resource as 'top-level jobs from the monthly Hacker News Who is Hiring thread', with an option to select a specific month. This distinguishes it from sibling tools that list general HN feeds, stories, or user activities.

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 use case clear: it returns hiring-related job comments, with the default as the latest thread or a given YYYY-MM month. It doesn't mention alternative tools or exclusions, but the context is sufficiently clear that an agent would know when to select this tool over generic HN list tools.

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

Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safe read behavior. The description adds no further behavioral context (e.g., rate limits, id format). It adds minimal 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 a single, clear sentence with no extraneous information. It is front-loaded and every word 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?

For a simple parameterless tool with no output schema, the description adequately explains the return value (largest item id). Missing details like data type or format are minor given the tool's simplicity.

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 tool has zero parameters and schema coverage is 100%. The description does not add parameter semantics, but none are needed. 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 uses a specific verb ('Get') and clearly identifies the resource ('the current largest Hacker News item id'). It distinguishes this tool from siblings like hackernews_item_get which retrieves a specific item by ID.

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 (e.g., when to fetch a specific item vs the max ID). No when-not-to-use or alternative tool references are included.

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 NewsA
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.
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 covered. The description adds that it 'Returns a list' and advises using 'page/pageSize when paginated', which is useful operational context. However, it doesn't disclose other behavioral aspects like the 1,000-hit cap or the ability to omit query with filters, though these are 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.

Conciseness5/5

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

The description is a single sentence split into two clear clauses. It front-loads the action ('Search Hacker News by keyword') and then adds the list/pagination nuance. Every word earns its place; there is no redundancy or filler.

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 16 parameters but no output schema, the description is quite sparse. It doesn't mention that query can be omitted with filters like author/domain/url, nor does it indicate what types of content are searched. The schema covers parameter details, but the description could better orient the agent by noting the variety of filter options and the result 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 description coverage is 100%, so the baseline is 3. The description adds minimal parameter context by pointing to page/pageSize for pagination, but this is already described in the schema. It doesn't clarify parameter relationships (e.g., query being optional with filters) 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?

The description clearly states 'Search Hacker News by keyword', which identifies the specific verb (search), resource (Hacker News), and scope (by keyword). It also notes that it returns a list, distinguishing it from sibling tools like hackernews_item_get (single item) and hackernews_feed_list (feed browsing).

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 the tool: when you need to search Hacker News by keyword. It doesn't explicitly mention alternatives or exclusions, but the context is clear enough that an agent can infer it as a search tool. The pagination note provides a minor operational hint, though it doesn't discuss when not to use it.

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

hackernews_story_comments_listGet Hacker News story commentsC
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.
Behavior2/5

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

Annotations already indicate readOnlyHint=true (no mutation) and openWorldHint=true (unknown fields). The description adds only that cursor is used for pagination, which is minimal beyond annotations. No disclosure of rate limits, auth requirements, or response size expectations.

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

Conciseness4/5

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

The description is extremely concise with two short sentences front-loading the core purpose. Every word adds value, though it could be slightly more structured (e.g., listing parameters).

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 tool has three parameters and no output schema, the description does not explain return format, pagination details beyond 'use cursor', error handling, or examples. Annotations cover read-only and open-world aspects, but overall the description leaves significant gaps for an agent to use effectively.

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 three parameters (id, limit, cursor) having clear descriptions. The description adds no new parameter-level information beyond what the schema provides, so 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 verb 'list' and the resource 'comments on a Hacker News story'. It specifies the identifier is an 'id' and mentions paginated result. However, it does not explicitly differentiate from sibling Hacker News tools like hackernews_comment_context_get, which could cause confusion.

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., hackernews_story_get to get story details, or hackernews_comment_context_get for a single comment). It also lacks prerequisites or exclusions.

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.
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 need not repeat these. However, it adds no further behavioral details (e.g., rate limits, data freshness). The safety profile is clear from annotations, earning a baseline 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, efficient sentence with no wasted words. It is front-loaded and immediately conveys the core action.

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), the description adequately conveys the purpose. However, it does not hint at the return structure (e.g., story fields), which might be useful for an agent without prior knowledge.

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 includes a description for the 'id' parameter. The description's phrase 'by id' adds nothing beyond the schema, so it meets the baseline but provides no 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 'Get a Hacker News story by id', specifying the verb (Get), resource (Hacker News story), and identifier (id). It distinguishes from sibling tools like hackernews_item_get by focusing specifically on stories, but does not explicitly differentiate.

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 hackernews_item_get or hackernews_story_comments_list. The description lacks context for selection criteria or prerequisites.

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

Behavior4/5

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

Annotations provide readOnlyHint and openWorldHint. The description adds context about returning 'recently changed' items and specific data (ids and usernames), enhancing transparency 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 a single, concise sentence that conveys essential information without 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?

Given no parameters and no output schema, the description adequately explains the tool's purpose and output. However, it could mention potential limitations like pagination, but this is not critical.

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?

No parameters exist in the schema, so the description need not explain them. It adds value by specifying the output format (ids and usernames), which helps the agent understand what the tool returns.

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 'recently changed Hacker News item ids and usernames.' It distinguishes from sibling tools like hackernews_item_get and hackernews_user_get by focusing on recent changes.

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 fetching recent changes but does not explicitly state when to use this tool versus alternatives or provide any exclusions.

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).
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 'newest first' ordering and a pagination note, which is useful but does not disclose additional behavioral traits like error handling or case sensitivity. 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 sentences, front-loaded with the core action and resource, followed by order, required input, return type, and pagination hint. Every sentence earns its place 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 read-only list tool with fully described parameters and no output schema, the description covers the essential aspects: what it lists, ordering, input requirement, return type, and pagination. It could clarify the preferred pagination parameter, but overall it is complete for 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% and all parameters have detailed descriptions, so the baseline is 3. The description's mention of 'page/pageSize' adds marginal value but slightly misaligns with the schema's preference for 'limit' over the deprecated 'pageSize'.

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 resource ('a Hacker News user's comments'), clearly distinguishing it from sibling tools like hackernews_user_submissions_list (submissions vs comments) and hackernews_story_comments_list (story-scoped comments).

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 user's comment history but provides no explicit guidance on when to use this tool over alternatives, nor any exclusions or preferred scenarios. The pagination hint is the only usage-related detail.

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).
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, covering safety and dynamic nature. The description adds pagination behavior (1-based) which goes beyond annotations. No contradictions or missing critical behaviors.

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?

Very concise two-sentence description with no extra words. Purpose is front-loaded and every part 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?

Adequate for a simple tool with 2 parameters and no output schema. However, it does not describe the structure of returned items (e.g., item IDs or types), which would help the agent understand 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 covers both parameters with detailed descriptions (page default, credit cost; username pattern). The description adds no new parameter meaning beyond restating pagination, so 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 it lists favorites for a user by username, distinguishing it from other Hacker News user tools like user_submissions_list and user_comments_list. The verb 'list' and resource 'favorites' are specific.

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 pagination guidance ('use page when paginated; 1-based'), but does not explicitly discuss when to use this tool versus alternatives or any prerequisites. The context is clear for a straightforward list retrieval.

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).
Behavior2/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds no further behavioral details such as data freshness, rate limits, or confidentiality, so it provides minimal added value 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, concise sentence that is front-loaded with the key information. It could be slightly more descriptive but is not verbose.

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 hint at what the return value includes (e.g., fields like karma, about). It does not, leaving the agent uncertain about the response format.

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 schema description for the username parameter is detailed (pattern, length, case-sensitivity). The description does not mention parameters, but the schema suffices, earning a baseline score.

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 resource ('Hacker News user profile'), clearly distinguishing it from sibling tools like hackernews_user_comments_list which retrieve lists of user's content.

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 use for retrieving a user profile, but does not explicitly state when to use it versus alternatives, or any prerequisites or context for its use.

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).
Behavior3/5

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

Annotations already cover readOnly and openWorld hints, so the bar is lower. The description adds 'newest first' ordering and a pagination hint, but the instruction to use page/pageSize is slightly inconsistent with the schema's deprecation of pageSize in favor of limit. Overall adds some behavioral context but not richly.

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, front-loaded sentences with no filler. The essential action, input, and result type are covered efficiently.

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-covered schema and no output schema, the description provides the key behaviors (newest first, pagination). It could specify list item structure, but the resource type and response nature are sufficiently clear.

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 baseline would be 3, but the description's 'use page/pageSize' conflicts with the schema's guidance that limit is preferred and pageSize is deprecated. This misleading hint about parameter names reduces the score.

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 a user's stories, polls, and jobs, with the verb 'List' and a specific resource. This differentiates it from sibling tools like user_comments_list or user_favorites_list by content 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 implies when to use it (when needing a user's submitted items) and indicates it accepts a username. However, it does not explicitly name alternatives or state when not to use it, 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.
Behavior4/5

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

Annotations indicate read-only and open-world behavior, and the description confirms it retrieves stories. This adds context beyond annotations by specifying the content type, but does not detail pagination or 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?

Single sentence, front-loaded with key information. No unnecessary words; every part is essential.

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 one parameter and clear annotations, the description provides sufficient context for an agent to understand and 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% with a clear parameter description for highlightId. The description reiterates 'by highlight id' but does not add significant 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 clearly states it retrieves stories from a saved Instagram highlight using the highlight ID. It effectively distinguishes from sibling tools like instagram_profile_highlights_list, which lists highlights rather than their contents.

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 need for a highlight ID but does not explicitly state when to use this tool over alternatives or provide exclusions. No guidance on prerequisites or context is given.

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.
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 comments are listed via URL and paginated with cursor, providing some behavioral 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?

Two concise sentences with no redundant information. The purpose is front-loaded, and every word serves a clear 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?

Given the tool's simplicity (2 parameters, no output schema), the description adequately covers the core functionality: what it does, the input (URL), and pagination. It could be improved by mentioning the output structure, but it is still complete enough for basic 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?

Schema coverage is 100%, so the schema already describes both parameters. The description mentions 'by URL' and 'use cursor' but adds no new meaning beyond what is in the parameter descriptions.

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 ('comments on an Instagram post or Reel'), and the method ('by URL'). It distinguishes itself from sibling tools by specifying 'Instagram' and the type of content.

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 Instagram comments but does not provide explicit guidance on when to use this tool versus alternatives like facebook_post_comments_list. It mentions pagination via cursor but lacks exclusions or prerequisites.

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`).
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 adds the behavioral trait of returning a list and using a cursor for pagination, which is useful but minimal. It does not disclose response structure, potential rate limits, or error conditions. With annotations present, the description meets the lower bar but does not exceed it.

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, direct, and front-loaded with the core purpose. Every sentence adds value: the first defines the operation, the second lists required inputs and output nature. No filler or redundant information.

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 fully described in the schema and annotations covering safety and open-world behavior. The description adds the return type (list) and pagination guidance, which is sufficient for an agent to invoke it correctly. It could mention that the parent comment must belong to the given post, but the schema's commentId description already implies that. Overall, it is complete enough.

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

Parameters3/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, cursor, commentId) are fully described in the schema. The description's mention of 'accepts a comment id and post URL' merely restates schema fields without adding deeper semantics. Therefore, it 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 tool's function: 'List replies to a comment on an Instagram post or Reel.' It specifies the verb (List), the resource (replies to a comment), and distinguishes it from sibling tools like instagram_post_comments_list by focusing on replies. It also mentions required inputs, 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 on when to use the tool: it requires a comment id and post URL, and mentions cursor for pagination. The schema further clarifies that the comment id comes from the parent comments list. However, it does not explicitly state when not to use it or point to alternative tools, so it lacks explicit exclusions.

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

instagram_post_download_getDownload Instagram post or reel mediaA
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.
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 no behavioral details beyond what annotations imply (e.g., no mention of the return format being binary or a link, or any rate limiting). It is adequate but does not leverage the opportunity to add 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 two sentences, front-loading the core purpose. Every word is necessary, and there is no irrelevant information. It is appropriately sized for a simple tool.

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

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 (2 parameters, no output schema), the description covers the input but does not specify the output format (e.g., binary data, file, or URL). With no output schema, the agent is left guessing what 'Download' returns, which is a 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%, with both parameters described in the schema. The description's phrase 'Accepts a post URL' restates the url parameter's description without adding new semantics. The region parameter remains as described in the schema, so no additional 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 clearly states the tool's action ('Download'), resource ('Instagram post or reel media'), and the required input ('Accepts a post URL'). It distinguishes it from siblings like instagram_post_get which returns metadata without media.

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., instagram_post_get for metadata, instagram_post_comments_list for comments). It does not mention when not to use it or clarify prerequisites like authorization for private content.

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.
Behavior4/5

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

The description adds valuable response-level context: 'Author is under owner (not author)' and timestamp format quirks (createdAt ISO vs legacy takenAt). This goes beyond the readOnlyHint annotation and helps agents correctly interpret the output. 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 two crisp sentences. The first states the purpose; the second delivers critical field-format warnings. No redundant or filler content, and the key information 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 read-only single-entity getter with fully described parameters, this description covers the most confusing output fields (author, timestamps) and hints at runtime variability. Without an output schema, it could mention more about expected response content, but for the tool's simplicity it is sufficiently 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 with detailed descriptions for every parameter, including the credit implications of downloadMedia. The description itself does not add parameter-level 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?

Description clearly states a specific action ('Get a single Instagram post or Reel by URL'), including the resource type and required input. The phrase 'single' differentiates it from listing tools, and mentioning both posts and Reels clarifies coverage.

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: to fetch a specific post/reel by URL, use this tool. However, it does not explicitly contrast with sibling tools like instagram_profile_posts_list (for lists) or instagram_post_download_get (for media downloads), so the agent receives no direct exclusions or alternative recommendations.

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 transcriptA
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.
Behavior2/5

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

Annotations already indicate readOnlyHint and openWorldHint. Description adds 'spoken transcript' context but does not disclose limitations (e.g., no transcript case) or behavior beyond that.

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 key information, no superfluous 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?

Adequate for a single-parameter read tool, but lacks description of return value or error conditions, given no output 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 covers the single parameter completely. Description adds 'link' specification and clarifies target (post or Reel), but baseline 3 due to 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?

Clearly states verb ('Get'), resource ('spoken transcript'), and scope ('for an Instagram post or Reel') and method ('by URL'). Distinct from sibling tools like instagram_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 Guidelines3/5

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

Implies usage for retrieving transcripts, but no explicit guidance on when to prefer this tool over alternatives or when not to use it.

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

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.
Behavior3/5

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

The description adds the behavioral trait 'lightweight' beyond annotations (readOnlyHint=true, openWorldHint=true). However, it does not explain what fields are omitted or any other behaviors like authentication needs.

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 efficiently conveys the purpose and usage without any unnecessary words 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 tool with one parameter and no output schema, the description provides adequate context. It lacks detail on what 'lightweight' entails, but is otherwise 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%, so the schema already fully describes the 'userId' parameter. The tool description adds no additional meaning, meeting baseline expectations.

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 (lightweight Instagram profile), and the condition (by numeric user ID when you already have the id). It distinguishes from sibling 'instagram_profile_get' which likely provides more detail.

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 states when to use ('when you already have the id') and implies it's for lightweight needs. It does not explicitly mention when not to use or name alternatives, but 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.

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 @.
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint, and the description does not add behavioral context beyond what is in the schema. The description is neutral, 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.

Conciseness4/5

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

Very concise at two sentences, front-loaded with purpose, but lacks additional explanatory context.

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 one parameter and annotations, the description minimally covers input but omits details about the output (audit 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 coverage is 100% and the description only restates the parameter ('Accepts a handle'), 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 clearly states the action ('Get') and the resource ('Instagram profile engagement audit'), and is distinct from sibling tools like instagram_profile_get or instagram_profile_basic_get.

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, no mention of prerequisites or exclusions.

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 @.
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 mention of return fields adds some context. However, it does not disclose potential rate limits, authentication requirements, or behavior on nonexistent handles, which would be valuable 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 concise (two sentences) and front-loaded. It immediately states the tool's purpose and key outputs without 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?

The description partially covers return values (e.g., lookupStatus, follower/post metrics, privacy flags) but is vague about 'related fields' and lacks details on error handling or edge cases. For a tool with no output schema, more completeness would be beneficial.

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 parameter 'handle' is well-defined with details about leading '@'. The description confirms the tool uses a handle but adds no new parameter-specific 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 that the tool retrieves a full Instagram profile by handle, specifying returned data (bio, counts, follower/post metrics, privacy flags). It effectively distinguishes from sibling tools like instagram_profile_basic_get by emphasizing 'full' and listing specific fields.

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 such as instagram_profile_basic_get or instagram_profile_engagement_get. It only implies that it returns 'full' data, but lacks clear guidance on 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_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.
Behavior3/5

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

The description adds pagination behavior ('use cursor when paginated'), which is not covered by annotations. However, annotations already declare readOnlyHint and openWorldHint, so the description adds only marginal context beyond that.

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, consisting of two sentences that immediately convey purpose and key behavior (listing and pagination). 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 read-only list tool with one parameter and no output schema, the description covers the essential aspects: action, resource, input, and pagination. Minor improvement would be mentioning the structure of returned items, but not critical given sibling 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?

The single parameter 'handle' is fully described in the schema (100% coverage). The description does not add additional meaning beyond what the schema already provides, so 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'), the resource ('story highlight albums'), and the input ('by handle'). It effectively distinguishes from sibling tools like 'instagram_highlight_get' which retrieves a single highlight.

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 stating 'by handle' and mentioning pagination handling, but it does not explicitly specify when to use this tool over alternatives like 'instagram_highlight_get'. No when-not or exclusion criteria are provided.

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`.
Behavior5/5

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

Despite readOnlyHint and openWorldHint annotations, the description adds crucial cost-related behavior: 'Credits: 1 base; hostMedia=true adds +2 per hosted asset (up to 24 / 49 max). Failed assets are not surcharged.' This goes beyond annotations and informs the agent about potential surcharges and limits, which is highly valuable for 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?

Two concise sentences, front-loaded with the primary action and key cost details. Every word is informative; 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?

The tool has 3 params (1 required) and no output schema. The description covers the main purpose, handle requirement, cursor hint via schema, and cost model. It does not describe the response structure, but for a simple list operation this is a minor gap. Overall, the essential context is 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 coverage is 100%, so the baseline is 3. The description adds extra meaning by tying hostMedia to incremental costs and providing a specific cap ('up to 24 / 49 max'), which the schema does not mention. This helps the agent understand the trade-offs of enabling hostMedia.

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 'List posts from an Instagram profile by handle' uses a specific verb (list) and resource (Instagram profile posts), clearly distinguishing it from sibling tools like instagram_profile_reels_list and instagram_profile_highlights_list. The title reinforces the purpose unambiguously.

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 clearly states the tool lists posts by handle, but it does not explicitly contrast with alternatives such as reels or highlights lists. No when-not-to-use guidance is provided, though the name itself makes the scope fairly evident.

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`.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the description adds value by disclosing credit costs ('Credits: 1 base; hostMedia=true adds +2 per hosted asset') and the surcharge policy for failed assets. 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, front-loaded with the primary purpose, followed by alternative guidance and credit details. No redundant content; every sentence 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 list tool with a simple schema and annotations, the description provides sufficient context: purpose, exclusions, and cost model. It doesn't describe return shape, but with no output schema and a clear title/name, this is acceptable. It could mention pagination behavior, but cursor is in 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 descriptions for all parameters. The description enriches parameter meaning, particularly for hostMedia, by explaining its credit impact ('+2 per hosted asset') and the max limits, which is not present 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?

States a clear verb+resource+scope: 'List Reels from one specific Instagram profile by handle.' Explicitly distinguishes from sibling tools by naming alternatives for keyword search and trending, leaving no ambiguity about the tool's specific 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?

Provides explicit when-not-to-use guidance with named alternatives ('use instagram.search.reels.list for that; not trending — use instagram.reels.trending.list for that'). This tells the agent exactly when to choose 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.

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.
Behavior3/5

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

Annotations provide readOnlyHint=true and openWorldHint=true, so the description isn't needed for safety. It adds pagination behavior ('Returns a list (use cursor when paginated)') but lacks details on result format, sorting, or limits. 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?

Two short sentences front-loaded with the core purpose. No fluff, every word contributes. Efficient and 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?

Given 4 parameters, high schema coverage, and no output schema, the description covers basic purpose and pagination but doesn't specify the return list's content (e.g., post objects, engagement stats). Adequate for a simple read tool but could be more informative.

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 descriptions for all 4 parameters. The description adds no additional parameter details beyond repeating that it searches by hashtag. Baseline 3 is appropriate as 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?

Description clearly states the action ('Search') and resource ('public Instagram posts and Reels by hashtag'). It distinguishes from sibling tools like instagram_search_profiles_list and instagram_search_reels_list by specifying the query type (hashtag) and content type (posts and Reels).

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 have a hashtag and want posts/reels. It doesn't explicitly exclude alternatives or provide when-not-to-use guidance, but the context is clear given the sibling list includes other search tools for profiles and reels.

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 profilesB
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.
Behavior2/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 tool's safety and scope. The description adds only that the tool returns a list, which is trivial. It does not disclose other behavioral traits like rate limits, result ordering, or whether filtering is available.

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 two sentences, front-loading the key information. It efficiently conveys the tool's purpose and a usage hint without 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?

Given the absence of an output schema, the description could provide more details about the return format (e.g., fields like username, profile picture). Additionally, it lacks guidance on when to prefer this tool over sibling profile retrieval tools. Overall adequate but with 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 both parameters having descriptions. The description's mention of pagination via cursor aligns with the cursor parameter description in the schema, adding little new value. Since schema coverage is high, 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 action ('Search') and resource ('Instagram profiles'), and distinguishes from sibling tools like 'instagram_profile_posts_list' or 'instagram_search_hashtag_list' which have different focuses. It also mentions pagination via cursor, further clarifying the tool's scope.

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

Usage Guidelines3/5

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

The description provides a minor usage hint ('use cursor when paginated') but does not explicitly state when to use this tool versus alternatives such as 'instagram_profile_get' or 'instagram_profile_basic_get'. No exclusions or specific contexts are mentioned.

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 (optional date filters and page-based pagination) — not scoped to one profile (use instagram.profile.reels.list) and not trending (use instagram.reels.trending.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.
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 that the tool returns a list and uses cursor-based pagination, which is useful context beyond annotations, but does not discuss rate limits 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?

The description is two sentences: the first covers core functionality and scope, the second differentiates from siblings and notes pagination. No unnecessary words, well-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?

Given the tool's simplicity and presence of annotations, the description covers purpose, scope, alternatives, and pagination hint. It lacks details on return format (no output schema) and error cases, but for a read-only search tool 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 description coverage is 100%, so the schema already documents all parameters. The description reiterates 'optional date filters and page-based pagination' but adds no new meaning beyond what is in the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Search Reels site-wide by keyword' with specific verb and resource, and explicitly distinguishes from two sibling tools (profile-specific and trending), 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 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 by contrasting with alternative siblings ('not scoped to one profile' and 'not trending') and mentions pagination style ('use cursor when paginated'), helping the agent choose correctly.

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.
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds no additional behavioral context (e.g., data freshness, rate limits, permissions). It neither contradicts nor significantly augments 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?

One sentence, front-loaded with the core action. Every word contributes directly to understanding. No unnecessary filler.

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 annotations, the description is mostly adequate but lacks mention of the return value (e.g., 'returns ad details'). Also does not clarify that at least one parameter is required despite both being schema-optional. These gaps slightly reduce 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 clear descriptions for both parameters. The description restates the identification methods but adds no new semantics beyond the schema. 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 ('Get') and resource ('LinkedIn Ad Library ad'), and specifies the two identification methods (by ad id or URL). It clearly distinguishes from sibling tools like linkedin_adLibrary_ads_search_list which searches for ads.

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. Does not mention that at least one of url or adId is required, nor does it reference sibling tools for search or other operations.

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 adsB
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.
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 pagination behavior ('use cursor when paginated'), but does not disclose other traits like rate limits, auth needs, or result formatting. The description is consistent 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 concise sentences with key information front-loaded. No extraneous words. Every sentence adds value: purpose and search criteria in first, result type and pagination hint in second.

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 7 parameters and no output schema, the description is minimal. It covers basic search intent but lacks details on parameter combinations, pagination mechanics, error handling, or expected output structure. Adequate for a simple search tool but could be more thorough given the sibling 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?

Schema coverage is 100%, so baseline is 3. The description mentions three search methods (company, keyword, companyId) but does not clarify how they interact (e.g., OR relationship, exclusivity). No additional meaning beyond the schema's parameter descriptions.

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 ('Search') and resource ('LinkedIn Ad Library ads'), and specifies search criteria (company, keyword, company id). It distinguishes from the sibling tool 'linkedin_adLibrary_ad_get' implicitly via focus on listing vs. getting a single ad, but does not explicitly differentiate.

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 like 'linkedin_adLibrary_ad_get' or ad search tools on other platforms. The only usage hint is about pagination ('use cursor when paginated'), but does not explain when pagination occurs or how to combine search parameters.

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`.
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint, so the safety profile is clear. The description does not add further behavioral details (e.g., auth requirements, rate limits), but it does not contradict the annotations. With annotations carrying the burden, 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, efficient sentence that front-loads the purpose and immediately follows with crucial differentiation. Every word earns its place—no fluff.

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 (single parameter, no output schema), the description provides essential context. It tells the agent exactly what to do and when to use alternatives. However, it does not describe the return format or contents, which would be helpful given the openWorldHint. Still, it is complete enough for basic selection.

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 covers the single parameter with 100% description coverage. The description adds valuable context by clarifying that the URL should be a company page URL and that other URL types belong to the sibling tool. This enhances parameter understanding 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 'Get a LinkedIn company page by company URL', specifying a specific verb and resource. It immediately distinguishes from the sibling tool 'linkedin.organization.get' for schools and mixed organization URLs, leaving no ambiguity about the tool's scope.

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

Usage 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 (for company URLs) and when to avoid it ('use linkedin.organization.get for schools and mixed organization URLs'), providing a direct alternative. This is excellent usage guidance.

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.
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safe read nature is covered. The description adds value by mentioning the return is a list and that pagination uses cursor, which is behavioral info beyond the annotations. However, it does not detail rate limits or authentication needs.

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 action. Every word earns its place, and the structure is efficient with no fluff.

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 good annotations and schema, the description covers the core function, pagination, and distinguishes from search. It does not explain return format (no output schema) or error conditions, but it is sufficient for typical use. The openWorldHint is acknowledged implicitly.

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 both parameters. The description reinforces using 'by URL' and mentions cursor pagination, but it does not add significant meaning beyond the schema. The description's mention of cursor pagination slightly conflicts with the schema's page-based pagination, reducing added 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 tool lists posts from one specific LinkedIn company page by URL, distinguishing it from keyword search. The verb 'list' and resource 'LinkedIn company posts' are specific, and the contrast with the search sibling tool makes 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 Guidelines5/5

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

It explicitly states when to use this tool (for a specific company page by URL) and when not (for keyword search, use linkedin.posts.search.list). It also mentions pagination with cursor, giving clear usage context.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, covering safety. The description adds useful behavioral traits: it returns a list and mentions cursor-based pagination. This goes beyond the structured data, providing practical details for the agent.

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 filler. It front-loads the purpose and includes a practical pagination note, every word earning 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 single-parameter read tool with annotations and full schema coverage, the description covers the purpose, usage, and return behavior. It could mention error handling or URL formats, but the schema already handles the latter. The lack of an output schema is mitigated by noting the list return.

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 a complete description for the 'url' parameter, including the requirement for '/jobs/view/'. The tool description adds no additional parameter semantics, so the baseline of 3 applies due to 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 uses a specific verb ('Get'), identifies the resource ('LinkedIn job postings'), and specifies the method ('by job URL'). This clearly distinguishes it from the sibling tool linkedin_jobs_search_list, which searches rather than fetches 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' clearly implies this tool is for retrieving specific postings when a URL is available, which provides context for when to use it. However, it does not explicitly name alternatives or state when not to use it, 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.

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.
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint, which description aligns with by stating 'Search' (read-only). The description adds value by explaining the return type and pagination behavior ('Returns a list (use cursor when paginated)'), which annotations do not cover. 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 extremely concise: one sentence with a clear verb-object structure and a parenthetical about pagination. Every word is necessary and front-loaded. 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?

The tool has 10 parameters (2 required) and no output schema. The description explains the return format (list with pagination), which is sufficient for a search list. Could mention the result fields or usage notes, but given low complexity, it's complete enough.

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 description does not need to detail parameters. It only summarizes ('by keyword and filters'), which adds no new meaning beyond the schema. 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'), resource ('LinkedIn jobs'), and the action of filtering by keyword and filters. It mentions the return type ('Returns a list') and pagination ('use cursor when paginated'), which distinguishes it from siblings like linkedin_jobs_get that retrieve a single job.

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 this tool is for searching jobs with filters, but lacks explicit guidance on when to use it versus alternatives like linkedin_people_search_list or linkedin_posts_search_list. The sibling names help differentiate, but no direct exclusion or context is provided.

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.
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds that it returns a list and mentions pagination behavior. 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 only two sentences, front-loaded with purpose and followed by a key usage note. Every word adds value, with no redundancy or filler.

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 lookup tool with a single parameter and no output schema, the description covers purpose, scope, alternative tool guidance, return type, and pagination hint. It is complete for the agent to select and invoke the tool correctly.

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

Parameters3/5

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

The schema already provides complete description of the URL parameter, including allowed path patterns. The tool description does not add further parameter-level detail, 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.

Purpose5/5

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

The description clearly states the tool looks up LinkedIn company, school, or organization pages by URL, which is specific and differentiates it from the sibling tool linkedin.company.get. The verb 'look up' and resource definition make 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 explicitly notes this tool is 'broader than linkedin.company.get', giving clear guidance on when to use it over that alternative. It also hints at handling paginated results with a cursor, which aids usage.

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.
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds behavioral context about returning a list and using cursor for pagination, which is not in 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, front-loaded with purpose, zero wasted words. Every 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 two-parameter search tool with clear annotations, description is adequate: specifies return type (list), pagination hint. Lacks explicit mention that at least one parameter is required, but schema suffices.

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 baseline is 3. Description ('by first and/or last name') adds minimal value beyond existing schema descriptions; no new constraints or format 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?

Description states a specific verb ('Search') and resource ('LinkedIn people'), clearly distinguishing it from sibling tools like linkedin_profile_get (single profile by ID) and linkedin_posts_search_list (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?

Description provides no guidance on when to use this tool vs alternatives, such as linkedin_profile_get for known profiles or linkedin_jobs_search_list for jobs. Only hints at pagination with 'use 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_post_getGet LinkedIn post or articleA
Read-only
Inspect

Get a LinkedIn post or article by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic permalink to the post or article.
Behavior2/5

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

Annotations provide readOnlyHint and openWorldHint, but description adds no extra behavioral context (e.g., authentication needs, rate limits). Minimal 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?

Single sentence, no fluff, efficiently conveys essential information.

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 is nearly complete. Could mention return format, but not essential.

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% (url described as 'Public permalink'). Description does not add semantic meaning beyond what 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?

Description clearly states verb 'Get', resource 'LinkedIn post or article', and method 'by URL'. Distinguishes from siblings like linkedin_post_transcript_get and linkedin_posts_search_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?

Implies usage when you have a URL, but no explicit when-to-use or when-not-to-use guidance compared to alternatives. Lacks exclusions or prerequisites.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the bar is lower. The description adds context that it searches 'public' posts and returns a 'list', which is consistent with read-only behavior. No additional behavioral traits like rate limits or response format are disclosed, but the existing annotations and description are sufficient for safe invocation.

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 with only two sentences. The first sentence immediately states the core purpose and scope, and the second adds pagination advice. Every word earns its place, with no redundant information.

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 that there is no output schema, the description mentions 'Returns a list' and pagination, which is adequate for a search tool. The complexity is low (3 parameters, no nested objects). The description covers the essential behavioral and usage aspects needed 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 baseline is 3. The description does not add new parameter information beyond what the schema already provides. It mentions keyword and cursor in the context of the tool's function, but the schema descriptions are already clear. No additional constraints or formatting details are given.

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 public LinkedIn posts site-wide by keyword, and explicitly distinguishes it from scoped alternatives like linkedin.profiles.posts.list and linkedin.company.posts.list. The verb 'search' and resource 'public LinkedIn posts' are specific, and the scope clarification differentiates it from 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 explicitly tells when NOT to use this tool (if scoped to a profile or company) and directs to specific alternative tools. It also mentions pagination handling with cursor, providing clear usage guidance.

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.
Behavior3/5

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

Annotations (readOnlyHint, openWorldHint) already indicate safety. The description adds no additional behavioral context, such as requirements for video presence or handling missing transcripts. It is adequate but not enhanced.

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 efficiently conveys the core action and resource.

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 1-parameter read tool with no output schema, the description is adequate but could hint at return format or prerequisites. It is minimally complete 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%, and the description adds no new meaning beyond the schema's 'Link to the LinkedIn post whose video transcript should be returned.' 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 'Get', the resource 'transcript for a LinkedIn post video', and the input method 'by URL'. It is specific and effectively distinguishes from sibling transcript tools for 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 does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives like getting the post text itself. It is sufficient for a simple getter but lacks decision support.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safe read behavior is known. The description adds useful behavioral context: 'Returns a list' and '(use cursor when paginated)', which goes beyond the annotations. It does not conflict 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 concise, front-loaded sentences with no filler. The first sentence states core purpose, the second adds essential return/pagination info. 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 single-parameter tool with full schema coverage and appropriate annotations, the description is nearly complete. It covers return shape and pagination, but the cursor usage is only hinted at and not fully explained (e.g., how to pass cursor). Still adequate for a simple get-by-identifier 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 coverage for parameters is 100% and the schema's url description already explains supported formats (URL, vanity handle, @handle, in/{handle}). The tool description only repeats 'by URL or handle' and adds no new parameter-level 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?

Description clearly states the action ('Get'), the resource ('LinkedIn person profiles'), and the input method ('by URL or handle'). It also distinguishes from sibling tools like linkedin_company_get by specifying 'person profiles' and from search tools by requiring a direct URL/handle.

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 URL or handle, but it does not explicitly state when to avoid this tool or suggest alternatives like linkedin_people_search_list for lookup without identifiers. No clear exclusions or alternative recommendations are provided.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. Description adds pagination behavior (use cursor). Could mention more about private profiles or data freshness, but still helpful.

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 purpose, no filler, immediate usage guidance. Highly concise.

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?

Covers purpose, differentiation, and pagination. Lacks return structure or error info, but overall adequate for a simple list 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?

All five parameters have clear schema descriptions. The tool description does not add new parameter-level insights 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?

Clearly states the tool lists posts from one specific LinkedIn profile by URL, and explicitly distinguishes it from keyword search via the sibling 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 Guidelines5/5

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

Explicitly tells the agent not to use this for keyword searches and provides the alternative tool name (linkedin.posts.search.list).

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 profileA
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 @.
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint, so the description doesn't need to repeat safety. The description adds that the profile includes links and socials, which is a helpful output hint, but no behavioral details 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 a single, efficient sentence of 9 words, front-loaded with the verb and resource, 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?

Given the low complexity (one parameter, no output schema, good annotations), the description covers the purpose and result content adequately. Could mention the public nature, but annotations already imply 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% with a clear description for the handle parameter. The tool description adds no additional parameter meaning beyond what the schema 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 clearly states the verb 'Get', the resource 'public Linktree profile', and the means 'by handle', including the output content 'links and socials'. It distinguishes from siblings which are for 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 does not explicitly state when to use or not use this tool, but the context of sibling tools (all for other platforms) makes it clear that this is for Linktree profiles. No alternative mentioned within Linktree.

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
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the read-only safety is known. The description adds meaningful behavioral context beyond this: it returns the last ~50 checks, includes outcome/credits/reason, and frames the tool as a diagnostic view. This goes beyond what the structured annotations convey, though it does not detail pagination 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?

The description is a single, efficient sentence that front-loads the purpose and key details (last ~50 checks, outcome/credits/reason). No fluff or redundant information; it 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 read-only list tool with one parameter and no output schema, the description is complete enough: it states the resource, scope (~50 checks), and returned fields (outcome/credits/reason). It could mention whether the list is ordered or how to interpret reasons, but this is a minor gap given the tool's simplicity.

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

Parameters4/5

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

The input schema has one parameter 'id' with 0% coverage. The description and title together make clear that 'id' refers to the monitor's ID ('List a monitor's recent check history'). While the description does not explicitly define the parameter, the context strongly implies it, compensating for the empty schema 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 title and description are specific: 'List a monitor's recent check history' and 'the last ~50 checks with outcome/credits/reason' clearly state the verb (list), resource (monitor's checks), and scope (recent, ~50). The use-case framing ('why didn't I get a webhook') further distinguishes it from generic 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 provides a clear context for when to use this tool: to self-serve the 'why didn't I get a webhook' question. It implies the use case for debugging webhook delivery. However, it does not explicitly name alternative tools like monitors_events_list or webhookEndpoints_deliveries_list, so it lacks explicit when-not-to-use guidance.

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

monitors_createCreate a monitorA
Read-only
Inspect

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
Behavior1/5

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

The description directly contradicts the annotations: it describes a create operation ('Runs a synchronous baseline check on create') while readOnlyHint is true. This is a serious inconsistency. The description does disclose useful behavior (baseline check and webhook behavior), but the contradiction overrides that.

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 purpose, followed by an important behavioral detail about the baseline check. No filler, every clause 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 has 9 parameters and no output schema, the description covers the key operational aspects: what the monitor does, the webhook output, and the baseline behavior. It doesn't explain every param but the schema covers them, and the description gives enough to understand the tool's behavior on 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 has 67% description coverage and already explains most parameters. The description adds broad context (watch a social account or search, signed webhook) but doesn't detail individual parameter semantics. It contributes some meaning but relies on the schema for specifics, 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 uses a specific verb ('Watch') and resource ('a social account or search') and states the output ('a signed webhook when new content appears'). It clearly distinguishes this as the creation tool among the monitors_* siblings, and the title 'Create a monitor' reinforces the 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 provides clear context: use it to monitor a social account or search and receive webhooks for new content. It doesn't explicitly compare to alternatives like monitors_update or monitors_trigger, but the purpose is unmistakable and no exclusions are stated.

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

monitors_deleteDelete a monitorC
Read-only
Inspect

Permanently delete a monitor. Cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
Behavior1/5

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

The description directly contradicts the annotations: readOnlyHint is true while the tool is described as permanently deleting a monitor. This is a serious inconsistency. Additionally, no other behavioral traits are disclosed beyond the permanent nature.

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, front-loaded with the core action and a critical warning. Every word 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.

Completeness2/5

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

Given the tool's simple one-parameter schema, the description conveys basic intent, but the contradictory annotation and lack of information about return values, side effects on related resources, or confirmation behavior leave significant gaps.

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 one required 'id' parameter with no description. The description adds no meaning to the parameter; it does not state that 'id' refers to the monitor's identifier or provide any context about what values are valid.

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 ('Permanently delete') and the resource ('a monitor'), with a strong warning about irreversibility. This distinguishes it from sibling tools like monitors_update or monitors_trigger, 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 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 only warns about permanence; there is no mention of prerequisites, fallback options, or situations where deletion should be avoided.

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 eventsA
Read-only
Inspect

Pull API for a monitor's events — queryable regardless of webhook delivery configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
limitNo
cursorNo
Behavior3/5

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

The annotation already declares readOnlyHint=true, and the description adds a useful behavioral fact: events can be pulled even if webhook delivery is not configured. However, it does not disclose pagination behavior, ordering, or what event types are returned. 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?

A single, front-loaded sentence that conveys the core purpose and a key constraint with no filler or redundant 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 endpoint with read-only annotation, the description is adequate but incomplete. The absence of an output schema increases the need for at least a brief mention of return shape or pagination, especially since limit and cursor are present in the schema.

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 provides minimal parameter insight. 'A monitor's events' implies the required id is the monitor ID, but limit and cursor are not explained. The description should compensate for missing schema descriptions but does not.

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 ('Pull') and clearly identifies the resource ('a monitor's events'). It distinguishes itself from sibling tools like monitors_get and monitors_checks_list by focusing on the event data and adding the independent-of-webhook-delivery nuance.

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 'queryable regardless of webhook delivery configuration' gives clear situational context for when this tool is appropriate. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.

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

monitors_getGet a monitorB
Read-only
Inspect

Get one monitor by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
Behavior2/5

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

Annotations provide readOnlyHint=true, so the agent knows it is a safe read operation. However, the description adds no additional behavioral context such as error handling, return format, or access requirements. It merely restates the operation without going 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 front-loaded and contains no extraneous information. 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 get-by-id tool with one parameter and no output schema, the description is functional and clear. It could potentially explain what a monitor is or what the response contains, but the core usage is adequately conveyed.

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 only says 'by id', which hints at the id parameter but does not explain its meaning beyond what the schema already declares (string, required). No additional semantics are 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?

Description states 'Get one monitor by id' which clearly specifies the action (get), the resource (monitor), and the discriminator (by id) that distinguishes it from monitors_list. This is a specific verb+resource combination.

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 about when to use this tool versus alternatives like monitors_list or monitors_events_list. The description only states what it does, not when to prefer it.

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
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 profile. The description adds the behavioral nuance that only the caller's monitors are returned and that status filtering is possible, but it does not disclose further traits like pagination or ordering. This is acceptable given the simple nature of the 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?

The description is a single sentence, front-loaded with the action and resource, and includes the optional filter without any unnecessary words. Every word contributes meaningful information.

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 optional parameter, no output schema) and the presence of annotations, the description is largely complete. It conveys the action, scope, and applicable filter. Missing details like return format are not critical for a list operation, but a note about what is returned would be slightly 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?

With schema description coverage at 0%, the description must compensate for parameter semantics. It does clarify that 'status' acts as an optional filter, but it does not explain the meaning of each enum value (active, paused, exhausted, broken). The enum values are somewhat self-explanatory, so this partial clarification earns a baseline score.

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) and the resource (caller's monitors), and adds an optional filter by status. It distinguishes from sibling tools like monitors_get or monitors_checks_list by specifying the scope as 'the caller's monitors,' though it does not explicitly mention alternatives.

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 by stating it lists the caller's monitors, but it does not provide explicit guidance on when to use this tool versus alternatives like monitors_get or monitors_checks_list. The scope is clear, but no exclusionary or alternative-tool guidance is offered.

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

Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description adds context about the scope ('public API operation') and examples of supported platforms. However, it does not disclose details like pagination, output structure, or rate limits, so it only moderately exceeds 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 sentences: the first states the core purpose with examples, the second gives the use-case context. No wasted words, and the most important information is front-loaded.

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

Completeness4/5

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

For a zero-parameter list tool with no output schema, the description sufficiently covers what it lists and why it is used. The return format is implied ('list every public API operation'), which is adequate for this simplicity.

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 schema coverage is 100%, so no parameter documentation is needed. A baseline score of 4 applies since the description adds no parameter info but none is required.

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 every public API operation Monitors can watch, with concrete platform examples (Twitter/X, Instagram, TikTok, Reddit). This distinguishes it from sibling monitor tools like monitors_list and monitors_create, which focus on monitor management rather than available sources.

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 says it 'Powers the monitor-creation flow,' indicating this should be used when setting up a monitor. It does not mention alternative tools or exclusion scenarios, but the context is clear enough for a list endpoint.

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 pollA
Read-only
Inspect

Queue an immediate check for an active monitor (async — returns once queued, not once the check finishes).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
Behavior4/5

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

The description adds meaningful behavioral context beyond the annotations: it is asynchronous (returns before the check completes) and is limited to active monitors. The readOnlyHint annotation is consistent — triggering a poll does not mutate monitor definitions. 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?

The description is a single 20-word sentence that efficiently conveys the core action, the scope ('active monitor'), and the key behavioral nuance (async). Every part is necessary; there is 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 simple single-parameter tool with annotations and no output schema, the description covers the essential aspects: what it does, when it returns, and the active-monitor prerequisite. The main omission is what happens if the monitor is not active or not found, but this is minor given the tool's simplicity.

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 only an 'id' parameter with no description (0% coverage). The description implies that the id refers to an active monitor, but it does not explicitly state the parameter's role or format. This is a partial compensation, but the meaning is reasonably inferable from the tool name and title.

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: 'Queue an immediate check for an active monitor' — a specific action (queue/trigger) on a specific resource (monitor). It distinguishes itself from sibling tools like monitors_list or monitors_checks_list by focusing on triggering rather than listing or retrieving. The async clarification further sharpens the 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 implicitly conveys when to use this tool: when you want to manually trigger a poll, and it notes the async behavior (returns once queued). It does not explicitly name alternatives or exclusions, such as 'use monitors_checks_list to view results,' but the context makes the use case clear.

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

monitors_updateUpdate a monitorB
Read-only
Inspect

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
Behavior1/5

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

The description directly contradicts the annotation readOnlyHint=true, as updating a monitor is a write operation. This is a serious inconsistency. Additionally, the description provides no information about side effects, permissions, or whether changes are reversible, leaving the agent misled.

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 lists key updateable aspects without unnecessary words. It is appropriately concise for the tool's purpose.

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 9 parameters, schema coverage 0%, and no output schema, yet the description only provides a high-level summary. It fails to mention the required id, detailed schedule parameters, or any behavioral context. The annotation contradiction further undermines 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 description coverage is 0%, so the description must compensate. It mentions some updatable fields (name, schedule, webhook endpoint, spend cap, status) but omits the required id parameter and leaves 'schedule' vague (could refer to type, minutes, timezone, or expression). The mapping is incomplete and ambiguous.

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 updates a monitor and enumerates the updatable attributes (name, schedule, webhook endpoint, spend cap, status), distinguishing it from sibling tools like monitors_get, monitors_list, and monitors_delete. The verb 'update' plus resource and scope makes the purpose 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 usage is implied: it is for modifying an existing monitor. However, it does not explicitly compare to alternatives (e.g., monitors_create or monitors_delete) or state when not to use it, such as when creating a new monitor. No exclusions or alternative tool references are provided.

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.
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's claim of routing to a public API lookup adds minor context but does not disclose error handling or routing failure behavior. 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?

Two efficient sentences, front-loaded with purpose and usage guidance. No redundant words.

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 router tool with rich annotations, the description covers purpose, usage, and input adequately. No output schema is needed as the tool delegates to other lookups.

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 description merely restates that it accepts a natural-language query, adding no additional syntax or constraints 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?

Clearly states the tool routes a natural-language social-data question to the appropriate lookup when the specific typed tool is unknown. Distinguishes itself from sibling tools by explicitly advising to prefer typed tools once the operation is known.

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?

Explicitly states when to use ('when you do not yet know the typed tool') and when not to use ('prefer typed tools once the operation is known'). Provides clear alternative guidance.

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.
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 that the tool returns a list of public pins and that pagination uses a cursor, which is useful 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?

Two succinct sentences: the first states the core purpose, the second provides a key usage hint (pagination). No redundant information; every 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?

The tool is a simple list operation with 3 parameters and no output schema. The description covers the required input (URL), pagination, and notes the output is a list. This is sufficient, though the absence of output schema means the agent must infer response structure from 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?

Schema description coverage is 100%, so baseline is 3. The description reinforces that the url parameter is a board link and cursor is for pagination, but does not explain the trim parameter. No additional semantics beyond schema are 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 lists public pins on a Pinterest board, using a URL. This specific verb+resource combination distinguishes it from siblings like pinterest_profile_boards_list (which lists boards) or pinterest_search_pins_list (which searches pins).

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 mentions 'by URL' and 'use cursor when paginated', implying the how-to, but does not explicitly state when to use this tool versus alternatives (e.g., pinterest_pin_get for a single pin). No exclusions or sibling comparisons are provided.

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.
Behavior3/5

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

Annotations provide readOnlyHint and openWorldHint. Description adds 'public' clarifying accessibility but does not elaborate on behavior (e.g., rate limits, response size). Adequate for simple 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?

Single sentence, no wasted words, front-loaded with verb and resource. Appropriate length 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?

Given no output schema and simple nature, description sufficiently defines input and purpose. Could mention return fields (e.g., 'Returns pin data including images, description'), but not essential for agent 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?

Input schema has 100% coverage; both parameters (url, trim) have descriptions. Description adds no extra meaning beyond schema. Baseline score 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?

Description clearly states verb 'Fetch', resource 'public Pinterest pin', and method 'by URL'. Distinguishes from sibling Pinterest tools (board, profile, search) by focusing on a single pin via 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?

Implied usage: fetch a pin by URL. No explicit guidance on when to use vs alternatives (e.g., search pins or board pins). No exclusions or context provided.

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.
Behavior3/5

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

Annotations already indicate readOnlyHint and openWorldHint. The description adds that boards are 'public' and mentions cursor-based pagination, but these are minor additions. 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 very concise at one sentence plus a parenthetical. It is front-loaded with purpose. Could be slightly more detailed but avoids verbosity.

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?

No output schema exists, and the description only mentions returning a 'list' and cursor usage. It lacks details on return fields (e.g., board names, IDs), which would help agents understand the output. 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 coverage is 100% with clear descriptions for handle, cursor, and trim. The tool description adds no further parameter meaning beyond what the schema already provides.

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

Purpose5/5

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

The description explicitly states 'List public boards for a Pinterest profile' and mentions accepting a handle. This clearly distinguishes it from sibling tools like pinterest_board_pins_list or pinterest_pin_get, as it focuses on profile-level boards.

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 context (accepts handle, returns paginated list) but does not include explicit when-not-to-use guidance or mention alternatives among siblings. It is functional but lacks exclusions.

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.
Behavior4/5

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

Annotations already convey read-only and open-world nature. The description adds pagination behavior context, which provides value beyond the annotations. 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?

Two sentences, front-loaded with key purpose, no wasted words. Efficient and 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 simple search tool with 3 parameters and no output schema, the description adequately covers purpose, result type, and pagination. Could optionally mention response fields, but not essential.

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 fully documents parameters. The description adds only minor reinforcement about cursor use. Baseline score 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 'Search public Pinterest pins by keyword', specifying the action and resource. It distinguishes from sibling tools like pinterest_board_pins_list (board-specific) and pinterest_pin_get (single pin).

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 moderate guidance by mentioning pagination ('use cursor when paginated'), but does not explicitly state when to use this tool over alternatives or when not to use it.

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

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 whose comments should be listed. Accepts post URLs (…/comments/…) or share URLs (…/s/…). Relative `/r/…` paths are rewritten to https://www.reddit.com.
trimNoWhen true, requests a lighter response shape when available.
cursorNoOpaque cursor from a previous response to fetch another page of comments or replies.
Behavior3/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 useful behavioral context by noting that a list is returned and that a cursor should be used when results are paginated, but it does not disclose further details like response shape or trim 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, front-loaded with the core purpose, and includes a practical pagination hint. There is no redundant phrasing 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 list tool with high schema coverage and no output schema, the description is adequate: it states the operation, the input, the return type, and pagination behavior. It does not explain response fields, but the schema already documents parameters well.

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 covers all three parameters with 100% documentation, including descriptions for url, trim, and cursor. The description adds minimal param-level meaning beyond the schema, 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 uses a specific verb and resource: "List comments on a Reddit post by URL." It clearly identifies the input (URL) and distinguishes this tool from sibling tools like reddit_subreddit_posts_list or reddit_post_transcript_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 states the clear use case: retrieving comments for a Reddit post via URL. It provides no explicit exclusions or alternative tool references, but the context is unambiguous 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.

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 direct hosted video URL whose transcript should be returned.
languageNoOptional ISO 639-1 language code (two letters) to prefer when multiple caption tracks exist.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description is consistent. It adds that the tool accepts post or video URLs, but does not disclose further behavioral traits like rate limits or error handling.

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 concise sentence plus a fragment, front-loading the core purpose 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?

Given the tool's simplicity (two parameters, no output schema), the description is mostly complete. However, it does not specify the return format or error cases, which 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 coverage is 100%, so the description adds minimal value beyond the schema. It essentially restates the url parameter's purpose.

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 ('captions transcript for a Reddit video post'), and the name differentiates it from sibling tools for 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 usage by specifying it accepts a post or video URL, but does not explicitly state when to use this tool over alternatives (e.g., other platform 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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. Description adds that it returns a list and mentions cursor for pagination, which is behavioral context beyond annotations. However, it does not detail any side effects or rate limits, though not needed for a read-only 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 concise sentences with critical info front-loaded: scope, alternative, return type, pagination hint. No superfluous 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?

Given no output schema, description explains return type (list) and pagination. It covers scope and alternative. Could mention that results contain post fields, but with openWorldHint, it's acceptable.

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?

Input schema has 100% coverage with descriptions. Description reinforces cursor usage ('use cursor when paginated') but adds minimal extra meaning beyond the schema. 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?

Description clearly states 'Search Reddit posts site-wide by keyword', specifying verb, resource, and scope. It explicitly distinguishes from a sibling tool (reddit.subreddit.search.list), making 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?

Description provides explicit when-to-use (site-wide search) and when-not-to-use (subreddit-scoped search) with a direct alternative. It also advises using cursor for pagination, covering a key usage scenario.

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.
Behavior2/5

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

Annotations already declare readOnlyHint and openWorldHint, but the description adds no further behavioral context—no mention of input validation behavior, rate limits, or response characteristics. It simply restates the title.

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 no filler. It is front-loaded and efficient, though it could have used the saved space to add contextual guidance.

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, the annotations, and the thorough schema, the description is minimally adequate but lacks any context about what 'details' includes or when this tool is useful relative to Reddit-specific siblings. It does not explain return value semantics, but no output schema exists; still, a bit more context 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 'url' and 'subreddit' parameters already documented with descriptions (including the casing requirement). The description itself adds no additional parameter-level guidance, so 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 uses a specific verb ('Get') and identifies the resource ('details for a Reddit community'), clearly indicating this tool retrieves subreddit metadata. However, it does not explicitly distinguish itself from sibling tools like reddit_subreddit_posts_list or reddit_subreddit_search_list, relying on the word 'details' to imply metadata rather than content.

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 usage guidance is provided. The description does not mention when to prefer this tool over alternatives, nor does it provide any exclusions or prerequisites, leaving the agent to infer its purpose from the name.

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.
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 useful context: it states the return type is a list and gives a pagination hint ('use cursor when paginated'), plus clarifies the sort scope (hot/new/top) and the absence of keyword filtering. 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 tight sentences, first sentence states the core functionality with parenthetical scope, second sentence gives the alternative and return/pagination info. No redundancy or fluff.

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 4 parameters and no output schema, the description covers the primary use, the pagination behavior, and the alternative to avoid misuse. It could be slightly more detailed about the shape of returned post objects, but given schema coverage and the tool's simplicity, it 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 description coverage is 100%, so the schema fully documents all four parameters. The description adds marginal value by mentioning 'hot/new/top' to illustrate sort options and clarifying 'no keyword' (a non-parameter), and the cursor note 'use cursor when paginated' aligns with schema. It does not significantly enhance parameter understanding 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?

Description clearly states 'List a subreddit's post feed' with specific scope (hot/new/top, no keyword) and directly names the alternative tool for keyword search, distinguishing it from siblings like reddit_subreddit_search_list and reddit_search_list.

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?

Explicit when-to-use guidance: use this for feed listing without keyword, and 'use reddit.subreddit.search.list to search within it by keyword' names the exact alternative tool for the keyword use case, also implying not to use this tool for keyword searches.

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`.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds that it 'Returns a list' and mentions cursor-based pagination, which is useful behavioral context but not extensive. 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 two sentences, front-loaded with the primary action and scope, followed by a clear exception and a pagination hint. Every word earns its place with 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?

The description covers the tool's scope (within one subreddit), the main inputs (subreddit and query), return type (a list), and pagination behavior, all in a compact form. Despite lacking an output schema, this is sufficient for an agent to select and use 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%, so the schema already documents all five parameters thoroughly. The description mentions 'Accepts a subreddit and query', reinforcing the key inputs but adding no new semantic detail 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?

The description clearly states 'Search posts within one subreddit' with a specific verb and resource, distinguishing it from the site-wide search alternative reddit.search.list. This makes the tool's purpose immediately obvious and differentiates it from 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 explicitly says 'not site-wide — use reddit.search.list for that', providing a clear alternative and when-not-to-use guidance. It also instructs to 'use cursor when paginated', which is practical usage guidance.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds value by noting pagination support (cursor). Consistent with annotations, 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?

The description is very concise: two sentences covering the action, input, and pagination note. No redundant information, efficiently 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?

Given the tool's simplicity (2 params, no output schema) and good annotations, the description adequately covers purpose, input, and pagination. Could mention rate limits or error handling but not essential.

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 covers both parameters (url, cursor) with descriptions. The description reinforces that url is the channel link and cursor is for pagination, adding brief contextual 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 it lists videos and Shorts from a Rumble channel, accepts a channel URL, and returns a list. This distinguishes it from sibling tools like rumble_search_list or rumble_video_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 description mentions using a cursor for pagination but does not provide when-to-use guidance compared to alternatives. No explicit exclusions or context on when not to use this tool.

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.
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds pagination behavior but no additional 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?

Two concise sentences with no wasted words, front-loading key action and result.

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 a search tool and the presence of good annotations, the description is fairly complete. It could mention result count or error handling but is not necessary.

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 covers both parameters with descriptions. The description adds value by explaining when to use cursor (when paginated), enhancing understanding beyond 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 Rumble for videos and shorts by keyword, and distinguishes from other Rumble tools like channel videos or video 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?

The description mentions cursor usage for pagination but does not explicitly state when to use this tool versus alternatives like rumble_channel_videos_list.

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.
Behavior4/5

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

Annotations provide readOnlyHint=true and openWorldHint=true. The description adds that only top-level comments are listed and that pagination uses a cursor. 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?

Two sentences with no fluff; front-loaded with the main purpose. 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?

Given one parameter, no output schema, and good annotations, the description covers inputs, outputs, and pagination adequately. A brief note on return format would improve completeness but not essential for a list endpoint.

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 description essentially repeats the schema's description of 'Link to the Rumble video.' No additional 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 the verb 'List' and the resource 'top-level comments on a Rumble video'. It differentiates from sibling tools like rumble_video_get or reddit_post_comments_list by specifying the platform and comment level.

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 mentions 'Accepts a video URL' and 'Returns a list (use cursor when paginated)'. It provides clear input and output guidance but does not explicitly state when to use vs alternatives; however, the context makes it straightforward.

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.
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 schema flexibility. The description adds 'metadata' but does not disclose additional behavioral traits such as rate limits, authentication requirements, or error handling (e.g., video not found). It provides minimal added value 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 of 10 words, front-loading the key action and resource. Every word is necessary and no redundant information is present.

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 is simple with one parameter and annotations present. However, the description does not mention what specific metadata fields are returned (e.g., title, views, duration), which could help an agent assess suitability. The lack of an output schema places more burden on the description, which is only partially fulfilled.

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 single 'url' parameter, describing it as a 'Link to the Rumble video.' The description's mention of 'by URL' adds no additional semantic value beyond the schema. 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 verb 'Get', the resource 'metadata for a Rumble video', and the means 'by URL'. It effectively distinguishes from sibling tools like rumble_channel_videos_list and rumble_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 Guidelines4/5

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

While the description does not explicitly state when to use this tool versus alternatives, the specificity of 'by URL' implies its use when a direct video link is available. The context of sibling tools provides additional differentiation, but the description alone lacks explicit guidance on exclusions.

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.
Behavior3/5

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

Annotations declare readOnlyHint=true and openWorldHint=true; description adds 'when available' caveat, which is useful context. However, no further behavioral details like rate limits, authentication needs, or output format. 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, front-loaded with purpose. No superfluous words; every sentence contributes meaningful 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?

Adequate for a simple tool with one parameter and annotations, but lacks description of output format (e.g., timestamps, plain text). Given no output schema, more details 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 has 100% description coverage for the 'url' parameter, so the description's mention 'Accepts a video URL' adds minimal value beyond the schema. 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?

Clearly states it retrieves captions/transcript for a Rumble video given a URL. 'Get captions' is a specific verb and resource, and it distinguishes from siblings like rumble_video_get (general video info) and rumble_video_comments_list (comments).

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?

Implicitly indicates usage when captions are needed, but does not explicitly state when to use this tool versus alternatives like rumble_video_get or when not to use it. No comparison or exclusions provided.

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 profileA
Read-only
Inspect

Get a SoundCloud profile by handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesSoundCloud handle to look up, with or without a leading @.
Behavior3/5

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

The description does not add behavioral context beyond the readOnlyHint and openWorldHint annotations. It does not contradict annotations, but also does not provide additional details like error handling or data 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 a single, front-loaded sentence with no unnecessary words. It efficiently conveys the essential information.

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 nested objects, no output schema), the description is mostly complete. However, it does not hint at the structure of the returned data, which could improve usability.

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 description adds value beyond the schema by clarifying that the handle can be with or without a leading '@'. Schema coverage is 100%, so baseline is 3; the extra clarity justifies 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 the action ('Get'), the resource ('SoundCloud profile'), and the key parameter ('by handle'). This differentiates it from other platform-specific profile tools 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?

No guidance on when to use this tool versus alternatives like soundcloud_profile_tracks_list or other platform profile get tools. Does not mention prerequisites or provide exclusions.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds that results are ordered newest first and returns a paginated list, providing useful behavioral context beyond 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.

Conciseness4/5

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

The description is two sentences, front-loading the purpose and then briefly covering parameters and pagination. It is concise 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?

With no output schema, the description only says 'Returns a list' but does not specify the structure of list items. Given openWorldHint and sibling tools, it is minimally adequate but could be more complete by describing the return format.

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 schema descriptions are clear. The description restates the parameters briefly but adds no significant new meaning 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?

The description clearly states it lists a SoundCloud profile's tracks, newest first. It distinguishes from siblings soundcloud_profile_get (profile info) and soundcloud_track_get (single track) by specifying the resource (tracks) and ordering.

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 says it accepts a handle and cursor for pagination, implying usage for listing a profile's tracks. However, it does not explicitly state when not to use or mention alternatives like soundcloud_track_get for a single track.

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 trackB
Read-only
Inspect

Get a SoundCloud track by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the SoundCloud track.
Behavior2/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 no behavioral context beyond that, such as rate limits, caching, or data freshness.

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 is front-loaded. It is efficient, though it could include slightly more detail about expected input or output.

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 is simple with one parameter and no output schema. The description covers the essential purpose but does not specify what is returned, which is a gap given no output 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%, so the schema already documents the 'url' parameter. The description adds minimal context ('by URL'), but does not significantly enhance understanding 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 'Get a SoundCloud track by URL.' It uses a specific verb and resource, and distinguishes from sibling tools like soundcloud_profile_get (profile) and soundcloud_profile_tracks_list (list of tracks).

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 vs alternatives. It does not mention when not to use it or suggest other tools for related tasks.

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.
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, which the description does not contradict. The description adds minimal value by clarifying that it retrieves a single album, but no further behavioral details are needed given 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 one sentence (9 words) with no wasted words. It is front-loaded with the core purpose and includes necessary detail 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 read tool with no required parameters and no output schema, the description adequately explains what the tool does and how to identify the album. It could mention that it returns album details, but the context signals indicate low complexity, making this 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 clear descriptions for both parameters. The tool description restates the identification methods but adds no new semantic meaning beyond what the schema 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 clearly states the action ('Get') and resource ('Spotify album'), and specifies two identification methods (id or URL). It effectively distinguishes from sibling tools like spotify_artist_get and spotify_track_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 description provides a basic usage mechanism but lacks explicit guidance on when to use this tool versus alternatives or when not to use it. No context for exclusions or prerequisites.

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 artistB
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.
Behavior3/5

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

Annotations declare readOnlyHint and openWorldHint, which the description aligns with. No additional behavioral details (e.g., rate limits, authentication) are added beyond what annotations 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?

A single, concise sentence that efficiently communicates the tool's purpose without extraneous 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?

The description is adequate for a simple read tool but lacks clarity on whether at least one parameter is required and does not describe the return format, despite no output 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%, so the description adds no additional meaning beyond what the parameter descriptions already provide.

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 uses specific verb 'Get' and resource 'Spotify artist', and mentions identification methods (id or URL). However, it does not explicitly distinguish from sibling tools like spotify_album_get or spotify_track_get, leaving some 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?

No guidance on when to use this tool versus alternatives. No context about prerequisites or exclusions is provided.

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.
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 identification method (id or URL) but no further behavioral traits 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 a single, clear sentence of 9 words with no wasted content, front-loading the core 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?

For a simple read tool with fully documented parameters and safety annotations, the description is adequate; missing only output schema details, which are not required.

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 descriptions for both parameters. The description echoes these via 'id or track URL' but adds no new 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 clearly states the tool fetches a Spotify track by ID or URL, distinguishing it from siblings like spotify_album_get and spotify_artist_get.

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 other track or media retrieval tools, nor any exclusions or prerequisites.

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 @.
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description adds value by specifying that it retrieves 'metadata' and only works for public channels/groups. No behavioral contradictions exist.

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 efficiently conveys the tool's purpose with zero waste.

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 read tool, the description is adequate. It lacks detail about the return format (metadata fields), but given the openWorldHint annotation and the tool's simplicity, this gap is acceptable.

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 parameter 'handle' is well-described in the schema. The tool description adds only the phrase 'by username', which aligns with the schema but does not provide additional semantics 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 verb 'Get', the resource 'metadata for a public Telegram channel or group', and the method 'by username'. This distinguishes it from sibling tools like telegram_channel_post_get which get posts.

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 context by specifying 'public Telegram channel or group' and 'by username', making it clear when to use it. However, it does not explicitly discuss alternatives or when not to use it, which would be helpful but is not critical for such a simple tool.

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.
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 the key behavioral constraint that groups are not supported and that only public posts are accessible, which is valuable 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 a single, concise sentence of 16 words that immediately communicates the tool's function and constraints. No wasted text.

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 informative annotations, the description covers the essential purpose and key limitation (no groups). It does not detail return format, but this is inferred from the tool's 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% and both parameters already have clear descriptions. The description does not add extra meaning beyond restating the parameters' purpose, 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 clearly states the verb (Get), the resource (a single public post from a Telegram channel), and the required identifiers (handle and post ID). It explicitly excludes groups, distinguishing it from sibling tools like telegram_channel_get and telegram_channel_posts_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 implies usage when retrieving a specific post by ID and notes that groups are not supported. However, it does not explicitly contrast with siblings or state when to use this tool over telegram_channel_posts_get.

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 @.
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 that it returns a list and mentions pagination via cursor, which is useful behavioral context. 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?

Two concise sentences that are front-loaded with core action and constraints. Every sentence is essential and there is no 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 tool's simplicity, no output schema, and the presence of sibling tools with similar patterns, the description sufficiently covers the purpose, constraints, and pagination behavior. It could specify the return format slightly more, but overall 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%, and the description mentions the handle (with minimal extra detail beyond the schema) and cursor pagination. It does not add significant new meaning 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?

The description clearly states 'List recent posts from a public Telegram channel' using a specific verb and resource. It explicitly distinguishes by noting 'Groups are not supported,' which helps differentiate from sibling tools like telegram_channel_get and telegram_channel_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?

It provides clear context: use for public Telegram channels, not groups. However, it does not explicitly contrast with sibling tools for single posts or other platforms, leaving some ambiguity. Still, within the Telegram subset, the guidance is effective.

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.
Behavior3/5

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

Annotations already indicate readOnlyHint and openWorldHint; description adds no further behavioral context but does not contradict.

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?

Single, front-loaded sentence with no superfluous 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?

Adequate for a simple get tool, but lacks details on auth requirements or rate limits; no output schema needed.

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 covers both parameters (url and trim) with descriptions; description adds no additional meaning beyond 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?

Clearly states verb 'Get', resource 'Threads post', and input 'by URL'. Distinguishes from sibling tools like threads_profile_get and threads_profile_posts_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?

No explicit when-to-use or alternatives provided; usage is implied but not elaborated.

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 profileA
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 @.
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 minimal behavioral context beyond 'Get a profile'. No mention of auth, rate limits, or response format. With annotations covering safety, 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 two sentences (19 words), front-loads the action, and contains zero superfluous information. Every sentence is purposeful.

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 read tool with explicit annotations and 100% schema coverage, the description is minimally complete. It could mention return format or public data, but given lack of output schema and complexity, 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 coverage is 100% with a clear description of the handle parameter. The tool description merely repeats 'Accepts a handle' without additional semantic nuance. Baseline of 3 is correct as 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 'Get a Threads profile' for a creator or account, specifying the verb and resource. The mention 'Accepts a handle' further clarifies the input. It's distinct from sibling tools like threads_profile_posts_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 provide explicit guidance on when to use this tool over alternatives. There are many sibling profile getters (e.g., bluesky_profile_get, facebook_profile_get) with no differentiation cues. Usage context is implied but not stated.

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 postsB
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.
Behavior3/5

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

The description adds the pagination hint ('use cursor when paginated'), which is not in annotations. Annotations already declare readOnlyHint and openWorldHint, so the description adds moderate value. However, it does not disclose behavior like rate limits, error responses, or what happens if handle does not exist.

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 with two sentences. The first sentence states the core function, and the second provides essential additional info about the return type and pagination. No unnecessary words.

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 description does not detail the structure of the returned list (e.g., fields included) or how to handle pagination (e.g., cursor parameter usage). Since there is no output schema, this is a significant gap for a tool that returns a list of posts.

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 descriptions for parameters 'handle' and 'trim' are already provided in the schema. The tool description does not add any new information about the parameters beyond what is in the schema, so 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 tool's purpose is clearly stated: list posts from a Threads profile by handle. The description explicitly mentions the platform (Threads) and the input (handle), distinguishing it from sibling tools for other platforms. The verb 'List' is specific.

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 threads_profile_get or threads_search_list. The description does not mention any prerequisites or context for appropriate use.

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.
Behavior4/5

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

Annotations already declare readOnlyHint=true (read-only) and openWorldHint=true (results may vary). The description adds 'Returns a list (use cursor when paginated)', which is behavioral context beyond annotations. 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?

The description is extremely concise: two sentences with no wasted words. The key action and return format are front-loaded. Every sentence contributes 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?

Given no output schema, the description mentions return is a list and pagination, but lacks details on returned fields, scope (public posts only), or rate limits. It is adequate for a simple search tool 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 coverage is 100% with clear descriptions for all 4 parameters. The description adds no additional meaning beyond 'Search threads posts by keyword', which is already implied. 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 uses specific verb 'Search' and resource 'Threads posts by keyword'. It distinguishes from siblings like threads_profile_posts_list (posts from specific profile) and threads_users_search (search users) by indicating it's a general search. 'Returns a list (use cursor when paginated)' adds clarity.

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 states basic usage (search by keyword) but provides no guidance on when to use this tool versus alternatives like threads_profile_posts_list or threads_users_search. The pagination hint is useful but not a usage guideline.

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.
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 adds minimal behavioral context. It does not describe edge cases like missing ads or rate limits, but the annotations cover the safety profile. The description 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, front-loaded sentence with no wasted words. It immediately conveys the core purpose and input methods.

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-retrieval tool with two parameters and no output schema, the description is fairly complete. It could be improved by noting that at least one parameter must be provided, but this is implied by the phrasing.

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 both parameters. The tool description adds only the phrase 'by ad id or public ad URL', which is already implied by the schema. No additional semantics beyond the schema are 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 action ('Get'), the resource ('a single TikTok Ad Library or Top Ads creative'), and the criteria ('by ad id or public ad URL'). It distinguishes this tool from the sibling 'tiktok_adLibrary_ads_search_get', which searches for multiple ads.

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 use when you have a specific ad ID or URL, which is clear context. However, it does not explicitly state when not to use this tool or mention alternatives. The sibling search tool is implied as the alternative for discovering ads.

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.
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's mention of returning a list and pagination using cursor adds some context. However, it does not disclose other behavioral details like rate limits or result size limits, which would be expected given the lack of an output 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 long, front-loads the core purpose, and contains zero filler. 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?

Given the 12 parameters, all fully described in the schema, and the annotations providing readOnly/openWorld hints, the description is sufficiently complete for a search tool. It could mention the return structure but is not severely lacking.

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 each parameter already has a description. The tool's description adds minimal additional meaning beyond the schema (e.g., 'by keyword and filters'). The 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 tool's dual functionality: searching TikTok Top Ads by keyword and filters, or searching the public Ads Library by advertiser name. It uses specific verbs ('Search') and distinguishes itself from sibling tools like facebook_adLibrary_ads_search_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 provides clear context for when to use each search mode (Top Ads with filters vs. public Ads Library by advertiser name). It does not explicitly state when not to use the tool or mention alternatives, but the guidance is sufficient for an AI agent to decide.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds context about pagination ('use cursor when paginated'), which is valuable beyond annotations. 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?

Two sentences with no wasted words. The purpose is front-loaded, 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?

Given the simplicity of the tool (2 params, no output schema), the description covers the essential purpose and pagination. However, it omits details about the return format (e.g., what fields are in the 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 coverage is 100% with descriptions for both params. The description echoes the schema ('Accepts a clip id') and adds minimal context about cursor, but doesn't significantly enhance understanding 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 'List' and the resource 'TikTok videos that use a specific music clip'. It differentiates from sibling tools like tiktok_search_videos_list by focusing on a specific music clip.

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 tiktok_search_videos_list or tiktok_profile_videos_list. No mentions of prerequisites or exclusions.

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 productA
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.
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 cover safety. It adds no behavioral details beyond the annotations, which is acceptable but not improved.

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 precise sentences with no wasted words. The description is front-loaded and efficiently communicates the core functionality.

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 annotations and clear schema, the description is mostly complete. It could mention that the product id is extracted from the URL or what the response contains, but it 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?

The input schema already has high coverage (100%) with clear descriptions. The tool description adds no further meaning beyond what the schema provides, landing at the baseline score.

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 details for a TikTok Shop product, specifying input as a product page URL. It effectively distinguishes from list/search 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 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 like tiktok_shop_products_search or tiktok_profile_showcaseProducts_list. The description provides no context about use cases or exclusions.

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.
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, but the description adds conflicting pagination information: it mentions using a cursor while the schema only provides a page parameter. This inconsistency undermines 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 extremely concise—two sentences with no fluff. The key action, resource, and pagination note are front-loaded, making it 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 simple list tool with no output schema, the description should clarify that one of 'url' or 'productId' is required, but it implies only product ID. The pagination inconsistency (cursor vs page) also leaves the agent confused. Annotations provide some context but the description fails to complete the picture.

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% with detailed parameter descriptions. The description adds no meaningful benefit and introduces ambiguity by stating 'by product id' while the schema also accepts a URL. The mention of cursor-based pagination conflicts with the page 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 resource ('buyer reviews for a TikTok Shop product'), clearly distinguishing it from sibling tools like tiktok_product_get (product details) or tiktok_shop_products_list (shop products). The mention of pagination adds further clarity.

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 listing reviews by product ID, but it does not explicitly state when to use it versus alternatives, nor does it mention any prerequisites or exclusions. No guidance on when not to use it.

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

tiktok_profile_audience_getGet TikTok profile audienceA
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 @.
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, so the description only adds the type of data returned (location demographics). No extra behavioral traits like rate limits or pagination 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?

The description is a single, efficient sentence with no unnecessary words, clearly front-loading the core 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 simple single-parameter tool and annotations, the description adequately specifies the output type. Could be slightly more detailed on response format, but 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% with a well-described 'handle' parameter. The description adds 'by handle' but doesn't provide additional semantics 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 specific resource 'audience location demographics' for a TikTok profile, distinguishing it from sibling tools like tiktok_profile_get or tiktok_profile_engagement_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 description implies usage by stating the function, but lacks explicit guidance on when to use this tool versus alternatives or when not to use it.

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

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 @.
Behavior2/5

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

Annotations already declare readOnlyHint=true, and the description adds no extra behavioral context (e.g., rate limits, data scope). It fails to add value 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.

Conciseness3/5

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

The description is very short (two fragments), which is concise but lacks structure (e.g., no separation of purpose and usage). It could be more informative without being wordy.

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 simple read-only tool with no output schema, the description should explain what the engagement audit contains. It fails to provide return format or any usage context, making it incomplete.

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 a clear description for 'handle'. The tool description merely repeats 'Accepts a handle' without adding new meaning, so it meets baseline but doesn't exceed.

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 'Get TikTok profile engagement audit' with a specific verb and resource, and mentions it accepts a handle. It distinguishes from sibling tools like tiktok_profile_get or tiktok_profile_audience_get, but lacks details on what an engagement audit entails.

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, or any context for when not to use it. The description is too minimal to help an agent decide.

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 followersB
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.
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds pagination behavior ('use cursor when paginated'), but no other behavioral traits like rate limits or response structure.

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. First sentence states purpose, second adds key implementation detail (cursor pagination). Highly efficient.

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 list tool: mentions pagination but omits mention of optional parameters (trim, userId) and the shape of the response. Given no output schema, slightly more detail would be beneficial.

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 parameter descriptions. The tool description adds no additional meaning beyond the schema, earning the baseline score.

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?

Clearly states the action ('List followers') and the resource ('TikTok profile by handle'), but does not differentiate from sibling tools like tiktok_profile_following_list or tiktok_profile_audience_get.

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. Does not specify prerequisites or caveats for using handle vs userId.

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 followingB
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.
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds pagination behavior ('use cursor when paginated') but does not disclose other traits like rate limits, response size, or error handling.

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 concise sentences with no waste. Could be more structured (e.g., bullet points), but current form is efficient.

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?

Missing details like response structure, pagination limits, and ordering. With no output schema, the description should provide more context for the agent to understand what is returned.

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 already provides 100% coverage with descriptions for handle, cursor, and trim. The description does not add new meaning to parameters 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?

Description clearly states the action: 'List accounts followed by a TikTok profile by handle'. It uses a specific verb (List) and resource (accounts followed), distinguishing it from siblings like 'tiktok_profile_followers_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?

No explicit guidance on when to use this tool vs alternatives like followers list or profile get. Only cursor hint is given, but no context for tool selection.

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 profileB
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 @.
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's addition of return fields adds some value. No contradictions, but no extra behavioral context (e.g., auth requirements, rate limits) 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?

Single sentence, directly states purpose and output, 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?

Given low complexity (1 required param, annotations present, no output schema), the description adequately covers the tool's behavior and return data. Minor lack of detail about case sensitivity or error handling, but 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 coverage is 100% and the handle parameter is fully documented in the schema. The description adds no new meaning beyond what the schema already provides.

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

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 'TikTok profile by handle', and lists return fields. However, it does not explicitly distinguish from sibling tools like tiktok_profile_audience_get or tiktok_profile_engagement_get, which also fetch profile data.

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. Sibling tools include many TikTok profile-related tools (e.g., engagement, audience), but the description provides no context for choosing this basic get over others.

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 @.
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 reiterate those. However, it adds no additional behavioral context (e.g., what happens if handle is invalid, rate limits, or response format). Given annotation coverage, the description is adequate but minimal.

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, complete sentence with zero unnecessary words. It perfectly front-loads the core action and resource.

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 complexity (1 param, no output schema, no nested objects), the description covers the essential purpose effectively. It could optionally mention the expected return type (e.g., boolean) but is sufficient for an agent to infer functionality from the tool 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% with the 'handle' parameter description explaining the format (with or without leading @). The tool description adds no further meaning beyond 'by handle', so 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 'Check', the resource 'whether a TikTok creator is currently live', and the method 'by handle'. It distinguishes itself from sibling tools (e.g., tiktok_profile_get) by specifying the unique live check functionality.

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 checking live status by handle but provides no explicit guidance on when to use this tool vs alternatives, nor any exclusions or prerequisites. The context is clear but lacks depth.

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 @.
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 does not add much behavioral context beyond 'Get'. 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?

Extremely concise: one sentence that front-loads 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 read-only tool with one parameter and annotations, the description is sufficient. Could mention the output format, but not essential given 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?

The single parameter 'handle' is fully described in the input schema (100% coverage). The tool description adds no extra semantic value 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?

Description clearly states the action (Get), resource (region code), target (TikTok profile), and input (handle). It is specific and distinct from sibling tools like tiktok_profile_get or tiktok_profile_audience_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?

No explicit guidance on when to use or alternatives, but the sibling context implies it is for fetching the region code. A brief note on when not to use could improve clarity.

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.
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 need not repeat. It adds minor context about pagination ('use cursor'), but no disclosure of potential rate limits, authentication, or response size constraints.

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?

Single sentence, efficient and to the point. No wasted words, but lacks a structured breakdown of usage or parameter relations. Could be improved by adding a brief usage scenario.

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 list tool with no output schema, the description should hint at the return format. It says 'Returns a list', but does not specify item fields. Adequate but could be more complete given the simplicity 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 coverage is 100%, so the description adds no new parameter meaning beyond what the schema provides. It restates 'by handle' and 'cursor for pagination', which is already in the schema descriptions.

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?

Clearly states the tool lists products featured on a TikTok creator's showcase by handle. The description uses a specific verb ('List') and resource ('products'), and distinguishes from sibling tools like tiktok_shop_products_list which targets the shop, not showcase.

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?

Implies usage by handle via the description, but provides no guidance on when to use this tool versus alternatives like tiktok_shop_products_search or tiktok_profile_videos_list. No explicit 'when not to use' or alternative tool mentions.

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`.
Behavior4/5

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

Annotations already mark readOnlyHint=true, so the description need not restate safety. It adds valuable behavioral context about credit costs, hostMedia surcharges, and failed-asset policies, which are absent from both annotations and schema, helping the agent understand 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?

The description is two sentences with no filler. Every clause provides actionable information: the core function, the credit base cost, the surcharge conditions, and an exception. It is optimally sized and 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 7 parameters and no output schema, the description covers the essential purpose and adds critical cost context. It does not explain pagination or return structure, but cursor and trim are documented in the schema. Given the simplicity of the operation, the description is nearly complete, though a brief mention of response shape would elevate it.

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 input schema has 100% coverage, providing descriptions for all 7 parameters. The description enhances the hostMedia parameter by explaining the credit model (+2 per hosted asset, up to 24/49 max) and that failed assets are not surcharged, going beyond the schema's basic 'hosts source media' note.

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 resource ('videos from a TikTok profile by handle'), clearly distinguishing it from sibling tools like tiktok_video_get (single video) or tiktok_profile_get (profile info). It is concise 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 use when listing a profile's videos but does not explicitly mention alternatives or state when not to use it. No exclusion criteria are provided, leaving the agent to infer context from the tool name and sibling list.

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.
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds behavioral context beyond those annotations: it states the tool 'Returns a list' and instructs to 'use cursor when paginated', which clarifies pagination behavior. This is useful context that goes beyond 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.

Conciseness5/5

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

The description is two sentences, front-loaded with the primary purpose, and every phrase earns its place. The alternative-tool pointer is essential and the pagination note is directly useful without being verbose.

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 search tool with full schema coverage, annotations, and no output schema, the description provides sufficient context: it differentiates from the sibling search tool, notes the list return type, and covers pagination. No critical information is missing for an agent to select and invoke 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?

Schema description coverage is 100%, with each parameter (hashtag, trim, cursor, region) already well-documented in the schema. The description does not add new parameter-level detail, but it reinforces the hashtag semantics by contrasting it with free-text search. Given the schema fully covers parameter meanings, 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 'Search TikTok videos by hashtag' with a specific verb and resource. It explicitly distinguishes itself from free-text keyword search by naming the alternative tool (tiktok.search.videos.list), and mentions the return type (a list), which prevents confusion with similar 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?

Provides explicit when-to-use guidance: 'not free-text keyword — use tiktok.search.videos.list for that.' This directly addresses usage boundaries and points to the correct sibling tool. Also mentions pagination handling ('use cursor when paginated'), which is actionable for the agent.

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.
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true. The description adds that it returns a list and supports pagination via cursor, which is useful behavioral context beyond the annotations. 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?

The description is extremely concise with two sentences that front-load the purpose and key distinction. Every word adds value, and there is no 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 tool has no output schema, the description explains input parameters and pagination (cursor). It is complete enough for an agent to understand how to use the tool, though it could mention that results are returned as a list of video objects.

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% description coverage for all parameters, so the description does not need to elaborate much. It adds value by noting cursor usage and the keyword nature of the query, but the schema already covers parameter meanings 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 it searches TikTok videos by free-text keyword and explicitly differentiates from hashtag search by naming the alternative tool. It also mentions the return type (list) and pagination cursor.

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 when to use this tool (free-text keyword search) vs the hashtag search sibling. It also advises using the cursor for pagination. However, it does not list other possible alternatives or constraints.

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.
Behavior3/5

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

Annotations already indicate readOnlyHint and openWorldHint. The description adds 'returns a list (use cursor when paginated)', which is consistent but minimal. Lacks details on rate limits, auth, or exact behavior.

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

Conciseness4/5

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

The description is a single concise sentence. It is front-loaded but could be slightly more 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?

Given the tool has no output schema and three parameters including pagination, the description is too brief. It does not mention output format, sorting, limits, or default behavior.

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 all parameters. The description adds no new parameter semantics and introduces a slight inconsistency by mentioning 'shop id' which is not a parameter.

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 that the tool lists products from a TikTok Shop store by URL, which matches the title. However, it mentions 'shop id or URL' but the schema only has 'url', causing minor inconsistency.

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 the sibling tool 'tiktok_shop_products_search'. No explicit when-to-use or when-not-to-use conditions.

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.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's 'Get details' aligns. However, it adds no extra behavioral context such as response format, rate limits, or required permissions, missing an opportunity to augment 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 no redundant words, directly front-loading the action and resource.

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-by-id tool with no output schema, the description lacks information about what 'details' are returned, leaving the agent without key context about the response structure.

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 id's description already explaining how to obtain the id. The tool description does not add further meaning, so 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 verb 'Get' and the resource 'a TikTok song or sound by id', distinguishing it from sibling tools like tiktok_music_videos_list which lists videos for a music.

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 have a TikTok song or sound id, without explicitly stating when not to use or alternatives. It provides clear context but no exclusions.

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.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's pagination note adds incremental value. However, it does not disclose other behaviors like rate limits, authentication requirements, or that it only fetches top-level comments (not replies), which could mislead an agent into expecting all comments.

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 critical purpose and pagination hint are 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.

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 and three parameters. The description covers the core functionality and pagination but omits details about the return format (e.g., list of comment objects), which fields are included, and the distinction between top-level and reply comments (a sibling exists). 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 coverage is 100%, providing descriptions for all three parameters. The description adds 'by URL' and 'use cursor when paginated', which map to url and cursor parameters but adds no semantics for 'trim'. Baseline 3 is appropriate since the description does not significantly augment 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 'List comments on a TikTok video by URL', specifying the verb and resource. However, it does not distinguish from 'tiktok_video_comments_replies_list', which lists replies rather than top-level comments, missing a chance to disambiguate.

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 hints at pagination usage ('use cursor when paginated') but provides no explicit guidance on when to choose this tool over siblings like 'youtube_video_comments_list' or 'facebook_post_comments_list'. Usage context is only implied by tool name.

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`).
Behavior4/5

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

Annotations provide readOnlyHint and openWorldHint, and the description adds behavioral detail about pagination via cursor. It does not cover all aspects like rate limits or error handling, but the added context is sufficient for a read-only list 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 two sentences long, with no fluff. It front-loads the core action and provides necessary details about pagination.

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 (3 parameters, no output schema, read-only), the description adequately covers its purpose and pagination mechanism. It could mention the list output or edge cases, but it is sufficiently complete for typical 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?

Schema description coverage is 100%, so each parameter is already well-described. The description reiterates the comment id and cursor usage but adds minimal 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 clearly states it lists replies to a TikTok video comment, with a specific verb and resource. It distinguishes itself from the sibling 'tiktok_video_comments_list' by focusing on replies rather than top-level comments.

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 that it accepts a comment id and uses cursor for pagination, which gives some usage context. However, it does not explicitly mention when to use this tool versus alternatives like tiktok_video_comments_list, nor does it provide 'when not to use' guidance.

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

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.
Behavior2/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 minimal behavioral info beyond 'Accepts a video URL', no mention of output format, error handling, or limitations.

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, no redundancy, correctly front-loaded with the key action and resource.

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, well-annotated tool, but lacks return value description (no output schema). Agent cannot infer what 'download' returns (direct URL? binary?).

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 covers both parameters with descriptions. The tool description offers no additional parameter semantics beyond what's in the schema. Baseline 3 as 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?

Description clearly states the action 'Download' and the resource 'TikTok video or photo post media', distinguishing it from siblings like tiktok_video_get (metadata) or tiktok_profile_videos_list (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?

No explicit guidance on when to use this tool vs alternatives (e.g., tiktok_video_get for metadata). 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.

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.
Behavior4/5

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

Annotations already provide readOnlyHint and openWorldHint. Description adds that author data is identity-only and notes credit costs, which are 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?

Two concise sentences with no waste. Front-loaded with core action and key differentiator.

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?

With full schema coverage and annotations, description sufficiently covers purpose, limitations, and cost. No output schema needed.

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 baseline 3. Description does not add extra meaning per parameter beyond what's in schema, but no omissions.

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 'Get a single TikTok video by URL' and distinguishes from sibling tiktok_profile_get for metrics. Specific verb+resource.

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?

Explicitly directs to tiktok_profile_get for author metrics when needed, and mentions credits. Clear use case, though no explicit when-not conditions.

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

tiktok_video_transcript_getGet TikTok video transcriptA
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).
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description minimally adds that it retrieves a spoken transcript but does not disclose behavioral traits like return format, error handling, or success conditions. 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 sentence that directly states the tool's function with no wasted words. It is front-loaded and efficient.

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 three parameters and no output schema, the description is somewhat complete when combined with schema details. However, it lacks information about the transcript format (e.g., timestamps, text only) and potential limitations (e.g., availability for all videos).

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 each parameter (url, language, useAiFallback) has a clear description in the schema. The tool description adds no additional semantic value beyond what the schema 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 clearly states the verb 'Get' and the resource 'spoken transcript for a TikTok video', with specificity on the platform and the type of content. It effectively distinguishes from sibling tools like 'facebook_post_transcript_get' by focusing on TikTok.

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 TikTok video transcripts but lacks explicit guidance on when to use this tool versus alternatives. No exclusionary criteria or scenarios for not using it are mentioned.

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 postC
Read-only
Inspect

Get a Truth Social post by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesLink to the Truth Social post.
Behavior2/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds no additional behavioral context such as authentication requirements, rate limits, or response structure, offering minimal value beyond structured fields.

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

Conciseness3/5

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

Description is extremely short at seven words. While efficient, it borders on under-specification and does not leverage the opportunity to add helpful context without being verbose.

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, the description is adequate but incomplete. It lacks information on URL format expectations, error conditions, or typical response fields, which an agent might need for robust 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 a clear parameter description for 'url'. The tool description adds no further meaning beyond what the schema already provides, so 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?

Description clearly states the tool retrieves a Truth Social post by URL. It distinguishes from sibling tools like truthsocial_profile_get or truthsocial_profile_posts_list, though it lacks specificity about what exactly 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 Guidelines2/5

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

No usage guidelines provided. The description does not mention when to use this tool over alternatives like facebook_post_get or twitter_tweet_get, nor does it give context on expected input format or prerequisites.

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.
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint. The description adds that the tool accepts a handle or account id as input, which is useful but does not disclose further behavioral traits such as response format or authentication requirements.

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 conveys the essential information without any extraneous words. It is well-structured and front-loaded.

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 simple input schema, adequate annotations, and no output schema, the description is minimally complete. However, it lacks any mention of what data the profile get returns, which could be helpful 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?

The schema description coverage is 100% and the description's mention of 'handle or account id' largely mirrors the schema's description. It does not add significant new meaning 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?

The description clearly states the verb 'Get' and the resource 'Truth Social profile', and specifies the parameter 'by handle or account id'. It distinguishes from sibling tools like truthsocial_profile_posts_list and other platform profile_get 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?

The description implies usage for retrieving a Truth Social profile, but does not provide explicit guidance on when to use this tool versus alternatives like truthsocial_profile_posts_list or other platform profile tools.

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).
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 variability. The description adds cursor usage for pagination but does not elaborate on other behavioral aspects like rate limits or error handling. 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 sentences, front-loaded with key information, no unnecessary words. Every sentence serves a purpose.

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 tool's purpose and pagination, but does not describe the output format or fields. Given no output schema, a brief note about the return structure (e.g., 'Each post includes text, media, and timestamps') would improve completeness. Adequate but not fully informative.

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 baseline is 3. The description's mention of 'by handle or account id' is redundant with the handle parameter description. It adds minor value by highlighting cursor usage, but the schema already documents all 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 ('List posts'), the resource ('Truth Social profile'), and the identification method ('by handle or account id'). It distinguishes from sibling tools like truthsocial_post_get and truthsocial_profile_get by implying a list 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 guidance on when to use this tool versus alternatives (e.g., truthsocial_post_get for a single post). The description assumes the agent understands that listing posts is the purpose, but it does not mention exclusions or provide context for choosing this over similar tools.

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.
Behavior4/5

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

Annotations already mark readOnlyHint=true and openWorldHint=true. Description adds that it returns metadata and playback URLs, which is consistent and adds 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?

Single sentence, no fluff, clearly conveys purpose and input. Perfectly concise.

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 core functionality. Could mention if clip must be public, but not required.

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?

Only one parameter 'url' with description in schema. Description reinforces 'by URL' but adds no new semantic meaning beyond schema's 100% coverage. 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?

Description clearly states the action 'Get metadata and playback URLs', the resource 'Twitch clip', and the input 'by URL'. It distinguishes from sibling tools like twitch_profile_get which target different resources.

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?

Description implies usage when you have a clip URL and want its metadata, but provides no explicit when-not-to-use or alternatives. Simple getter, so implied usage is acceptable but not explicit.

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 @.
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint, so the description's brief statement adds no further behavioral context. No contradictions; it simply restates the safe 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?

A single, front-loaded sentence with no extraneous words. Every word contributes to clarity.

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 one parameter and no output schema, the description sufficiently explains the tool's purpose and input format.

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% and the description adds value by specifying that the handle may include a leading '@', which is not in the schema 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 ('Get'), the resource ('Twitch profile for a channel'), and the input method ('by handle'). It distinguishes this tool from sibling platform-specific profile getters and other Twitch 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 implies the tool is for retrieving a Twitch profile given a handle. It does not explicitly mention when not to use it or list alternatives, but the context is clear given the tool name and sibling tools.

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 @.
Behavior3/5

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

Annotations declare readOnlyHint and openWorldHint, covering safety. Description adds no further behavioral details (e.g., output format, 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?

Single sentence, no wasted words. Perfectly concise.

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 param and no output schema, the description is complete enough. Could mention return format, but not essential.

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 has full coverage with clear description for the single parameter. Description adds no extra meaning, but 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?

Title and description clearly state the tool fetches a stream schedule for a Twitch channel by handle. It distinguishes from other Twitch tools like profile or videos, but does not explicitly differentiate.

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?

Description implies usage via 'by handle' but does not explicitly state when to use vs alternatives or provide when-not-to-use guidance.

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

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.
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 a behavioral note about pagination ('use cursor when paginated'), which is useful context beyond the annotations. This meets the threshold for meaningful behavioral transparency.

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

Conciseness5/5

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

The description is two short sentences with no filler. The first sentence front-loads the primary purpose, and the second adds the 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 simple listing tool with full schema coverage and read-only annotations, the description is nearly complete. It covers the main action and pagination hint. It does not detail the response structure, but the absence of an output schema and the existence of openWorldHint make this acceptable, though it could mention how the cursor is used in practice.

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 detailed descriptions for each parameter, especially filterBy. The description's only mention of a parameter is 'by handle,' which simply restates the schema. Since the schema carries the full burden, 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 tool's function: 'List videos from a Twitch channel by handle.' It uses a specific verb ('List') and resource ('videos from a Twitch channel'), and it distinguishes from sibling tools like twitch_profile_get (profile info) or twitch_clip_get (single clip).

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 by indicating videos are listed by handle, but it does not explicitly differentiate from alternatives or state when to use this tool over sibling tools. There are no clear usage exclusions or examples, so it falls at the baseline for implied usage.

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.
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 adds minimal behavioral context beyond 'Get details'. It does not contradict annotations but also does not provide additional traits like rate limits or prerequisites.

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 efficiently communicates the tool's purpose without 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 lookup tool with one parameter and no output schema, the description adequately covers what the tool does and how to use it. It does not detail the return structure, but that is acceptable given the tool's simplicity.

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 description adds little beyond the schema's 'Community URL to look up.' The mention of 'community id' in the description is not reflected in the schema, reducing clarity.

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 resource ('X community'), and specifies the lookup method ('by community id or URL'). However, it mentions 'community id' which is not present as a parameter in the input schema, causing minor confusion.

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. While the sibling tool 'twitter_community_tweets_list' exists for fetching tweets, the description does not mention it or any other context for differentiation.

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.
Behavior4/5

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

Annotations already indicate read-only and open-world hints. The description adds pagination behavior ('use cursor when paginated'), which is beyond annotations and helps the agent handle paginated responses. 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?

Two sentences, front-loaded with the main action and a critical pagination hint. Every word is necessary and no fluff.

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 only states 'Returns a list' without specifying the structure of each tweet. Pagination hint is helpful, but completeness is limited for a tool that returns complex objects.

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 fully describes the url parameter. The description mentions 'by community id or URL' but only URL is accepted, adding a minor ambiguity. No additional parameter details or examples beyond 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?

Description clearly states that the tool lists tweets from an X community, distinguished from sibling tools like twitter_community_get (community info) and twitter_profile_tweets_list (profile tweets). The verb 'List' with resource 'tweets from an X community' provides specific 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?

No explicit guidance on when to use this tool vs alternatives. Does not mention when not to use it or provide context for selecting this tool over siblings. The description only states the input (URL) but lacks usage context.

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.
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. Description adds that the tool returns a list and paginates via cursor, which adds value beyond the structured data. 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?

Two sentences, zero waste. First sentence packs purpose and distinction, second explains return type and pagination. 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?

With 4 parameters, full schema coverage, and annotations covering safety and open-world hints, the description is fairly complete. It covers pagination and return type. Missing explicit mention of return structure (no output schema) or rate limits, but adequate for the tool's simplicity.

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 have schema descriptions (100% coverage), so baseline is 3. The description only mentions cursor for pagination but does not add new meaning for hashtag, limit, or section parameters 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?

Description clearly states the verb 'Search', resource 'X posts by hashtag', and explicitly distinguishes from sibling 'twitter.search.list' for free-text keyword search. It leaves 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 Guidelines5/5

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

Explicitly tells when to use this tool (by hashtag) and when not to (free-text keyword - use twitter.search.list). Also provides pagination guidance with cursor usage.

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 @.
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 context by specifying the type of data returned (metrics, account age signals), which is consistent with the annotations and helpful for the agent.

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, no wasted words. Front-loaded with purpose and return data. Ideal length for quick comprehension.

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?

Despite lacking an output schema, the description partially compensates by listing some return values. However, it is vague (e.g., 'follower/tweet metrics', 'account age signals') and does not fully equip the agent to understand the exact response structure.

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 a clear description for 'handle' (allowing optional @). The description restates the parameter but adds no new semantic information beyond what the schema provides, achieving 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 action ('Get an X profile'), the method ('by handle'), and the primary return content ('lookupStatus plus follower/tweet metrics and account age signals'), effectively distinguishing it from sibling tools like twitter_tweet_get or twitter_search_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 implies usage for obtaining profile data but does not explicitly compare to alternatives or provide when-to-use/when-not-to-use guidance. Given many sibling profile and Twitter tools, explicit differentiation would be beneficial.

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.
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 mention of 'returns a list' and pagination adds context beyond annotations. No behavioral surprises are omitted, and 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 sentences, with the purpose in the first and a critical usage hint in the second. No filler, front-loaded, and every word 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?

For a list tool with no output schema, the description adequately conveys the core behavior and pagination. However, it could briefly mention the return format (e.g., 'returns tweet objects') to improve completeness. Still, it is sufficient for agent 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?

Schema coverage is 100%, so the input schema already describes all parameters. The description adds no further detail about individual parameters; it only offers generic pagination advice. 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 'List tweets from an X profile by handle', specifying the verb (list), resource (tweets), and scope (profile handle). It naturally distinguishes from sibling tools like 'twitter_tweet_get' (single tweet) and 'twitter_hashtag_list' (hashtag search).

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 pagination guidance ('use cursor when paginated') which hints at usage context. However, it does not explicitly state when to use this over alternatives (e.g., 'twitter_search_list' for keyword search) or when not to use it.

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

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.
Behavior4/5

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

The description adds value beyond annotations by indicating the output type ('returns a list') and pagination behavior. While annotations already signal read-only and open-world nature, the description clarifies the result structure, which is useful for the agent.

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, consisting of two sentences that front-load the core purpose and key differentiators. Every word serves a purpose with no 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 tool has 10 parameters and no output schema, the description is adequate but minimal. It covers search type, exclusion for hashtags, and pagination, but it omits mentioning other filtering capabilities (dates, language, etc.) which are documented in the schema. The annotations mitigate some gaps, but the description 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?

Schema description coverage is 100%, so the baseline is 3. The description does not add additional parameter semantics beyond what the schema already provides. It only confirms the query is free-text, which is already implied by the schema's 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 verb 'Search', the resource 'X posts', and the mechanism 'free-text keyword'. It also distinguishes from the sibling tool 'twitter_hashtag_list' by explicitly noting not to use it for hashtags, 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 explicit guidance on when not to use this tool (for hashtags, use twitter_hashtag_list) and mentions pagination handling ('use cursor when paginated'). However, it does not cover other alternatives like profile-specific searches, leaving some context gap.

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.
Behavior5/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description adds critical behavioral details: 'Author includes profile metrics when not trimmed', 'trim=true omits author', and 'Credits: 1'. This fully informs the agent of key behaviors.

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?

Four short sentences, front-loaded with purpose, no redundant information. Every sentence contributes necessary information concisely.

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 2 parameters and no output schema, the description covers the essential: what it does, how to use parameters (url, trim), a warning, and credit cost. No gaps.

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 100% schema coverage, the baseline is 3. The description adds value by noting that 'trim=true omits author', which clarifies the effect of the boolean parameter beyond the schema's 'omit author profile and tweet core'.

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 a single tweet by URL', specifying the verb 'Get', the resource 'tweet', and the method 'by URL'. It distinguishes from siblings like twitter_search_list or twitter_profile_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 implies usage when you have a tweet URL, but does not explicitly state when not to use or mention alternatives like twitter_search_list. It provides clear context for use.

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.
Behavior3/5

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

Annotations already indicate readOnlyHint and openWorldHint. The description adds that the tool returns a list and supports pagination, which provides minor additional 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 sentences succinctly convey the purpose and pagination guidance without any superfluous words. Every sentence 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?

The description is brief and covers the basic usage, but lacks details about the return format of the list (e.g., what fields each reply object contains). Given the absence of an output schema, more completeness would help the agent understand the response structure.

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 describes both parameters adequately. The description reinforces the use of the url parameter and cursor for pagination, but does not add 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 clearly states the action ('List replies') and the resource ('to a tweet by URL'), making it distinct from sibling tools like twitter_tweet_get or twitter_profile_tweets_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?

The description implies usage context (listing replies to a specific tweet) and mentions pagination handling ('use cursor when paginated'), but does not explicitly contrast with alternatives or state when not to use.

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.
Behavior3/5

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

Annotations already declare readOnlyHint=true (safe read). Description adds that it targets video tweets and uses URL, but doesn't disclose return format or behavior when no transcript exists. Added value is marginal but non-conflicting.

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 action verb, no wasted words. Perfectly concise 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?

Simple tool (1 param, no output schema). Description is adequate for basic use, but missing details on output format (e.g., returns plain text) and edge cases (no transcript). Still, given low complexity, it's fairly 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% for the single 'url' parameter with description 'Tweet permalink or identifier.' The description merely repeats 'by URL' without adding new meaning, 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 clearly states the tool fetches a transcript for a video tweet. It uses a specific verb (get) and resource (transcript), distinguishing it from siblings like twitter_tweet_get (tweet data) and other platform transcript 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?

Implies usage context (video tweet, by URL), but lacks explicit guidance on when to use this tool over alternatives (e.g., twitter_tweet_get for non-video tweets) or prerequisites. No exclusion conditions mentioned.

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.
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 tool's safety profile is covered. The description adds minimal extra behavior (e.g., 'LLM-generated answer' implies processing delay or potential inaccuracy) but does not disclose details like URL constraints, performance expectations, or the fact that it fetches the page content. 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?

The description is a single sentence that conveys the essential information without wasted words. It is front-loaded with the key action and result, making it easy for an AI 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?

Given the tool's simplicity (2 parameters, no output schema, clear annotations), the description is sufficiently complete. It covers the purpose and key inputs. However, it could mention that the answer is generated by an LLM (implying it may not be factual) or that the URL must be accessible. Still, it meets the needs 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%, so the input schema already provides clear descriptions for both parameters ('url' and 'q'). The tool description does not add additional meaning beyond what the schema offers, 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 clearly states the verb ('ask'), resource ('web page'), and output ('LLM-generated answer'). It distinguishes from sibling tools like web_crawl_run, web_html_generate, and web_search_run by focusing on natural-language question answering.

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. While it is implied that it is for asking questions about a specific URL, there is no guidance on when not to use it or how it differs from web_search_run or web_crawl_run. Context from sibling names suggests some differentiation, but the description itself lacks explicit usage guidelines.

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 pagesA
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.
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 valuable behavioral traits: synchronous execution, small batch size, and pagination handling. These go beyond the annotations and help set expectations for callers.

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 primary purpose and scope. Every phrase earns its place, with no unnecessary details. The grammar issue 'a URLs' is minor and does not detract from overall 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 description is functional but leaves gaps. It says 'Returns a list' but does not specify what the list contains (e.g., extracted content, metadata, or URLs). With no output schema, this ambiguity could confuse agents. However, annotations and schema cover safety and parameters, making the tool usable for simple cases.

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 met. The description's 'Accepts a URLs' is redundant and does not add meaning beyond the schema. It does not clarify the format or behavior of parameters further.

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 ('Crawl'), resource ('web pages'), and scope ('small set' and 'synchronously'), distinguishing it from sibling tools like web_search_run and web_extract_run. It also specifies the output as a list, making the core function 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 usage context: 'small set' and 'synchronously' indicate this is for quick, bounded crawling, and the pagination note ('use cursor when paginated') provides operational guidance. It does not explicitly list alternatives, but the scope constraints imply when this is appropriate.

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.
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 extra behavioral context such as error handling, dynamic content behavior, or result limitations. It neither contradicts annotations nor enriches them, staying at a baseline level.

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 action and mechanism. Every word earns its place; 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?

Given the rich input schema (nested object with baseSelector and fields) and annotations, the description is adequate for an agent to understand the tool's role. It does not explain return values or potential edge cases, but the schema and annotations fill most gaps, making the description sufficiently complete for selection and 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?

All four parameters have descriptions in the schema, giving 100% schema coverage. The description's mention of 'URL and CSS schema' merely echoes the schema, adding no supplemental meaning. With full schema coverage, 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.

Purpose4/5

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

The description clearly states the action ('Extract structured fields from a web page') and the method ('using a CSS selector schema'), making the tool's purpose specific. However, it does not explicitly differentiate this tool from siblings like web_crawl_run or web_ask_run, so it stops short of full distinction.

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 structured fields are needed from a URL via a CSS schema, but it provides no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives. The schema details in the input provide some context, but the description itself lacks direct usage direction.

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 deliveryC
Read-only
Inspect

Queue a manual redelivery for one delivery attempt (async).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
Behavior1/5

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

The description contradicts the annotation readOnlyHint: true. Queueing a redelivery is a mutating, side-effectful operation, not a read-only action. The description also does not disclose any permissions, rate limits, or side effects beyond the async queueing, but the annotation contradiction is a critical flaw.

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 key action and async nature. No wasted words.

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 simple but lacks necessary context: no explanation of what the redelivery does, what response to expect, or how it fits into the webhook delivery lifecycle. The annotation contradiction further undermines the agent's ability to use it safely. Given the absence of output schema and parameter descriptions, the description is not complete enough for reliable invocation.

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?

With 0% schema description coverage, the description must clarify the parameter. It mentions 'one delivery attempt' but does not explicitly state that the id parameter corresponds to a delivery attempt id, nor does it provide any format or additional context beyond the schema's minLength.

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), with an explicit async modifier. It is specific enough to distinguish it from webhookEndpoints_test or other read-oriented webhook tools, though it does not 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 other webhook tools or how to obtain the necessary delivery id. The description implies a use case for redelivery but does not specify prerequisites, context, or exclusions.

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 endpointB
Read-only
Inspect

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
Behavior1/5

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

The description explicitly describes a mutating operation ('Create a delivery target' and 'The signing secret is returned once'), yet the annotations declare readOnlyHint=true. This is a direct annotation contradiction. No other behavioral details (e.g., side effects, persistence, permissions) 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?

The description is only two sentences, front-loaded with the main purpose, and each sentence delivers actionable information (delivery target, kind-specific URL rules, signing secret caveat). 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?

The description covers key creation semantics but omits the full return value (only mentions the signing secret), lacks error-condition guidance, and the annotation contradiction compromises overall trust. For a create tool with no output schema and a contradictory read-only hint, the description is incomplete.

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 compensates by explaining the relationship between kind and url (http requires URL, sink does not), adding meaning beyond the schema. However, the 'description' parameter is not explained, and the URL format is only partially specified as 'public HTTPS' despite the schema having a uri format.

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 ('Create a delivery target for monitor events') with a specific verb and resource, distinguishing it from sibling webhook endpoint operations like get, delete, and update. The reference to 'monitor events' also grounds the tool's scope.

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

Usage Guidelines3/5

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

The description provides useful context for parameter selection by explaining the two kinds ('kind=http requires a public HTTPS url; kind=sink is a hosted test inbox with no url'), but it does not explicitly state when to prefer this tool over alternatives among the webhookEndpoints_* siblings. The 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.

webhookEndpoints_deleteDelete a webhook endpointC
Read-only
Inspect

Permanently delete a webhook endpoint. Cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
Behavior1/5

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

The description discloses the destructive nature ('permanently delete', 'cannot be undone'), but annotations declare readOnlyHint=true, which directly contradicts the described mutation. This is a serious inconsistency that misleads the agent about the tool's safety profile.

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 unnecessary words. The primary action and key consequence are front-loaded, making it efficient and easy to parse.

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 simple delete operation, the core behavior is stated, but the tool lacks an output schema, the parameter is undocumented, and the annotation contradiction undermines reliability. The description does not cover success/failure behavior or prerequisites, leaving notable gaps.

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 schema has one parameter (id) with no description (coverage 0%), and the tool description does not mention it at all. The agent receives no guidance on what id refers to, its format, or its role in identifying the endpoint to delete.

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', with the additional qualifier 'permanently' reinforcing the specific action. This distinguishes it from sibling tools like webhookEndpoints_update, webhookEndpoints_rotateSecret, and webhookEndpoints_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?

Usage is implied (use when you want to remove a webhook endpoint), but there is no explicit guidance on when to use this versus alternatives, nor any mention of conditions or prerequisites. The warning 'Cannot be undone' is a caution, not usage direction.

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
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description correctly aligns with read-only behavior. It adds value by disclosing pagination support (`limit`, opaque `cursor` continuation) and the `after` parameter's effect (oldest-first tail mode). This goes beyond raw annotations, though it doesn't mention default ordering 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?

The description is two sentences and front-loaded with the core purpose. Every word adds value: it names the operation, then lists the key parameters and their roles. No fluff or repetition.

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 5 parameters, no output schema, and sparse parameter descriptions. The description covers pagination and `after` mode, but doesn't explain the `status` filter or what the response looks like. This is adequate but has clear gaps for a list endpoint with multiple filters.

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%, so the description must compensate. It explains `limit`, `cursor`, and `after` at a high level, but `id` (the required parameter) and `status` (an enum filter) are not described, leaving gaps in understanding of how to use them effectively.

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 delivery attempts for a webhook endpoint.' This distinguishes it from sibling tools like `webhookEndpoints_list` (which lists endpoints) and `webhookDeliveries_redeliver` (which redelivers deliveries). The title and description align perfectly.

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 context on use: 'to enter oldest-first tail mode for listeners' implies a use case for listeners, and the tool is a straightforward list operation. It does not explicitly exclude alternatives, but the naming and purpose make the usage clear relative to siblings.

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

webhookEndpoints_getGet a webhook endpointA
Read-only
Inspect

Get one webhook endpoint by id (secret material never included).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
Behavior4/5

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

The readOnlyHint annotation already marks this as a safe read operation. The description adds a useful behavioral disclosure that secret material is never included, which is beyond the annotation. It does not discuss error cases, but this is sufficient for a simple getter.

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 communicates the action, scope, and a key caveat efficiently.

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 getter, the description covers the essential behavior, including the secret-material exclusion. It lacks an explicit note about return shape or not-found behavior, but those are standard and the schema is minimal, 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?

The schema has 0% description coverage, leaving the description to clarify the 'id' parameter. The description only says 'by id', which adds little beyond the parameter name and type. Since the parameter is semantically obvious (an identifier), this is adequate but not enriched.

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 resource ('webhook endpoint'), and clarifies it retrieves one endpoint by id. This distinguishes it from sibling tools like webhookEndpoints_list (which lists all) and webhookEndpoints_create/update/delete.

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 id' clearly indicates this tool is for retrieving a single endpoint when the ID is known, rather than listing endpoints. However, it does not explicitly name alternatives or exclusion conditions, so it stops short of a 5.

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

webhookEndpoints_listList webhook endpointsA
Read-only
Inspect

List the caller's webhook endpoints (secret material never included).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

The annotations already indicate readOnlyHint=true, but the description adds a meaningful behavioral guarantee: 'secret material never included' – a detail not captured in annotations. It also clarifies the scope to the caller's endpoints, though it does not disclose pagination or ordering 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 a single, front-loaded sentence with no filler. Every word adds value: the verb, the resource, the scope, and the secret-exclusion caveat.

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 parameterless list tool, the description fully covers the purpose, the scope (caller's endpoints), and a critical data behavior (secrets excluded). No output schema exists, but the tool's simplicity does not demand further detail.

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 the baseline is 4. The description does not need to elaborate on parameter semantics, and it doesn't, which 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 ('List'), a clear resource ('webhook endpoints'), and a scope qualifier ('the caller's'), making it unambiguous. It also distinguishes this from webhookEndpoints_get (which fetches a single endpoint) by the use of 'list' and from other webhook tools by focusing solely on 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 implies the tool is used to list the caller's own webhook endpoints, but it does not explicitly mention when to use this over alternatives like webhookEndpoints_get or webhookEndpoints_deliveries_list. No exclusionary or alternative guidance is given.

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 secretC
Read-only
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
Behavior1/5

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

The annotations declare readOnlyHint: true, but the description describes a mutation ('Rotate the signing secret'). This is a direct contradiction. Although the description adds useful behavior (24h overlap, old secret works until expiry, new secret returned once), the contradiction forces a score of 1.

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, front-loaded, and each sentence adds important behavioral details. However, it omits any discussion of the id parameter, which is necessary for correct invocation, so it loses a point for completeness despite its brevity.

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 only one parameter and no output schema, the description should clearly define the parameter and any response handling. It explains the rotation behavior but fails to mention what id is, and the contradiction with readOnlyHint creates confusion about safety and side effects.

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 schema has one parameter (id) with 0% description coverage, and the description does not mention or explain what id refers to. Since there is no parameter documentation in the description, the meaning of id is left ambiguous, relying solely on the tool name for 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's function: rotating the signing secret with a 24h overlap window. It uses a specific verb ('rotate') and resource ('signing secret'), and the overlap window detail distinguishes it from other webhook endpoint tools like update or create.

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 explaining the overlap window and that the old secret works until expiry, which is relevant for secure rotation with continuity. However, it does not explicitly state when to use this tool versus alternatives like webhookEndpoints_update or webhookEndpoints_create.

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 eventB
Read-only
Inspect

Send a realistic per-source sample event to a webhook endpoint right now — a live, synchronous delivery test.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
sampleTypeNo
Behavior1/5

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

The description claims a 'live, synchronous delivery test', which suggests an action that sends an actual event and produces side effects. This contradicts the readOnlyHint=true annotation, which marks the operation as read-only. Therefore, behavioral transparency is undermined by the inconsistency.

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, ~20 words, immediately states the purpose and key characteristics (realistic, per-source, live, synchronous). No 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 test tool with no output schema, the description gives the core behavior but omits return value expectations, sampleType allowed values, and endpoints's relationship to other operations. It's sufficient for a simple tool but lacks important usage details.

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 0% description coverage, yet the description does not explain the parameters. It hints at 'per-source' sample events (likely sampleType) but never names the parameters or enumerates valid sampleType values. The required `id` is not 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's function: sending a realistic per-source sample event to a webhook endpoint as a live, synchronous test. It uses a specific verb ('send') and resource ('webhook endpoint'), distinguishing it from CRUD siblings like create/delete/update and from redeliver.

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 on-demand testing ('right now') but does not explicitly state when to prefer it over alternatives like webhookEndpoints_deliveries_list or webhookDeliveries_redeliver. There is no mention of prerequisites or excluded scenarios.

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 endpointB
Read-only
Inspect

Update a webhook endpoint's description or enable/disable it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
statusNo
descriptionNo
Behavior1/5

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

The description directly contradicts the readOnlyHint annotation: it describes a write operation ('Update', 'enable/disable') while the annotation claims read-only. Additionally, it provides no details on side effects, permissions, or partial update behavior, making this a serious inconsistency.

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 key fields. Every word earns its place, with no unnecessary 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?

The tool has only 3 parameters and no output schema, but the description fails to provide essential context. The readOnlyHint contradiction is a critical flaw, and there is no mention of response format, auth requirements, or whether the update is partial. This is inadequate for an AI agent to use confidently.

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 description maps to the 'description' and 'status' parameters, clarifying that status controls enable/disable. This adds meaning beyond the raw schema, which lacks descriptions. However, the required 'id' parameter is not explained, and no information is given about the enum values beyond what is 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 clearly states the action: updating a webhook endpoint's description or enable/disable status. The verb 'Update' plus the specific fields distinguishes it from sibling tools like create, delete, get, and 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 implies the tool is for modifying existing webhook endpoints, but it provides no explicit guidance on when to use it versus alternatives (e.g., rotateSecret, test). There is no mention of prerequisites or situations where this should be avoided.

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.
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 'cleaned' implying some processing, but gives no details about what cleaning entails, whether JavaScript is executed, or any limitations. With annotations lowering the bar, 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 clear sentence with no wasted words. It is appropriately sized for a simple fetch operation and the key information is front-loaded.

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 three parameters, no output schema, and sibling tools that perform similar web-retrieval tasks, the description is too brief. It does not explain what 'cleaned HTML' means, what the return value looks like, or when to choose this over web_markdown_generate or web_extract_run, leaving gaps 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?

The input schema has 100% description coverage for all three parameters (url, waitFor, scanFullPage). The description itself adds no additional parameter context beyond what the schema provides, so it meets the baseline but 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 clearly states 'Fetch cleaned HTML for a web page URL', which specifies a verb, resource, and action. However, it does not explicitly distinguish itself from sibling tools like web_markdown_generate or web_extract_run, so it misses the top score.

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 web_markdown_generate should be used for markdown output or web_extract_run for structured data, leaving the agent without decision support.

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.
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so no contradiction. The description adds 'clean markdown', implying the default fit filter, but it does not disclose behavior like cache modes, rendering/scroll behavior, or that raw/bm25 filters produce different outputs. With annotations covering the safety profile, basic transparency 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?

The description is a single, front-loaded sentence with no filler. Every word contributes to the core meaning, making it highly scannable and appropriately concise.

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 conversion tool with rich parameter schema and annotations, the minimal description plus schema is largely sufficient to select and invoke the tool correctly. However, it lacks any mention of return shape or behavioral caveats like JavaScript-dependent pages, so it is 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?

Schema coverage is 100%, with detailed descriptions for all six parameters including enum values and defaults. The description itself does not mention parameters, but the schema carries the full semantic load, 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 uses a specific verb ('Convert') and resource ('web page URL') with a clear output ('clean markdown'). It distinguishes itself from sibling web_html_generate by explicitly naming the output format, 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 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 like web_html_generate, web_extract_run, or web_search_run. The description states what the tool does but not when it should be preferred or when a different sibling 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.

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.
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 extra behavioral context. It adds 'public' and 'hosted image artifact', which are useful, but does not disclose details like 7-day URL expiry or rate limits. It adds some value 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 a single, front-loaded sentence that conveys the core functionality without superfluous words. It is appropriately concise for a tool with a fully documented schema.

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 schema is exceptionally rich with 18 well-documented parameters, and annotations cover safety and openness. The description, while brief, is sufficient for a simple screenshot tool; however, without an output schema it could mention return format (URL or base64) explicitly, though the 'response' parameter already covers 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 description coverage is 100%, so baseline is 3. The description itself provides no parameter-specific information beyond what the schema already contains. All 18 parameters are thoroughly documented in the schema, making additional description unnecessary.

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 ('Capture') and clearly identifies the resource ('a public web page URL') and output ('hosted image artifact'). It distinguishes this tool from sibling web tools like web_html_generate and web_markdown_generate by emphasizing the visual screenshot output.

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 the tool: whenever a screenshot of a public web page is needed. It provides no explicit exclusion or alternative references, but the context is unambiguous among sibling tools since none others capture screenshots.

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 webA
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.
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint. The description adds useful behavioral context beyond annotations by specifying that results are ranked, include snippets, and that pagination uses a cursor. 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.

Conciseness4/5

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

The description is concise with two sentences conveying purpose, input, and return format. It is front-loaded with the main action. Could be slightly more structured, but every sentence 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 tool with 4 parameters and no output schema, the description covers core functionality and pagination but does not specify result structure, error handling, or how to interpret region/datePosted. Given annotations cover read-only and open-world aspects, completeness is adequate but not thorough.

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 adds minimal extra semantic detail beyond the schema (mentions query and hints at page via 'cursor'). Does not elaborate on region or datePosted 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 clearly states the tool searches 'the public web' and returns 'ranked organic results with snippets.' It distinguishes itself from siblings like web_ask_run and web_crawl_run by specifying the output type and using explicit web search terminology.

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 context (accepts a query, returns a list, use cursor for pagination) but lacks explicit guidance on when to use this tool versus alternatives like web_ask_run or platform-specific searches. No exclusions or prerequisites are mentioned.

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.
Behavior4/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds value by stating the output is 'metrics and identifiers for snapshot baselines,' which contextualizes the data as a point-in-time snapshot. 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?

The description is two short sentences, starting with the action and inputs. It is efficient 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?

Despite lacking an output schema, the description sufficiently explains the return value ('channel metrics and identifiers'). The tool is simple and read-only, so completeness is adequate. Could mention error cases but 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%, with each parameter having a clear description in the schema. The tool description does not add additional information beyond what the schema 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 clearly states the action ('Get'), the resource ('YouTube channel'), and the input methods (channel id, handle, or URL). It also describes the output ('channel metrics and identifiers for snapshot baselines'), distinguishing it from sibling tools like youtube_channel_videos_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 provides no explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or compare to other YouTube tools like youtube_video_get or youtube_playlist_get.

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.
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 adds minimal behavioral context. It mentions cursor pagination but does not elaborate on rate limits, auth needs, or response structure. 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 two sentences, effectively front-loaded with purpose. Every sentence contributes 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?

For a simple listing tool with no output schema, the description covers the essential functionality and parameter options. The mention of pagination is adequate. No significant gaps 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 coverage is 100% and the description mentions channel id/handle and cursor, but adds little beyond the schema. The sortBy parameter is not mentioned. The description clarifies that either channelId or handle can be used, which is helpful but not substantial.

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 Shorts from a YouTube channel and explicitly distinguishes from long-form videos. Among siblings like youtube_channel_videos_list and youtube_shorts_trending_list, this differentiation helps the agent 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 Guidelines4/5

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

The description conveys the context: it accepts a channel id or handle, and mentions cursor usage for pagination. However, it does not explicitly state when to use this tool versus alternatives (e.g., youtube_channel_videos_list) or when not to use it.

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

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.
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safety and partial results. The description adds the pagination behavior ('use cursor when paginated'), which is useful but not extensive. It 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.

Conciseness5/5

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

Two sentences with no wasted words. The main action and key differentiation are front-loaded, making it easy to scan 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 list tool with 5 parameters and no output schema, the description covers the core purpose, differentiation, and a pagination hint. With high schema coverage and annotations, it is fairly complete, though it could mention optional parameters like sortBy for richer 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?

Schema description coverage is 100%, so the baseline is 3. The description mentions 'channel id or handle' which maps to channelId and handle parameters, but doesn't add extra meaning for other parameters like cursor, sortBy, or includeExtras 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 it lists long-form videos, explicitly distinguishes from Shorts by mentioning the sibling tool, and specifies it accepts a channel ID or handle. This provides a precise and unambiguous 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 explicitly tells when not to use (for Shorts) and points to the alternative tool. However, it doesn't provide guidance on when to use this tool over other potential list tools beyond that, but it is clear enough.

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 postA
Read-only
Inspect

Get a YouTube community post by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic YouTube community post URL.
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safe read operation and external data changes. The description adds no behavioral context beyond 'Get', such as rate limits, pagination, or data freshness, so it contributes minimal 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 a single, front-loaded sentence with no unnecessary words. Every part serves a purpose.

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 (1 parameter, no output schema), the description is minimal but does not specify what is returned (e.g., post content, author). This gap could be filled but is acceptable for a straightforward retrieval 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 coverage is 100% and the parameter 'url' has a clear description. The description merely restates 'by URL', adding no new meaning. With high schema coverage, baseline is 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'), the resource ('YouTube community post'), and the method ('by URL'). It effectively distinguishes from sibling tools like youtube_video_get or youtube_channel_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 description provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions. While the tool name and parameter hint at its use, the description lacks direct differentiation from siblings.

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).
Behavior2/5

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

Annotations already provide readOnlyHint=true and openWorldHint=true. The description merely says 'Get', which aligns with read-only behavior but does not add any additional behavioral context such as rate limits, authentication requirements, or error handling. Since the description adds no value beyond annotations, this dimension scores low.

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 of 8 words, front-loading the verb and resource. It is concise, with no redundant information, and fits the small scope of the tool. Every word is necessary.

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 one parameter, read-only annotation, no output schema, and full schema documentation, the description covers the essential purpose. However, because there is no output schema, the description could have hinted at the return format (e.g., a playlist object). Given the constraints, it is minimally 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?

The input schema fully documents the single parameter 'playlistId' with a clear description covering both ID and URL formats. Schema description coverage is 100%, so the baseline is 3. The description does not add any additional meaning beyond the schema, so score remains 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'), the resource ('a YouTube playlist'), and the method ('by playlist id'). It is specific and distinct from sibling YouTube tools such as youtube_channel_get or youtube_video_get, which target different resources.

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. It implies usage by the tool name and parameter (playlistId), but lacks guidance on context or exclusions. Siblings like youtube_channel_get suggest different resources, but no when-not-to-use is mentioned.

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.
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 communicated. Description adds that the tool returns a list and mentions pagination via cursor. However, it does not elaborate on what the list contains or any other behavioral traits beyond what annotations cover. The openWorldHint is present but not explained.

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 only two sentences, with no wasted words. It is front-loaded with the core purpose and immediately provides a usage distinction. Every sentence serves a purpose.

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 listing tool with good schema coverage and annotations, the description is adequate but not exhaustive. It mentions list and pagination but does not describe the return format or content. Given no output schema, additional context about the response structure would be beneficial.

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 does not add extra semantics beyond the schema; it only restates the cursor usage. Baseline 3 is appropriate since schema already carries the 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 action ('Search'), resource ('YouTube content'), and the restriction to hashtag-based search. It distinguishes from sibling youtube_search_list by explicitly noting that free-text keyword search should use that alternative. The verb+resource+scope 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 Guidelines4/5

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

Provides explicit when-to-use (hashtag search) and when-not-to-use (free-text keywords) with direct sibling reference. However, it does not address other potential alternatives like youtube_channel_videos_list for channel-specific searches, but for the primary distinction it is clear.

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.
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint. Description adds that it returns a list and pagination is cursor-based, which is behavioral. 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?

Two sentences, no fluff. Front-loaded with purpose; every sentence 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?

Given full schema coverage, annotations, and no output schema, the description covers the tool's purpose, usage, and key constraints. It lacks details on return format but is sufficient for selection.

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 documents all parameters well. The description adds little beyond mentioning 'free-text keyword' and 'cursor when paginated', which is minimal added 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?

Description uses specific verb 'Search' and identifies resources (videos, channels, playlists). It explicitly differentiates from the sibling tool youtube_search_hashtag_list by noting 'not hashtag'.

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?

Description provides clear context: use for free-text keyword search, not hashtags (points to alternative). Mentions pagination with cursor. Could be more explicit about when not to use (e.g., for specific channel/playlist lookups), but the sibling tool list is extensive.

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.
Behavior2/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 minimal behavioral context beyond stating it analyzes comments, such as what 'analysis' entails, possible output format, or any constraints.

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 concise at two sentences, but the brevity comes at the cost of useful information. It is neither verbose nor well-structured; it simply states the obvious.

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 a vague description, the tool is incomplete for an AI agent. It does not explain the nature of the analysis, return format, or how it differs from similar tools like youtube_video_comments_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 coverage is 100% and both parameters are described in the schema. The description does not add any extra meaning beyond what the schema already provides, meeting the baseline standard.

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 uses the verb 'analyze' which is vague and does not clearly specify what analysis is performed. It mentions 'comments' and 'video URL', but does not differentiate from sibling tools like youtube_video_comments_list. The purpose is somewhat clear but lacks specificity.

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. Sibling tools include similar comment-related tools, but the description does not explain when to choose analysis over listing or replies.

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.
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint; the description adds that the tool returns a list and mentions cursor usage for pagination, providing 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?

Extremely concise: one sentence plus a parenthetical note, front-loaded with essential information, 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 tool with three parameters and no output schema, the description covers the core function and pagination hint; it doesn't mention the order parameter but that is well-described in the 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 good descriptions for each parameter; the description reinforces that cursor is for pagination, adding a small but helpful usage hint.

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 comments on a YouTube video by URL, explicitly distinguishing it from sibling tools like youtube_video_comments_replies_list and youtube_video_comments_analysis_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 implies usage context (list comments on a video) and mentions cursor for pagination, but does not explicitly state when not to use or name alternatives.

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.
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. The description adds that the tool returns a list and uses cursor pagination, which is useful but incomplete. It does not explain the cursor's origin or other behavioral traits like rate limits or authentication needs.

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) but contains a grammatical error ('Accepts a from video comments') that obscures meaning. It front-loads the purpose but wastes the second sentence with unclear 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?

For a simple list tool with one parameter and no output schema, the description covers basic functionality and pagination but lacks a clear explanation of how to obtain the cursor (though the schema supplies this). The garbled sentence detracts from 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?

With 100% schema coverage, the baseline is 3. The parameter 'cursor' is well-described in the schema, linking to the Video Comments endpoint and pagination. The description adds no extra meaning and only partially references the cursor ('Accepts a from video comments').

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 name and title clearly indicate the tool lists YouTube comment replies. The description states 'List replies to a YouTube comment,' which is direct, though the phrase 'Accepts a from video comments' is garbled and 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?

The description provides no guidance on when to use this tool versus alternatives (e.g., other platform reply lists). It does not mention prerequisites or situations where the tool is not suitable. The garbled phrase 'Accepts a from video comments' is unhelpful for usage context.

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.
Behavior3/5

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

Annotations already mark it as read-only and open-world. Description adds minor behavioral context about field naming (channel vs author), but lacks details on rate limits or authentication.

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. Front-loaded with main action and then a clarifying 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?

Adequate for a simple get tool with no output schema, but could be improved by listing typical return fields. Not incomplete, but minimal.

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 parameter descriptions. Description does not repeat schema info, but also does not add extra 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?

Clearly states verb (Get), resource (single YouTube video), and method (by URL). Differentiates from sibling tools like channel or comments 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?

Implies use for fetching a single video by URL, but does not explicitly mention alternatives or when not to use. 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.

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.
Behavior2/5

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

Annotations already indicate readOnlyHint=true, so the description adds no new behavioral context. It does not disclose limitations (e.g., auto-captions required, language availability) or response format.

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?

Single sentence, no wasted words, but extremely minimal. Could include key information without being verbose.

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?

No output schema provided; description does not explain return format, success conditions, or error scenarios. Incomplete for a simple tool with two parameters.

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 descriptions for url and language. The description 'by URL' adds no meaning beyond the schema. Baseline 3 with no additional 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 verb 'Get' and the resource 'transcript for a YouTube video by URL'. It distinguishes this tool from siblings that handle other platforms or video info.

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 (e.g., youtube_video_get for video info, or transcript tools for other platforms). Does not specify prerequisites or exclusions.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.