Captapi
Server Details
Public social media data: profiles, posts, comments, transcripts and ad libraries, 30+ platforms.
- Status
- Healthy
- Uptime
- 99.9% over 75 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- CDCStream/captapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 178 tools
Most tools are separated by platform prefix and action, and descriptions explicitly distinguish similar endpoints (for example hashtag search vs keyword search, captions vs speech-to-text). However, there are direct and near duplicates such as tiktok_live vs tiktok_live_info, plus overlapping profile/stat tools across Instagram and YouTube, so an agent still faces avoidable boundary decisions.
Names consistently use snake_case with a platform prefix plus resource/action, making the tool family easy to scan. Minor deviations exist between noun-style names (e.g., account_balance, github_user) and action-style names, but the convention is overwhelmingly predictable.
178 tools is an extreme mismatch for practical tool selection and far exceeds any reasonable MCP surface. Even though the server spans many platforms, the set should be consolidated or grouped rather than exposing every endpoint as a separate tool.
The surface is very broad, covering profiles, posts, comments, search, transcripts, summaries, ads, shops, and account analytics across many platforms. Some platform-specific gaps remain (for example limited search/discovery in a few ecosystems), but the overall read-oriented data surface is extensive.
Available Tools
178 toolsaccount_balanceCInspect
Plan, subscription vs top-up credits, monthly quota, and renewsAt — 0 credits. Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses cost (0 credits) and caching behavior (cache=true for free 24h hit), adding some transparency. However, it instructs to 'Pass cache=true' while the input schema has no parameters, creating a direct contradiction. This is misleading and undermines behavioral clarity, especially without annotations to fill the gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but not well-structured. It mixes output fields, cost, and caching in a single run-on sentence. While it is concise, the sequence is jumbled and the 'Pass cache=true' instruction is ambiguous. It could be reorganized for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists output fields (plan, credits, quota, renewsAt) but lacks context on return format, authentication requirements, error behavior, or how the cache feature works given the schema lacks the parameter. For a zero-param tool with no output schema, more detail is needed to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4, but the description introduces a 'cache' parameter not present in the schema. This is misleading and actively harms understanding of what arguments may be passed. Since the schema is empty and the description adds a nonexistent parameter, it fails to provide value and introduces confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool returns account balance information: plan type, subscription vs top-up credits, monthly quota, and renewsAt date. It effectively conveys the resource and fields, though it does not explicitly state 'get balance' or 'retrieve account balance.' It is distinguishable from siblings like usage and request history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It mentions cost (0 credits) and caching behavior but does not state prerequisites, typical use cases, or why one would call this over related account tools. The context is minimal and lacks explicit 'use when' instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_daily_usageBInspect
Day-by-day credit usage for spend monitoring (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to include (default 30, max 365). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses zero cost, free failures/empty results, and cache behavior, but the claimed cache parameter does not exist in the schema. It also does not describe the shape of the returned daily usage data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and clear, but 'Costs 0 credits' redundantly repeats the earlier '(0 credits)'. The invalid cache instruction adds confusion rather than value; two brief sentences still contain notable waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple one-parameter tool with no output schema, and the description covers cost, caching, and failure policy. However, the invalid cache reference makes the instructions internally inconsistent, and it does not clarify what fields each daily usage entry contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents 'days' well with default 30 and max 365, so the baseline is 3. However, the description invents a 'cache=true' parameter that the schema explicitly rejects via additionalProperties:false, creating harmful parameter confusion. It also adds no real meaning to the documented 'days' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Day-by-day credit usage for spend monitoring', which clearly distinguishes it from sibling tools like account_balance and account_request_history. The scope and free credit cost are immediately visible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides some context ('for spend monitoring') but no explicit when-to-use vs alternatives or exclusions. More importantly, it instructs 'Pass cache=true' even though the input schema only includes 'days' and additionalProperties is false, so this guidance is misleading and would fail validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_most_used_routesBInspect
Ranked list of which Captapi routes your key calls most (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to include (default 30, max 365). | |
| limit | No | Max rows to return (default 20, max 100). Free — does not consume credits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the transparency burden. It usefully discloses that the call costs 0 credits, that empty results and failures are never charged, and that caching is fresh by default. The claim 'Pass cache=true' is not supported by the schema, which creates a transparency gap despite the useful cost-related details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and easy to scan, with the most important facts in the first sentence. The only issue is the redundant mention of 0 credits twice, but overall it avoids unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two optional schema-described parameters, the description covers purpose, cost, failure behavior, and cache behavior. The unsupported cache parameter and lack of anything describing the ranked output structure or route identifier format leave some gaps, but the tool is mostly understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage for days and limit, including defaults and ranges, so the description does not need to add param-level detail. However, the description explicitly instructs callers to pass cache=true, but no such parameter exists in the schema and additionalProperties is false; this actively misleads invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly says it returns a ranked list of Captapi routes by usage for the caller's key, which makes the purpose specific and distinct from sibling account tools like account_balance or account_daily_usage. It could be more explicit about what a 'route' is and how the ranking is ordered, but the core intent is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this tool to see which Captapi routes your key consumes most, especially when cost is a concern since it is free. However, there is no explicit guidance on when to choose this over account_daily_usage or account_request_history, and no when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_request_historyAInspect
Recent API requests for your key — requestId, status, credits, cacheHit (0 credits). Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return (default 50, max 500). Free — does not consume credits. | |
| since | No | Inclusive lower bound on createdAt (ISO date or datetime). | |
| until | No | Exclusive upper bound on createdAt (ISO date or datetime). | |
| cursor | No | Pagination cursor from nextCursor (createdAt of the last row). Leave empty for the first page. | |
| endpoint | No | Exact Captapi path filter, e.g. /v1/instagram/basic-profile. | |
| statusCode | No | Filter by HTTP status code (e.g. 500). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses cost behavior (0 credits, no charge for empty results/failures) and hints at a caching mechanism. However, it references a 'cache' parameter that does not exist in the schema (additionalProperties: false), which is misleading. It does not describe pagination details or error behavior beyond what the schema implies, but the cost transparency is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys multiple pieces of information (purpose, cost, cache behavior). It is concise but slightly dense and could be clearer with line breaks. Overall, it is efficient without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides some context by listing likely return fields (requestId, status, credits, cacheHit). It does not explain pagination beyond the schema's cursor description, nor does it clarify the cache behavior given the missing parameter. The description is adequate but leaves some ambiguity about the cache option and what exactly is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All six parameters are fully described in the schema (100% coverage), so the description does not need to repeat them. The description does not add any extra meaning to the parameters; it only mentions a non-existent 'cache' parameter, which does not help. Baseline is 3 given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving recent API requests for the user's key, listing key fields like requestId, status, credits, and cacheHit. It is distinct from sibling tools such as account_balance and account_daily_usage, which focus on balance and usage totals rather than individual request history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage guidance, including that the tool costs 0 credits and that empty results/failures are never charged, which reassures the agent about cost. It also mentions a caching option ('Pass cache=true') but this parameter is not present in the schema, which could mislead. No explicit guidance on when to prefer this over alternatives is given, but its distinct purpose implies when it should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_shop_pageAInspect
Third-party seller storefronts (/sp?seller= / /s?me=) — ASIN + canonical /dp URLs, price, badges. Not influencer /shop/{handle}. Costs 1 credit per 16 products (default limit 20 = 2). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Amazon seller storefront URL (/sp?seller=… or /s?me=…) or raw seller ID. Not influencer /shop/<handle> pages. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max products to include (default 20, max 200; 0 = seller metadata only). Billed per 16-product storefront page: ceil(limit / 16) credits, minimum 1 — the default 20 costs 2. | |
| cursor | No | Pagination cursor from nextCursor (page or page:offset). Leave empty for the first page. | |
| marketplace | No | Amazon marketplace code. Default US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and does so well: it states the credit model (1 per 16 products), the failure/empty-result billing exemption, and that caching is opt-in with a 24h window and fresh-by-default behavior. It omits auth/permission requirements and rate limits, but the cost and cache semantics are unusually well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource identity before cost details, and every clause carries information (URL patterns, exclusion, pricing, cache). The heavy em-dash chaining makes it slightly dense to parse, but there is no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter scraping tool with no annotations and no output schema, the description supplies purpose, an exclusion, return contents, pricing, failure billing, and cache behavior. Remaining gaps (auth prerequisites, pagination workflow expectations) are minor given the fully documented input schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself already documents the billing math for `limit` and the cache semantics, so the description largely restates rather than extends it. Baseline 3 is appropriate — it adds no parameter meaning the agent cannot already read in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the precise resource (third-party seller storefronts at /sp?seller= or /s?me=), the payload it returns (ASIN, canonical /dp URLs, price, badges), and explicitly excludes the lookalike influencer /shop/{handle} route. An agent can distinguish this from any other shop-scraping sibling without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use plus a real exclusion (not influencer /shop/ pages) and decision-relevant cost framing (default limit 20 = 2 credits, cache=true for a free hit). It stops short of naming an alternative sibling to use when the target is an influencer shop, so it is clear but not fully prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_compareAInspect
Compare unified metrics across up to 10 URLs — each row is the analytics/post object (1 credit/resolved URL). Costs 1 credit/url. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | Comma-separated post/video/reel URLs (up to 10), any mix of the same 11 platforms as Post Analytics. Example: a TikTok URL and a YouTube URL in one call. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it delivers: it discloses the credit cost per URL, states that empty results and failures are never charged, and explains the cache behavior including the default 'always fresh' mode. This goes well beyond what the input schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses three tight sentences, front-loading the core purpose before cost and caching details. Every sentence adds distinct information with no filler or repetition of the schema verbatim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two parameters and no output schema, and the description covers purpose, input limits, platform scope, output row semantics, cost behavior, and cache behavior. An agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds extra meaning by clarifying the per-URL credit cost, the cache hit pricing, the unified metrics output shape, and the flexibility of mixing platforms. This is useful context beyond the schema's basic field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Compare unified metrics across up to 10 URLs.' It clearly distinguishes this tool from single-URL analytics tools like analytics_post by emphasizing multi-URL comparison. The mention of each row being an analytics/post object further grounds what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is for comparing multiple URLs at once, and references Post Analytics to indicate platform scope. It does not explicitly say 'use analytics_post for a single URL' or list exclusion conditions, but the multi-URL comparison context gives an agent clear situational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_postAInspect
Unified metrics for one post, video, or reel — platform auto-detected (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public post/video/reel URL from one of 11 platforms: YouTube, TikTok, Instagram, Facebook, X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, or Rumble. Platform is auto-detected — cross-platform URLs are expected here (unlike single-platform endpoints). Not in scope: Kwai, Twitch, Spotify, Snapchat, and other Captapi platforms. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and it delivers meaningful behavioral detail: 1-credit cost, no charge for empty results/failures, and cache behavior with a free 24h hit when cache=true. It does not describe what metrics are included or any rate limits, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. It loses a point because 'Costs 1 credit' repeats the parenthetical '(1 credit)' in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, it covers cost, caching, and platform scope, but 'unified metrics' does not say what metrics are actually returned. An agent can invoke it correctly but may not know whether the response satisfies a request for specific data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both url and cache are already fully documented, so the description adds only cost/cache context rather than parameter meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns unified metrics for a single post, video, or reel, with platform auto-detection. The schema's 'unlike single-platform endpoints' explicitly distinguishes it from the many platform-specific detail 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description plus schema gives a clear use case: cross-platform URLs expected for unified metrics, as opposed to single-platform endpoints. It does not explicitly rule out alternatives like analytics_compare or platform-specific deep-dive tools, so it stops short of a full when/when-not decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_post_detailsAInspect
Post thread via getPostThread — nested replies[], facet links/mentions/hashtags, rich author (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bluesky post URL, e.g. https://bsky.app/profile/handle/post/RKEY. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| depth | No | Reply nesting levels under the post (0 = post only with no replies[], default 1, max 6). Maps to Bluesky getPostThread depth. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden and does so well: it discloses the 1-credit cost, that empty results and failures are never charged, and the free caching behavior. It does not mention rate limits or auth requirements, but for a read-only fetch tool the cost and caching transparency is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core purpose and return content. The cost information is slightly redundant ('(1 credit)' followed by 'Costs 1 credit'), and 'Post thread' is ambiguous as a verb phrase, but the overall structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key invocation details: required URL, cache behavior, depth mapping, cost, failure billing, and the main returned fields. With no output schema, it gives enough return-content context for an agent to understand what the tool provides, though it could add explicit sibling differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, and depth. The description adds some context around caching and cost, but it does not add meaningfully new parameter-level semantics beyond what the input schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns a Bluesky post thread via getPostThread and lists the returned content: nested replies, facet links/mentions/hashtags, and rich author info. This distinguishes it from profile and user-post sibling tools, though the phrasing 'Post thread' is terse and could more explicitly say 'retrieve details for a single Bluesky post and its replies.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational guidance, such as using cache=true for a free 24h cache hit and defaulting to fresh fetches. However, it does not explicitly state when to choose this tool over alternatives like bluesky_profile or bluesky_user_posts, 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.
bluesky_profileAInspect
Bluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does a solid job: it discloses the 1-credit cost, states that empty results and failures are never charged, and explains caching behavior (cache=true gives a free 24h hit; default is always fresh). It does not explicitly state read-only behavior, but that is reasonably implied by 'profile' retrieval. The billing and caching specifics add meaningful transparency beyond basic expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the profile contents, but it contains redundancy: '(1 credit)' appears in the first clause and 'Costs 1 credit' repeats the same information in the second sentence. The caching guidance is concise, but the duplication means not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description provides a good inventory of return fields, the credit cost, failure non-charging, and cache options. It doesn't cover rate limits or authentication, but for a straightforward profile fetch these may not be critical. The 'associated{}' and 'verification{}' notation is slightly cryptic but acceptable. Overall, it is reasonably complete for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds valuable semantic context: it clarifies that cache=true yields a free 24h cache hit, distinguishes this from default always-fresh behavior, and points to cacheMaxAge for 1d–30d freshness control. This goes beyond the schema's generic 'default TTL' and helps the agent make informed caching choices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a Bluesky profile and lists the returned fields (handle, did, bio, counts, banner, verification{}, labels[], associated{}), so an agent knows exactly what the tool produces. It lacks an explicit verb like 'fetch' or 'get', but the resource and payload scope are clear. It doesn't explicitly distinguish from sibling tools like bluesky_user_posts, but the platform and 'profile' focus make the purpose reasonably distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative siblings such as bluesky_user_posts or bluesky_post_details. It does offer caching usage tips (cache=true for a free 24h cache hit, prefer cacheMaxAge for 1d–30d), but that is parameter handling rather than tool-selection guidance. No exclusions or alternative references are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_user_postsAInspect
Author feed — posts and reposts (isRepost marked), quote/external/images embeds, opaque cursor. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bluesky profile URL, @handle, or handle, e.g. https://bsky.app/profile/handle.bsky.social. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 100). Billed per result. | |
| cursor | No | Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not invent a cursor from publishedAt — the feed is ordered by feed time (reposts sort by repost time). | |
| filter | No | Bluesky getAuthorFeed filter: posts_with_replies (default), posts_no_replies, posts_with_media, posts_and_author_threads, or posts_with_video. Controls replies/media/threads — not reposts. Use includeReposts=false to drop reposts. | |
| includeReposts | No | When false, omit repost rows (reasonRepost). Default true — reposts are included and marked with isRepost / repostedBy / repostedAt. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does a strong job: it reveals repost marking, embed types, opaque cursor semantics, credit costs per result, the fact that empty results and failures are not charged, and cache behavior. It does not cover every possible behavior like rate limits or explicit output shape, but the provided details add meaningful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact and front-loaded: it opens with the core resource and content type, then adds cost and caching details in short, scannable sentences. Every sentence contributes useful information with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, no output schema, and no annotations, the description is largely complete: it covers content, repost markers, embeds, cursor pagination, costs, failure billing, and cache behavior. It stops short of describing the exact response envelope or error format, which would make it fully complete in the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even without parameter detail in the description. The description adds some value by explaining the opaque cursor, cache hit behavior, and per-result billing, which relate to cursor, cache, and limit, but it does not need to restate the schema's already thorough parameter docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as an 'Author feed' containing posts and reposts, with reposts marked via isRepost and various embed types. It differentiates from sibling tools like bluesky_profile and bluesky_post_details by emphasizing feed-level listing behavior, though it lacks an explicit verb like 'fetch' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context about caching and cost, but it does not explicitly state when to choose this tool over alternatives such as bluesky_profile or bluesky_post_details. Usage is only implied by the phrase 'Author feed' rather than explicitly routed with when-to-use or 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.
facebook_ad_library_ad_detailsAInspect
One Meta ad by ID — same creative as search, plus delivery breakdowns when Meta publishes them. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Meta Ad Library ad URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does this well by stating the flat 2-credit cost, that empty results and failures are never charged, that cache=true yields a free 24h hit, and that breakdowns appear only when Meta publishes them. It omits auth and rate-limit details, but those are less critical for a single-ad lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short, front-loaded, and delivers the core purpose in the opening phrase. The only notable flaw is the redundant 'Flat 2 credits. Costs 2 credits.' which slightly weakens the otherwise tight structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter lookup endpoint with no annotations and no output schema, the description is nearly complete: it explains what is returned, how much it costs, when it is free, and how it differs from search. It lacks explicit output-format or auth notes, but those are not essential for invoking this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's cache guidance largely duplicates the schema's cache property description, and it adds no URL-format details beyond what the schema already provides for the url parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation: retrieve one Meta ad by ID. 'Same creative as search, plus delivery breakdowns' distinguishes it from the search and transcript sibling tools without relying on the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the tool is for a known Meta ad ID/URL and that it adds delivery breakdowns beyond search results, but it never explicitly says when to choose this over facebook_ad_library_search or facebook_ad_library_ad_transcript. The schema's cross-platform warning is a parameter constraint, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_ad_library_ad_transcriptAInspect
Written creative copy from a Meta ad — headline, body, CTA, landing URL. Not a speech transcript. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Meta Ad Library ad URL or ad ID. Returns the ad's written copy — headline, body text, CTA and landing URL. Meta does not expose ad audio, so this is not a speech transcript. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It discloses credit costs (2 credits), that empty results and failures are never charged, and cache semantics (free 24-hour hit vs. always-fresh default). It does not cover rate limits or error types, but it transparently covers the most decision-relevant behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with no wasted words: the core output and caveat come first, followed by pricing and cache options. Every sentence earns its place and the most critical distinguishing fact (not a speech transcript) is fron-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with 100% schema coverage and no output schema, the description is sufficient. It states the output fields, pricing, cache behavior, and non-transcript nature, while the schema handles URL platform constraints. Nothing needed to invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes both parameters, including URL/ID format, platform matching, and cache behavior, so schema coverage is 100% and the baseline is 3. The description adds no significant parameter-level detail beyond what the schema provides; it only reinforces cost and cache semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool returns — written creative copy from a Meta ad (headline, body, CTA, landing URL) — and explicitly separates it from a speech transcript, which is crucial given the tool's name contains 'transcript'. This scope is unambiguous and distinguishes it from transcript-style siblings like youtube_transcript or tiktok_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use it: for Meta ad written copy, not speech audio. It also gives practical invocation guidance such as platform-match requirements and cache behavior. It does not explicitly name an alternative tool like facebook_ad_library_ad_details, but the non-transcript clarification and cost/cache notes give sufficient routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_ad_library_company_adsAInspect
Ads for one Meta page — active by default, Meta's top-by-impressions order, sort_by and date window, same envelope as /facebook/search. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | pageId from /search-companies (preferred), libraryUrl, vanity page URL (facebook.com/nike/), or Ad Library URL with view_all_page_id. Do not pass profileId from facebook.com/{digits}/ when it differs from pageId. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills per returned ad. | |
| cursor | No | Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch. | |
| status | No | Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for "what are they running now?". | |
| country | No | Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. | |
| sort_by | No | Meta sort mode: total_impressions or relevancy_monthly_grouped. Omit for Meta's default ranking (top ads by impressions first). | |
| end_date | No | Only ads shown (delivered) on or before this date (YYYY-MM-DD). | |
| start_date | No | Only ads shown (delivered) on or after this date (YYYY-MM-DD). Delivery-date window, not a start-date filter: an ad that started earlier but was still running in the range is included. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the safety and cost burden well: it discloses the 2-credit price, that empty results and failures are never charged, and that cache=true yields a free 24h hit while the default is always-fresh. It stops short of describing auth requirements, rate limits, or failure modes beyond billing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence plus two short ones; the scope, defaults, and billing posture are front-loaded with no filler. 'Same envelope as /facebook/search' is compact but cryptic enough to cost a point on clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no annotations and no output schema, the description covers cost and defaults but leaves the return shape and pagination behavior largely unaddressed, deferring to 'same envelope as /facebook/search.' Adequate but with real gaps for an agent assembling a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains url formats, limit, cursor, status, country, sort_by, and the date window in detail. The description only echoes the defaults (active, top-by-impressions order, sort_by and date window) without adding syntax or edge-case meaning beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first clause states a specific resource and scope: ads from a single Meta page, with the default status and ordering named. It does not, however, distinguish itself from close siblings like facebook_ad_library_search, facebook_ad_library_search_companies, or facebook_ad_library_ad_details, and the reference to 'same envelope as /facebook/search' points at a route rather than a tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'active by default' and the cache note suggest the common case, but there is no explicit when-to-use or when-not-to-use guidance against the sibling ad-library tools. The agent must infer that this is the per-advertiser listing endpoint rather than the keyword search endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_ad_library_searchAInspect
Search Meta Ad Library by keyword — active/inactive, media type, date range, platforms, cursor, and spend/impressions when Meta publishes them. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword, brand, or advertiser to search Meta Ad Library (min 2 characters). | |
| trim | No | When true, omit cards/images/videos typed arrays (media[] stays). Captapi payloads are already lean vs Meta nested snapshots. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch. | |
| status | No | Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for "what are they running now?". | |
| ad_type | No | all (default) or political_and_issue_ads. Spend/impressions are typically only filled for political/issue ads. | |
| country | No | Two-letter ISO country code (e.g. US, GB, DE). Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY — Meta would otherwise ignore the code and search globally while echoing it back as if the filter worked. | |
| sort_by | No | Meta sort mode: total_impressions or relevancy_monthly_grouped. | |
| end_date | No | Only ads shown (delivered) on or before this date (YYYY-MM-DD). | |
| platforms | No | Comma-separated publisher platforms to keep: FACEBOOK, INSTAGRAM, MESSENGER, AUDIENCE_NETWORK, THREADS. | |
| media_type | No | Creative filter: ALL (default), IMAGE, VIDEO, MEME, IMAGE_AND_MEME, or NONE. | |
| start_date | No | Only ads shown (delivered) on or after this date (YYYY-MM-DD). Delivery-date window, not a start-date filter: an ad that started earlier but was still running in the range is included. | |
| search_type | No | keyword_unordered (default) or keyword_exact_phrase. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does real work: it discloses the 2-credit cost, the no-charge-on-empty-or-failure policy, the 24h cache semantics and that the default bypasses cache, and that spend/impressions are only sometimes published. Not covered are auth requirements, rate limits, or error taxonomy beyond the free-failure rule.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: the operation and its filter surface first, then the cost/cache economics. Every clause carries information — no restatement of the title, no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter tool with no annotations and no output schema, the description covers cost, caching, filter breadth and the data-availability caveat well. It stops short of telling the agent what a result record looks like or how nextCursor is returned, which is the main residual gap given the absent output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains q, cursor, status, country, dates, platforms, media_type and trim. The description restates the same dimension list and adds only a small increment ("spend/impressions when Meta publishes them", the cache default), so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Search Meta Ad Library by keyword") and enumerates the filter surface, so an agent immediately knows this is the keyword-search entry point for Meta ads. It does not name the closely related siblings (facebook_ad_library_company_ads, facebook_ad_library_search_companies) to disambiguate, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance exists but is narrow: it tells you to pass cache=true for a free 24h hit and that defaults are always fresh, plus implicit economics (2 credits, free on empty/failure). There is no statement of when to prefer this over company_ads or ad_details lookups, so routing must be inferred from the tool name and the word "keyword".
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_ad_library_search_companiesAInspect
Find Meta Ad Library pages by brand — name-matched, pageId for company-ads (not profileId). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Company or brand name to search for (min 2 characters). Name-matched — off-brand pages are dropped. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| country | No | Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It discloses cost (2 credits), that empty results and failures are never charged, and the caching behavior (cache=true for free 24h hit). It does not mention rate limits or response format, but covers the key operational traits for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs purpose, cost, failure policy, and caching into a front-loaded structure. It starts with the core function and adds key details without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema and no annotations, it covers cost, caching, and failure behavior. It does not detail response structure or rate limits, but these are minor given the tool's simplicity. The name-matching behavior is also hinted at in the schema, and the pageId vs profileId note adds context. Overall, it is adequate and nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds the pageId vs profileId distinction for the q parameter, which clarifies the output semantics and is not present in the schema. It also reiterates cost and cache behavior, but those are operational rather than parameter-specific. The added pageId distinction justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Find Meta Ad Library pages by brand'. It distinguishes from siblings by noting 'pageId for company-ads (not profileId)', which separates it from generic search and profile-related tools. The purpose is unambiguous and clearly tied to company-brand pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is for brand/company pages and returns pageId for company-ads rather than profileId. This implies when to use it over profile-focused tools, but it does not explicitly name alternatives or state exclusions, so guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_comment_repliesCInspect
Comment Replies Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook post URL the comment belongs to. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| commentId | Yes | ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does add useful non-obvious operational details: the 2-credit cost, that empty results and failures are not charged, and that cache=true provides a free 24-hour hit. However, it does not state whether the operation is read-only, what side effects exist, or any rate-limit or authentication considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and dense, with each sentence delivering distinct operational facts about cost, failure billing, and caching. The only waste is the redundant 'Comment Replies' at the start, but overall the structure is efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch-replies tool, the schema covers parameters and the description covers credits and caching. However, there is no output schema and the description does not clarify the return shape, pagination, or how the results relate to the provided commentId, so some important context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented in the input schema. The description adds no new semantic meaning about the parameters beyond echoing the cache option, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Comment Replies', which merely restates the tool name rather than stating an action such as 'Fetch' or 'List'. It does not explicitly identify the resource or distinguish this from facebook_comments or the sibling comment-reply 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over alternatives like facebook_comments or youtube_comment_replies. The description focuses on credits and caching, not on the conditions that should lead an agent to select this endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_commentsBInspect
Facebook post comments with reactionCount, reactions.like when mixed, author.id (pfbid), and replyCount. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Facebook post or Reel URL. Omit when feedbackId is set. The URL platform must match this endpoint's platform. A page/profile URL also works: Facebook renders the page's most recent post first, so you get that post's comments (each comment's url names the actual post). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| feedbackId | No | Post feedback id from /v1/facebook/details (base64 feedback:POSTID). Prefer when you already have it — also accepts feedback_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavioral traits: cost per call (2 credits), free on empty/failure, cache behavior (default fresh, 24h hit with cache=true), and the conditional presence of reactions.like ('when mixed'). However, it omits other behavioral details such as whether only top-level comments are returned, pagination behavior, auth requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no fluff; the first sentence front-loads the resource and key output fields, the second packs cost and cache behavior. Every clause earns its place and the wording is dense but readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description should clarify the response shape and usage scope, but it only lists a few fields and omits whether the result is an array, how pagination works, and the difference from comment replies. The schema enriches some context (URL can be a post or Reel, feedbackId from details), so it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters (url, cache, limit, feedbackId) already documented in the input schema. The description mostly duplicates the cache behavior ('Pass cache=true') and adds cost/cache side effects, but offers no new parameter semantics beyond what the schema already states, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'Facebook post comments' and enumerates the exact fields returned (reactionCount, reactions.like when mixed, author.id pfbid, replyCount), which makes the tool's function unambiguous. However, it lacks an explicit verb like 'retrieves' or 'lists' and does not distinguish itself from the sibling facebook_comment_replies within the description text itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides conditional guidance only for caching ('Pass cache=true for a free 24h cache hit') and cost behavior, not for tool selection. It never states when to use facebook_comments versus facebook_comment_replies, facebook_details, or other platform-comment tools like youtube_comments or tiktok_comments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_detailsAInspect
Facebook post or Reel — caption, engagement, author id, video{} playback, and music when Facebook exposes them. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry full behavioral disclosure, and it does so by stating the 2-credit cost, the no-charge policy for empty/failed results, the free 24h cache behavior versus default fresh fetch, and the caveat that some fields appear only 'when Facebook exposes them.' It doesn't discuss rate limits or auth, but the public-URL constraint is in the schema, and the disclosed items go well beyond a bare description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences lead with the resource and returned fields, then cover cost, charge policy, and caching. No filler or repetition; each sentence adds information. The only slight cryptic element is 'video{} playback', but it conveys the object shape without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description supplies the key return categories and the variability caveat ('when Facebook exposes them'), plus cost and caching behavior. It doesn't cover every edge case (e.g., private posts, redirects), but for a 2-parameter tool with a well-documented schema this is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both url and cache. The description's cache statement ('Pass cache=true for a free 24h cache hit (default always fresh)') restates the schema's default-false semantics, adding no new meaning. Baseline of 3 is appropriate because the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the target resource ('Facebook post or Reel') and enumerates returned content (caption, engagement, author id, video{} playback, music), distinguishing it from sibling Facebook tools like facebook_comments or facebook_page_details. However, there is no explicit verb like 'retrieves' or 'fetches', so the action is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case — call when you need details of a single Facebook post or Reel — but it never names alternative tools or conditions for choosing between them (e.g., facebook_comments for comments, facebook_profile_posts for a user's posts). The only guidance present is about not passing cross-platform URLs, which is a parameter constraint in the schema rather than tool-selection advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_event_detailsAInspect
Get a Facebook event — title, local start/end, timezone, place, host id, and attendance when exposed. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook event URL, e.g. https://facebook.com/events/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and covers several operational traits: costs 2 credits, free 24h cache hits with cache=true, and no charge for empty results or failures. It also notes attendance is only returned 'when exposed,' setting expectations about field availability. It does not mention rate limits, auth, or private-event restrictions, but the core cost/failure behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the tool's purpose followed by cost and caching. No filler or redundancy; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup with no output schema, the description is nearly complete: it names returned fields, cost model, and cache behavior. The only notable gap is explicit routing guidance among Facebook sibling tools, but that is more about tool selection than invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both url and cache fully documented. The description's cache note ('free 24h cache hit... default always fresh') largely mirrors the schema and adds no new parameter semantics beyond what is already structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('Facebook event') and enumerates the exact data fields returned: title, local start/end, timezone, place, host id, and attendance. This clearly differentiates it from sibling tools like facebook_event_search or facebook_profile_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when an agent has a Facebook event URL, and the schema's url parameter reinforces the platform-match constraint. However, it never explicitly names alternatives like facebook_event_search or states when not to use this tool, so guidance is only 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.
facebook_event_searchAInspect
Search Facebook events by topic and city — local startDate/timezone, venue. 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Topic keyword, e.g. 'comedy'. Pair with location for city-scoped results. | |
| to | No | Inclusive local start date filter YYYY-MM-DD. | |
| from | No | Inclusive local start date filter YYYY-MM-DD. Use for upcoming-only windows — Facebook/SERP may return past events. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change). | |
| location | No | City/place geo filter (e.g. London). Matches timezone, location.city, or coords near the city — not a title substring. | |
| upcoming | No | When true and from is omitted, sets from to today's UTC date so past events are dropped. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and delivers meaningful behavioral disclosures: '2 credits', 'Empty results and failures are never charged', and 'Pass cache=true for a free 24h cache hit (default always fresh)'. This is valuable economic and caching context. It does not cover rate limits, latency, or fetch-path behavior, but the disclosed traits are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads purpose before cost and cache details, which is good structure. However, '2 credits. Costs 2 credits.' is a direct duplication of the same information — a sentence that fails to earn its place and indicates sloppy editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity tool (7 params, all schema-documented), the description plus schema cover purpose, result content, cost, cache, and failure-charge policy reasonably well. Gaps remain: no explicit sibling routing, no output schema to describe return shape beyond a partial hint, and no operational limits like rate ceilings. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already documents all seven parameters. The description adds only marginal reinforcement — it restates cache behavior ('Pass cache=true for a free 24h cache hit') and references 'local startDate/timezone' which maps to the to/from filters, but adds no new format or syntax details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'Search Facebook events' — with a clear scope: 'by topic and city'. It further specifies result content ('local startDate/timezone, venue'), which lets an agent distinguish this from facebook_event_details (single-event retrieval) and facebook_profile_events (profile-scoped events) without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the scope phrase 'Search Facebook events by topic and city' — an agent can infer this is the tool for topic/city-based event discovery. However, there are no explicit alternatives, exclusions, or when-not-to-use conditions, and several closely related siblings (facebook_event_details, facebook_profile_events) are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_group_postsAInspect
Newest posts from a public Facebook group — caption, author, engagement, sortBy; 1 credit per post. Costs ~20 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Facebook group URL, e.g. https://facebook.com/groups/ID. Must contain /groups/ — profile/page URLs are a definitive 400 (use /v1/facebook/profile-posts for those). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max posts to return (default 20, max 200; up to 80 per call — above that you get 80 with truncatedReason per-call-cap). Billed 1 credit per returned post, minimum 2. | |
| sortBy | No | TOP_POSTS | RECENT_ACTIVITY | CHRONOLOGICAL (default) | CHRONOLOGICAL_LISTINGS. Maps to Facebook sorting_setting. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and does well on the billing side: 1 credit per post, ~20 credits per call, empty results and failures never charged, and cache=true yielding a free 24h hit while default is always fresh. It does not cover auth requirements, rate limits, or pagination behavior, so it is not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and returned fields, then the cost model, in four compact clauses. Minor redundancy: '1 credit per post' and 'Costs ~20 credits (1/result)' say the same thing twice, which is the only wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description covers the critical unknowns an agent needs: what it returns, what it costs, and how caching affects both latency and price. Only secondary concerns like auth, rate limits, and pagination depth are unaddressed, and truncation is already handled in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and sortBy fully, including billing and truncation behavior. The description largely restates the cost-per-result and cache semantics without adding syntax or format detail beyond the schema; baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource combination ('Newest posts from a public Facebook group') and enumerates the returned fields (caption, author, engagement, sortBy). It distinguishes itself from profile/page post endpoints only implicitly via 'group', leaving the explicit alternative (facebook_profile_posts) to the schema rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use or when-not-to-use guidance and never names a sibling tool as an alternative. The routing rule ('profile/page URLs ... use /v1/facebook/profile-posts') lives only in the url schema field, so an agent reading the description alone gets no selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_marketplace_itemAInspect
Marketplace listing — title, priceAmount, status, seller{}, condition, coords (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook Marketplace item URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses meaningful operational behavior: the exact credit cost, that empty results and failures are not charged, and that cache=true provides a free 24h cache hit. It does not explicitly state read-only semantics or rate limits, but the billing and caching details are unusually specific and valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the resource and key fields before moving to cost and caching details. The phrase 'coords (2 credits)' is slightly cryptic, but the overall structure is efficient and each sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description lists the expected return fields and covers billing, failure charging, and cache behavior. It could be more explicit about URL input and error details, but the schema covers the URL and the description mentions failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% parameter coverage, including URL platform matching and cache behavior. The description mostly reiterates the cache parameter and cost, adding no new semantic meaning beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a Marketplace listing and enumerates its returned fields (title, priceAmount, status, seller, condition, coords), making it clear this is an item-detail endpoint. It lacks an explicit verb like 'fetch' or 'get', but the resource scope is unambiguous and distinguishable from the marketplace search siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage with a specific Marketplace item URL and touches on cache usage, but it never explicitly contrasts this tool with facebook_marketplace_search or facebook_marketplace_location_search. The intended use case is inferable from the required URL and the term 'Marketplace listing', but no direct guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_marketplace_location_searchAInspect
Disambiguate city names into Marketplace hubs — id + lat/lng. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | City/place query. Bare names like 'Austin' may return multiple candidates (TX/MN/IN); include a state for a single hit (e.g. 'Austin, TX'). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 10, max 50). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure burden. It explicitly states the flat 2-credit cost, that empty results and failures are never charged, and the cache semantics (cache=true gives a free 24h hit, default is always fresh). These are the key behavioral traits an agent needs to make cost-aware decisions, and they are communicated clearly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the purpose and output. However, it contains a redundant duplicate: 'Flat 2 credits. Costs 2 credits.' — the same fact stated twice in adjacent fragments. Otherwise every sentence earns its place, covering output, cost, failure pricing, and cache behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with no output schema, the description covers purpose, cost, caching, and a partial output shape (id + lat/lng). It is complete enough for an agent to call the tool correctly. It could be stronger by describing the response structure in more detail, but the minimal output hint is sufficient for this use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no new parameter meaning beyond the schema: it repeats the cache cost/behavior already documented in the schema and does not add details for 'q' or 'limit'. The useful cost-on-failure note is behavioral rather than parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Disambiguate city names into Marketplace hubs — id + lat/lng.' This clearly distinguishes the tool from siblings like facebook_marketplace_search and facebook_marketplace_item, which handle listings rather than location resolution. It also names the key output fields, leaving no ambiguity about what the tool produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied by 'Disambiguate city names into Marketplace hubs' — an agent can infer it should be called when a city string needs resolving to a hub ID. However, it never explicitly states when to prefer this over the sibling search tools, nor does it mention any exclusions or preconditions. The guidance is present but left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_marketplace_searchAInspect
Search Marketplace by keyword + city — filters, isLocal/shipsOutsideRadius, opaque cursor (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Product or keyword to search Facebook Marketplace for. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | How many listings to return (1–200). Flat 2 credits when details=false; details=true billed as 2 + 2 per listing. | |
| cursor | No | Opaque pagination cursor from a previous nextCursor. A cursor this endpoint did not issue is 400 INVALID_CURSOR. | |
| sortBy | No | suggested | distance | creation_time | price_ascend | price_descend. | |
| details | No | When true, adds description/condition/coordinates/full photo gallery/seller/distanceMiles — billed as 2 + 2 credits per enriched listing (listings the 90s deadline did not reach ship as search cards with truncatedReason=enrich_deadline and are not billed the extra 2). Default false → flat 2 credits; cover photo is still in image. | |
| category | No | Top-level category slug, e.g. electronics. | |
| location | No | Alias of searchLocation. Prefer searchLocation. Either one is required. | |
| maxPrice | No | Maximum price in local currency units. | |
| minPrice | No | Minimum price in local currency units. | |
| condition | No | new, like_new, good, fair (comma-separated ok). | |
| radiusMiles | No | Radius in miles: 1,2,5,10,20,40,60,80,100,250,500. Does not exclude nationwide shipped inventory. | |
| availability | No | available | sold | all. | |
| deliveryMethod | No | local_pickup | shipping | all. Shipped listings can appear nationwide outside radiusMiles — use local_pickup for nearby-only; rows expose isLocal / shipsOutsideRadius. | |
| searchLocation | Yes | Search-origin city or place name, e.g. 'Austin, TX'. Required — there is no default city. Echoed on the envelope and inside filters. Not listings[].location. Names that don't resolve to a real place are a definitive 400 UNKNOWN_LOCATION (Facebook would otherwise silently search an unrelated metro) — /v1/facebook/marketplace-location-search finds valid ones. | |
| daysSinceListed | No | Facebook calendar-day recency: 1 = since the start of yesterday (not a rolling 24 hours), 7, or 30. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and does it well: it discloses the 2-credit cost, that empty results and failures are never billed, that cache hits are free for 24h, and that the cursor is opaque and endpoint-issued. It omits rate limits, auth requirements, and the response envelope shape, which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded, leading with what the tool does before costs. It wastes a sentence on redundancy — "(2 credits). Costs 2 credits." repeats the same fact — which prevents a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter paid tool with no annotations and no output schema, the description covers pricing and the cache lever but says nothing about what comes back (nextCursor, rows, filters echo, isLocal flags beyond a passing mention). The schema handles inputs thoroughly, but the return contract is left undescribed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds a little meaning — keyword+city intent, the local/shipsOutsideRadius distinction, and cache semantics — but the per-parameter pricing tiers, radius increments, and enum values are already fully documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource plus scope: "Search Marketplace by keyword + city" with filters, local/shipping flags, and cursor paging. It clearly separates this from a single-item lookup like facebook_marketplace_item, but never names a sibling explicitly, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance on cache=true versus fresh fetches and says empty results and failures are free, which steers invocation. It does not say when to prefer facebook_marketplace_item (item detail) or facebook_marketplace_location_search (resolve a city), so the choice between marketplace siblings is left to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_page_detailsAInspect
Facebook page profile — likes vs followers (distinct), talkingAbout, category, website, and public email. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook page URL, @handle, or page name, e.g. https://facebook.com/PageName. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It usefully discloses the 2-credit cost, that empty results and failures are never charged, and the cache behavior with cache=true. This goes beyond surface-level purpose and gives an agent actionable operational expectations, though it does not discuss rate limits or error response specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact two-sentence structure: the first sentence conveys purpose and key output fields, and the second covers cost and caching. There is no filler or redundant elaboration; every clause contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has only two well-documented parameters, and no output schema, so the description's listing of returned fields partially compensates. It also covers costing and cache behavior, which are important operational details. It could be more complete by clarifying the shape of the response or handling of missing pages, but overall it is sufficient for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both url and cache parameters well. The description restates the cache behavior already present in the schema, adding no meaningful new parameter semantics. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a Facebook page profile and lists specific returned data like likes vs followers, talkingAbout, category, website, and public email. However, it lacks an explicit verb like 'retrieves' or 'returns', and it does not explicitly differentiate itself from the similar sibling facebook_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as facebook_details or facebook_summarize. It mentions cache usage and credit cost, but offers no selection criteria or exclusions to help route an agent to the correct endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_profile_eventsAInspect
List a Facebook Page's events — local startDate, timezone, venue. 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. Response `source` is native or extended (fetch path — not a price change). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a solid job: it discloses the 2-credit cost, that empty results and failures are never charged, and the cache semantics (free 24h hit, default always fresh). These are meaningful behavioral details beyond the basic 'list' action, though it does not cover rate limits or detailed return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, but it redundantly states '2 credits. Costs 2 credits.' and largely repeats the schema's cache explanation. The redundancy makes it less crisp than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Together with the fully described schema, the description is nearly complete: it covers the purpose, output fields, cost, cache behavior, and failure charging. The main gap is lack of sibling routing context, which is already accounted for in usage_guidelines; nothing needed for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with detailed descriptions for url, cache, and limit, so the baseline applies. The description only restates cache behavior and credit cost already present in the schema, adding no new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource — 'List a Facebook Page's events' — and adds the distinguishing output fields (local startDate, timezone, venue). This makes it clearly distinguishable from siblings like facebook_event_search (general event search) and facebook_event_details (details of a single event).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (listing events for a specific Facebook page) but provides no explicit when-to-use guidance or named alternatives. It does not tell the agent to prefer this tool over facebook_event_search or facebook_event_details, nor does it state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_profile_photosAInspect
Photo grid from a Facebook Page — full image URL plus accessibilityCaption (alt-text, not a post caption). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). The public /photos grid is a single SSR batch (often ~8) — retrievableCount is that batch, not a promise Facebook will fill limit. Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses the 2-credit cost, that empty results and failures are never charged, the 24h cache behavior, and clarifies that accessibilityCaption is alt-text 'not a post caption'—a valuable disambiguation. It lacks only minor context such as rate limits or authentication needs, but the cost/cache/failure disclosures are strong for a public data-fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each earning its place: purpose/output, cost, failure billing policy, and cache behavior. The core purpose is front-loaded first, and there is zero filler or repetition beyond what a standalone description legitimately needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with 100% schema coverage and no annotations, the description covers the important operational facts: cost, non-charging of failures, cache semantics, and the key return field (accessibilityCaption). The absence of an output schema is a structural gap, but the description partially compensates by naming the return fields. Minor omissions like pagination behavior or error semantics are acceptable given the schema's rich limit parameter explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema. The description's cache and credit mentions largely restate what the schema's cache and limit descriptions already say ('0 credits on hit', 'Flat 2 credits per call'). The accessibilityCaption note is output semantics rather than parameter meaning, so the description adds little beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource—'Photo grid from a Facebook Page'—and specifies the output contents (image URL plus accessibilityCaption). It is easily distinguished from siblings like facebook_profile_posts, facebook_profile_reels, and facebook_details because it is the only photos-oriented Facebook tool. However, it lacks an explicit verb ('Retrieves'/'Fetches'), phrased as a noun phrase rather than a specific verb+resource construction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the unique 'photo grid' purpose, and operational guidance is given ('Pass cache=true for a free 24h cache hit'). However, it does not explicitly state when to prefer this tool over any Facebook sibling, nor name alternatives or exclusions. The schema's URL note adds cross-platform constraints, but the description itself provides no tool-selection routing among the large 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_postsBInspect
Latest posts and Reels from a Facebook page — listingHits / timings.phase; 60s deadline, failures 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 4, max 4). The logged-out listing hop is ~23–29s typical, hard-capped at 40s. Each hydrate is typically 6–10s (can be ~100ms when listing already carried the post) and is capped at 12s. The next-item fit check uses that 12s cap, not the typical 6–10s, so a call cannot exceed 60s. The loop stops when the next item would miss the 60s deadline and returns what it has (truncatedReason=hydrate-budget | deadline). Asking for 20 cannot return 20 inside that ceiling. Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses several non-obvious traits: the 2-credit cost, free 24h cache hits, no charge for empty results or failures, and the 60s deadline. This is valuable context beyond the schema. The cryptic 'listingHits / timings.phase' fragment is unexplained, preventing a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose, but the phrase 'listingHits / timings.phase; 60s deadline, failures 0 credits' is dense, jargon-heavy, and poorly structured. It could convey the same operational facts more clearly, so it does not reach the level of a tightly written 4 or 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers cost, caching, and failure policy, but with no output schema and no sibling differentiation it leaves significant gaps: what fields the response contains, how this endpoint relates to Reels-only or page-details endpoints, and when to prefer it over facebook_profile_reels or facebook_page_details. For an agent choosing among many Facebook tools, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents url, cache, and limit in substantial detail, including timing caps and truncation behavior. The description mostly repeats the cache guidance and does not add meaningful parameter semantics beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'Latest posts and Reels from a Facebook page.' This accurately states what the tool returns. It does not explicitly differentiate it from sibling tools like facebook_profile_reels or facebook_page_details, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of related siblings such as facebook_profile_reels, facebook_profile_events, or facebook_page_details. The cache and credit guidance is operationally useful, but it does not help an agent decide between this tool and its alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_profile_reelsAInspect
Latest Facebook page Reels — views, likes, comments, shares; newest-first without archive padding. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook profile/page URL, @handle, or page name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden and excels: it discloses ordering behavior, exclusion of archive padding, credit cost, no-charge policies for empty results/failures, and cache semantics. All of these are concrete behavioral traits beyond the annotation-free baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. The core purpose and output characteristics are front-loaded, followed by cost and cache guidance. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with 3 fully documented parameters and no output schema, the description is complete: it covers what data is returned, the ordering, filtering behavior, cost, failure handling, and cache options. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents url, cache, and limit parameters. The description reinforces the cache behavior ('free 24h cache hit' and 'default always fresh') but 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource and scope: 'Latest Facebook page Reels' with the exact metrics returned (views, likes, comments, shares) and ordering ('newest-first'). It distinguishes itself from sibling profile tools like facebook_profile_posts or instagram_channel_reels by naming 'Facebook page Reels' as the specific target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: for the latest Facebook page Reels, with explicit ordering and no archive padding. It also gives actionable guidance on cache usage ('Pass cache=true for a free 24h cache hit'). It does not explicitly name alternatives or when-not-to-use scenarios, but the context is unambiguous enough for an agent to select this tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_summarizeCInspect
Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Facebook video or post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden and does so well for billing and caching: it states the 4-credit cost, that empty results and failures are free, and that cache=true yields a free 24-hour hit with a default of always fresh. This meaningfully informs the agent about side effects and costs, though it omits rate limits, auth, or response-shape behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and contains no wasted words; the two sentences deliver the cost and cache facts efficiently. The awkward opening 'Summarizer' is a structural weakness, but overall conciseness is strong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations and no output schema, so the description needs to specify what the tool does, what it returns, and when to select it. It does none of those things. The schema documents the parameters well, but the core purpose and selection context are missing, leaving an agent to rely on the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% parameter coverage with detailed descriptions for both url and cache, including the cross-platform URL restriction and cache semantics. The description adds little beyond repeating the freshness default and attaching a cost implication to cache hits, so schema carries the load and the description is adequate but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Summarizer' but never states what is summarized — no mention of Facebook, videos, posts, or any other resource. This is effectively a tautology of the tool name 'facebook_summarize'; the actual purpose must be inferred from the name and input schema rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance about caching and cost, but it does not say when to use this tool versus sibling alternatives like facebook_details, facebook_comments, or video_summarize. There is no when-to-use or when-not-to-use framing for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_activityAInspect
Public events with typed payload (Push commits/ref, PR/issue action) — 90-event ceiling. Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 90). Billed per result. | |
| cursor | No | Opaque cursor from a previous nextCursor. Pagination stops after GitHub's 90-event public activity ceiling. | |
| username | Yes | GitHub username or profile URL, e.g. getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does substantial work: it discloses the 90-event ceiling, credit costs, free failures/empty results, and cache behavior. It does not describe sorting, return structure, or whether authentication is needed, but the core operational behavior is clearly exposed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and every clause earns its place: typed payload, ceiling, credits, failure charging, and cache behavior. There is no filler or repetition beyond what the context requires.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate parameter complexity and absence of an output schema, the description is mostly complete: it explains what events are returned, gives payload examples, notes the ceiling, and covers costs and caching. It could be slightly stronger by outlining the response shape or pagination contract, but the essential operational details are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all four parameters thoroughly. The description mostly restates what the schema says (limit's 90 max, cache being free, 24h cache), adding little new semantic meaning beyond emphasizing the overall ceiling and billing context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: GitHub public events with typed payload examples (Push commits/ref, PR/issue action). It is distinguishable from sibling tools like github_repositories or github_contributions, though it lacks an explicit verb like 'list' or 'retrieve' and 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Public events' implies this tool is for GitHub user activity feeds, and the payload examples narrow the use case. However, there is no explicit guidance on when to choose this instead of related GitHub tools such as github_contributions, github_repositories, or github_user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_contributionsAInspect
GitHub contribution graph — sorted days[], currentStreak (today grace), longestStreak (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| username | Yes | GitHub username or profile URL, e.g. getify or https://github.com/getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals important execution traits: a 2-credit cost, no charge for empty results or failures, default fresh fetch behavior, and the availability of a free cached response. The 'today grace' note hints at streak calculation nuance, though it is not fully explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. However, 'longestStreak (2 credits)' followed by 'Costs 2 credits' creates minor ambiguity about whether the 2 credits refers to the longestStreak field or the entire call, which costs a little clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description covers the essential operational context: cost, caching, failure charging policy, and a rough sketch of the return shape. It does not explicitly route the agent to a sibling for profile data or describe all output details in the absence of an output schema, but the needed info for a correct call is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description reiterates the cache parameter's behavior ('cache=true for a free 24h cache hit') and mentions username indirectly through the tool's purpose, but it does not add meaningful detail beyond what the input schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific noun phrase 'GitHub contribution graph' and enumerates the output fields (sorted days[], currentStreak, longestStreak), making it clear this is about contribution history statistics. This distinguishes it from sibling tools like github_user, github_repositories, or github_activity, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives actionable usage guidance about cost and caching: using cache=true for a free 24-hour hit, and noting that empty results/failures are never charged. It does not explicitly compare to alternative GitHub tools or state when not to use it, so it misses the top score but provides clear operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_followersAInspect
Follower cards {id, login, type, url, avatar} — ~0.1/row; large accounts are expensive to page fully. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 100). Billed per result. | |
| cursor | No | Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. | |
| username | Yes | GitHub username or profile URL, e.g. getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly discloses cost per result, approximate total cost, the 24h cache behavior, and that empty results and failures are never charged. It does not address auth or rate limits, but the cost and failure semantics are unusually explicit and valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: result shape, pricing and pagination warning, and cache/failure billing. The description is compact, front-loaded with the core purpose, and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no annotations and no output schema, the description gives the agent the essential return fields, cost expectations, pagination caution, and cache behavior. It could be slightly more explicit that the response is a list for the specified username, but combined with the schema it leaves few gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with 100% coverage, so the baseline is 3. The description adds useful pricing context for cache, limit, and paging, but it does not add new semantic meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as follower cards and lists the returned fields, making it clear this tool returns followers for a GitHub user. It lacks an explicit verb like 'list' or 'get', and it does not explicitly distinguish itself from github_following, but the resource and output shape are clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: pass a username, control cost with limit, and use cache=true for free repeated calls. It warns that large accounts are expensive to page fully, but it never explicitly says when to prefer this tool over alternatives like github_following or github_user, nor does it state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_followingBInspect
Accounts a user follows — same card and ~0.1/row pricing as followers. Costs ~3 credits (0.1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 100). Billed per result. | |
| cursor | No | Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. | |
| username | Yes | GitHub username or profile URL, e.g. getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds useful details about caching (cache=true for free 24h hit, default fresh) and billing behavior (empty results and failures not charged). However, it does not disclose output shape, pagination behavior beyond schema, rate limits, or whether the operation is read-only, though that is mildly implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose. There is some minor redundancy in the pricing statements ('same card and ~0.1/row pricing' followed by 'Costs ~3 credits (0.1/result)'), but the overall length is appropriate and every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with a complete schema, the description is mostly adequate but leaves gaps: it does not mention what the response contains beyond 'accounts', lacks an alternative differentiation, and with no output schema, an agent might benefit from a note about pagination or result structure. The cost and cache details are helpful but not sufficient for full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all four parameters. The description does not add new parameter semantics beyond what the schema already provides; it only reinforces the cache behavior already described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource clearly: 'Accounts a user follows,' which unambiguously identifies the following list. It does not use an explicit verb like 'list' or 'return', and while it mentions followers for pricing, it does not explicitly contrast itself with the github_followers sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The only reference to followers is about pricing, not about choosing between github_followers and github_following. An agent is left to infer the use case from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_pull_requestsAInspect
List repo PRs — draft, labels, author{}, head/base, opaque Link cursor (state echoed). Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository URL or owner/name, e.g. vercel/next.js. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 100). Billed per result. | |
| state | No | open (API default), closed, or all. Echoed as data.state. Docs example uses closed so mergedAt is visible. | |
| cursor | No | Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses credit costs, free caching semantics, no-charge on empty/failed results, opaque cursor behavior, and state echo. It does not mention auth requirements or error shape, but the important operational behaviors are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly packed and front-loaded: the action and resource come first, followed by return hints, cost, and caching. Every sentence earns its place and there is no redundant restatement of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description communicates the essential return fields, pagination cursor behavior, cost model, and cache behavior. It could be more explicit about response envelope or error handling, but the information needed to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, setting the baseline at 3. The description adds value beyond the schema by clarifying that the cursor is an opaque GitHub Link token, that state is echoed as data.state, that cache=true yields a free 24h hit, and that billing is per result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: "List repo PRs", and enumerates the key returned fields (draft, labels, author{}, head/base, cursor). This clearly distinguishes it from sibling GitHub tools like github_activity or github_repositories, which target different resource types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: call it when you need pull requests for a repository, with cache and state options detailed. It does not explicitly name alternatives or say when not to use it, so guidance is adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_repositoriesAInspect
List a user's repos with sort/direction/type — opaque Link cursor (~0.4/repo). Costs ~12 credits (0.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | created | updated | pushed | full_name (default updated). Not stars — GitHub's user-repos API has no stars sort. Echoed as data.sort. | |
| type | No | owner (default) | member | all — affiliation filter. Echoed as data.type. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 30, max 100). Billed per result. | |
| cursor | No | Opaque cursor from a previous nextCursor (GitHub Link page=). Not a bare page number. | |
| username | Yes | GitHub username or profile URL, e.g. torvalds. | |
| direction | No | asc or desc (default desc). Echoed as data.direction. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and delivers: cost model ('~12 credits (0.4/result)'), billing policy ('Empty results and failures are never charged'), cache semantics ('cache=true for a free 24h cache hit (default always fresh)'), and opaque-cursor pagination. This far exceeds typical transparency for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, followed by cost, billing policy, and cache option — every sentence earns its place. A minor flaw: the per-item rate is stated twice ('~0.4/repo' and '0.4/result'), a small redundancy in an otherwise dense description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no annotations and no output schema, the description covers the unusual operational aspects (cost, empty/failure billing, cache, cursor) while the schema covers all parameter semantics. The remaining gap is the response shape, partially mitigated by schema hints like 'from a previous nextCursor' and 'Echoed as data.sort'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself is unusually rich (defaults, option lists, the 'Not stars' caveat, 'Not a bare page number' cursor warning, 'Echoed as data.*'). The tool description only references sort/direction/type and cache=true at a high level, adding no incremental parameter meaning beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and a specific resource ('a user's repos'), with qualifying dimensions 'sort/direction/type'. The plural resource distinctly separates it from close siblings like github_repository (single repo) and github_trending_repositories (not user-scoped), so an agent can distinguish it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational context — caching, costs, cursor pagination — but never addresses when to pick this over alternatives. Among ~150 siblings, github_repository (singular) is an obvious alternative for one repo's details, yet no when/when-not or alternative routing is given; usage is only implied by the name and 'List a user's repos'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_repositoryAInspect
GitHub repo — stars, real watchers (subscribers), openIssuesAndPrs, license, parent when fork (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository URL or owner/name, e.g. torvalds/linux or https://github.com/torvalds/linux. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden. It usefully discloses the 1-credit cost, that empty results and failures are never charged, cache behavior, and a clarification that 'watchers' means real subscribers. This is substantive behavioral context beyond what the schema alone provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the returned fields before moving to cost and cache behavior. There is minor redundancy: 'parent when fork (1 credit)' followed by 'Costs 1 credit' re-states the credit cost. Overall, it is compact and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-repository lookup with a well-documented input schema, the description covers the resource, key returned values, cost, failure policy, and caching. It does not explain how it relates to sibling GitHub tools, but the core information needed to invoke the tool correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. Both parameters are already well documented in the schema, and the description does not meaningfully expand on the repo or cache parameters; it mainly restates cache cost behavior already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('GitHub repo') and enumerates the data fields it returns (stars, real watchers, openIssuesAndPrs, license, parent when fork), making the purpose reasonably clear. However, there is no explicit verb like 'retrieves' or 'fetches,' and it does not distinguish itself from the sibling github_repositories, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance about cost and cache usage ('Pass cache=true for a free 24h cache hit (default always fresh)'), but it never states when to use this tool versus alternatives such as github_repositories, github_user, or github_activity. No prerequisites, exclusions, or selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_trending_developersAInspect
github.com/trending/developers — windowed ranks with popularRepo + followers (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 100). Flat 2 credits per call. | |
| since | No | Trending window: daily (default), weekly, or monthly — matches github.com/trending/developers?since=. | |
| language | No | Optional programming-language slug → /trending/developers/{language}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does meaningfully disclose cost (2 credits), free handling of empty results/failures, and cache semantics with a fresh-by-default policy. It does not cover rate limits or response shape, but it adds substantial non-obvious behavioral context beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the endpoint and key semantics, followed by billing/cache caveats. It is slightly redundant in stating the 2-credit cost twice, but it remains efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, fully optional-parameter fetch tool, the description covers the source, return content, pricing, failure charging, and caching behavior. It lacks an explicit output shape, but the 'popularRepo + followers' mention gives the agent enough context to understand what will be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents cache, limit, since, and language thoroughly. The description reinforces cache behavior and the trending-window concept but adds little parameter meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (github.com/trending/developers) and the core output concept: windowed ranks with popularRepo + followers. It distinguishes this from sibling github_trending_repositories by name and content, though it lacks an explicit imperative verb like 'Get' or 'List'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (when you need trending developers, optionally filtered by since window or language), and the since/language parameters provide usage context. However, it does not explicitly state when not to use it or name an alternative such as github_trending_repositories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_trending_repositoriesAInspect
github.com/trending — repos ranked by starsGained (daily|weekly|monthly), not all-time stars (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 100). Flat 2 credits per call. | |
| since | No | Trending window: daily (default), weekly, or monthly — matches github.com/trending?since=. | |
| language | No | Optional programming-language slug (e.g. python, typescript) → /trending/{language}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It transparently covers cost (2 credits), free cache hits, the fact that empty results and failures are never charged, and the default fresh-fetch behavior. It does not describe output shape or failure response details, but the cost/caching disclosure goes well beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by cost, cache, and failure-billing behavior. There is minor redundancy: '2 credits' appears twice ('(2 credits)' and 'Costs 2 credits'), which wastes a few words but does not meaningfully hurt comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameter-light read tool with full schema coverage, the description covers the key dimensions: purpose, ranking metric, windows, language option, cost, caching, and failure billing. No output schema exists, but the description conveys that it returns repos ranked by starsGained, which is enough for basic invocation; output-shape details are a minor but not critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaningful parameter context beyond the schema: cost tied to limit, cache parameter behavior (0 credits on hit), accepted since windows, and language path semantics, plus the important 'not all-time stars' distinction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly identifies the resource (github.com/trending) and defines the core ranking criterion: repos ranked by starsGained over daily/weekly/monthly windows, not all-time stars. Though there is no imperative verb, the agent can unambiguously understand what this tool returns and distinguish it from all-time repository listing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use this tool: when trending ranking by starsGained is desired, with an explicit exclusion of all-time star rankings. It also gives concrete cache-usage guidance (cache=true for a free hit, default always fresh). It does not explicitly name a sibling alternative or state when not to use it, so it stops short of the strongest guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_userAInspect
GitHub public profile — login, type User|Organization, email when public, followers (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| username | Yes | GitHub username or profile URL, e.g. getify or https://github.com/getify. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses genuinely useful behaviors beyond the schema: the 1-credit cost, that empty results and failures are never charged, and the 24h cache semantics with default-always-fresh. Rate limits and error handling are not covered, but the cost/cache/billing disclosure is substantive and well beyond what structured fields provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences with the purpose front-loaded and no filler. Minor redundancy: '1 credit' appears in both the first sentence ('followers (1 credit)') and the second sentence ('Costs 1 credit'), which is the only wasted increment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read tool with no annotations and no output schema, the description covers the core facts needed to invoke it correctly: returned fields, cost, cache behavior, and the billing-on-failure policy. Missing only explicit sibling routing and error behavior details, which are minor for a simple profile fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds cost context to cache=true (free on hit, fresh by default) that goes slightly beyond the schema's cache description, but it adds nothing material for username beyond what the schema already provides ('GitHub username or profile URL'). The schema does the heavy lifting here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (GitHub public profile) and enumerates the returned fields (login, type User|Organization, email when public, followers), which distinguishes it from sibling GitHub tools like github_followers, github_repositories, and github_activity. An agent can infer what data it returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The field listing implies when to use this tool — when a user's profile identity, type, email, or follower count is needed — but it never names an alternative or states exclusions. With many github_* siblings present, explicit routing guidance would materially help selection, so the guidance stays at the implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ad_library_ad_detailsAInspect
Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| country | No | Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. | |
| creative_id | Yes | Google Ads Transparency URL containing AR... advertiser and CR... creative IDs. A creative that does not exist under the advertiser is a definitive 404 AD_NOT_FOUND (upstream answered) — 503 is reserved for actual transport failures. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure and does so thoroughly. It reveals credit costs, cache-hit pricing, that empty results and failures are never charged, that commercial ads omit spend/impression ranges, and defines isActive precisely in terms of lastShown within 7 UTC days.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each carrying distinct high-value information: data availability caveat, isActive definition, credit cost, and cache behavior. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-ad lookup with a 3-parameter schema, the description plus schema is nearly complete: the required ID, optional country, cache behavior, cost, and key output caveats are all covered. It could be more explicit about the response shape, but that gap is minor given the tool name and the first sentence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so creative_id, country, and cache are already well documented. The description adds some color about cost and cache behavior, but it largely restates what the schema already conveys, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name strongly implies this returns details for a single Google Ad Library ad, and the description reinforces that with creative lookups, spend/impression ranges, and isActive semantics. However, it never states an explicit verb like 'retrieves' or 'returns', and it does not differentiate itself from the close siblings google_ad_library_advertiser_search or google_ad_library_company_ads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful operational guidance around credits, caching, and charge behavior, but it gives no guidance on when to choose this tool over alternative Google Ad Library tools. There are no explicit when/when-not conditions or named alternatives, which is the core of this dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ad_library_advertiser_searchAInspect
Find Google Ads Transparency AR… entities — ranked multi-result (1 credit when found; empty is free). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Brand, domain, or advertiser name (min 2 characters). Expanded + ranked so US prefers Inc. over SRL. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 10, max 50). Flat 1 credit when results are returned; 0 credits when totalReturned is 0. | |
| country | No | Two-letter ISO country code used for ranking (e.g. US). Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It discloses credit costs, that empty results and failures are never charged, that results are ranked, and the caching behavior. These are meaningful operational behaviors beyond the input schema, though it does not describe the shape of the returned entities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core purpose before the cost and caching details. Minor redundancy exists between '1 credit when found' and 'Costs 1 credit', but the overall structure is efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 4-parameter search tool with no output schema, the description provides the essential operational context: purpose, credit implications, caching, and failure charging. It does not detail the exact return shape, but 'ranked multi-result' plus the schema's parameter documentation is sufficient for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds value beyond the schema: it explains ranking behavior with examples (US prefers Inc. over SRL), clarifies cache-hit pricing, and warns that non-ISO country codes cause a definitive 400 INVALID_COUNTRY error. This supplements the parameter definitions usefully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Find') on a specific resource ('Google Ads Transparency ... entities') and indicates multi-result ranking. It does not explicitly distinguish itself from siblings like google_ad_library_company_ads, but the tool name and q parameter make the advertiser-search purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful operational context such as credit costs and cache behavior, and implies use for searching advertising entities. However, it does not explicitly state when to choose this tool over alternatives like google_ad_library_company_ads or google_ad_library_ad_details, nor does it mention exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ad_library_company_adsAInspect
Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Client-side sort: last_shown (recent activity first) or first_shown. Default is ATC order. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits when results are returned; 0 credits when totalReturned is 0. | |
| topic | No | Only "all" is supported (commercial ATC). Google publishes spend and impression ranges only for election ads; commercial advertisers omit both. isActive is true when lastShown is within 7 UTC days. | |
| cursor | No | Pagination cursor from nextCursor. | |
| region | No | Alias for country. | |
| country | No | Two-letter ISO country / region code (soft filter). Default US. Alias: region. Non-ISO codes are a definitive 400 INVALID_COUNTRY. | |
| end_date | No | YYYY-MM-DD — keep creatives whose shown window overlaps this end. | |
| advertiser | Yes | Advertiser name, domain (e.g. nike.com), or Google advertiser ID (AR…). Prefer AR… from advertiser-search. | |
| start_date | No | YYYY-MM-DD — keep creatives whose shown window overlaps this start. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden — and it excels. It explicitly discloses credit costs (2 credits), the no-charge policy for empty results and failures, caching behavior (cache=true for a free 24h hit, default fresh), the spend/impression data-availability limitation, and precise isActive semantics (lastShown within 7 UTC days). This is rich behavioral context beyond what annotations would supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences with zero filler, front-loaded with the most decision-relevant caveat (spend/impressions only for election ads). Every sentence earns its place: field semantics, credit cost, charge exemption, and caching behavior are each covered in minimal words. The credit cost is conveyed in seven words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 10 parameters, no output schema, and no annotations, the description covers the critical behavioral ground: costs, cache, data availability, and isActive meaning. Remaining gaps are an explicit statement of what the tool returns and routing against siblings, but the extraordinarily detailed schema compensates for much of that, leaving the definition nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description adds no parameter-level meaning itself, but it doesn't need to — the schema already documents every parameter in detail, including the country soft filter, the 400 INVALID_COUNTRY failure mode, the 'all'-only topic constraint, and the region/country alias. The schema does the heavy lifting here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never explicitly states the core function — listing a company's ads from the Google Ad Library. It opens with data-availability caveats (spend/impressions only for election ads) and behavioral notes (isActive, credits, cache), so an agent must infer the verb+resource from the tool name and schema. The resource is identifiable, but the primary purpose is implied rather than stated, making it vague for a 10-parameter tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The sibling list includes google_ad_library_ad_details, google_ad_library_advertiser_search, and facebook_ad_library_company_ads, and the description never distinguishes this tool from them or states conditions for choosing it. The closest hint is the schema's 'Prefer AR… from advertiser-search' in the advertiser parameter, but the tool-level description itself gives no routing or exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_maps_business_searchAInspect
Local businesses from a Maps search — name, address, phone, website, rating, hours, place id. Flat 2 credits. No emails. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword, for example plumber or coffee. Min 2 characters. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max businesses to return (default 20, max 100). Not a page cursor — there is no next page. Flat 2 credits per call; zero businesses is 0 credits. | |
| language | No | Language code, for example en. Default en. | |
| location | No | Place name: City, Country or City, Region, Country — for example Austin, TX, Istanbul, Turkey, Paris, France, or a country such as Germany. Case, accents, US state codes, and country aliases (USA, UK, Turkey) are handled. A city name shared by several places (Paris) returns 400 with suggestions. When set, the locationCode parameter is ignored. | |
| locationCode | No | Numeric place code, used only when location is omitted. Default 2840 (United States). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does much of it: flat 2-credit pricing, failures and empty results never charged, cache semantics (default always fresh), and the explicit 'No emails' data limitation. It stops short of stating rate limits, auth requirements, or result-shape caveats beyond the field list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and compact, with the field list first and the pricing/caching caveats after. It wastes a bit of space by stating pricing twice ('Flat 2 credits' then 'Costs 2 credits') in the same short paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter search tool with 100% schema coverage, no output schema, and no annotations, the description covers the key unknowns: cost model, failure billing, cache behavior, and available output fields. Only deeper operational details (limits on result quality, rate limits) are absent, which is minor here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are already documented (q, cache, limit, language, location, locationCode). The description only restates the cache default and adds the 'no emails' constraint, adding little 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Local businesses from a Maps search') and enumerates the returned fields (name, address, phone, website, rating, hours, place id), so an agent knows exactly what it gets. No sibling tool covers Maps/local business lookup, so differentiation is not required.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description (business lookup by keyword/location), and it does give one conditional instruction — pass cache=true for a free 24h hit. But there is no explicit when-to-use vs alternatives, no prerequisites, and no statement of 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_basic_profileAInspect
Instagram profile by user ID or @handle — camelCase schema aligned with Channel Details (followers, externalUrl, businessAddress). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| userId | Yes | Instagram numeric pk (e.g. 13460080 — the id field on this endpoint), or a profile URL / @handle / username. A Facebook/Graph fbid (17-digit 17841…) is 400 WRONG_ID_TYPE. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it does substantial work: it discloses credit cost ('Costs 1 credit'), billing on failure ('Empty results and failures are never charged'), caching semantics ('free 24h cache hit'), and the default freshness policy. These are genuine behavioral traits that neither the schema nor annotations convey. It stops short of disclosing auth requirements or rate limits, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, each earning its place: purpose, schema alignment, cost, failure billing, and caching. The purpose is front-loaded before the operational details. The parenthetical field list '(followers, externalUrl, businessAddress)' is slightly heavy but serves as a useful stand-in for a missing output schema, so it earns its keep.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one required parameter and no output schema, the description compensates well: it covers input formats, output shape via the Channel Details alignment, cost, caching, and failure policy — a strong amount of context. The notable gap is sibling routing: among ~15 Instagram tools, an agent is not told when to choose this over instagram_details, instagram_channel_details, or instagram_profile_search, which is a real completeness risk in this large sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter is already well documented: userId lists all accepted formats and the 400 WRONG_ID_TYPE caveat, cache explains the default-false behavior, and cacheMaxAge enumerates allowed TTLs. The description adds only marginal value — the word 'free' for cache hits and a restatement of the default-fresh behavior — which matches the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening phrase 'Instagram profile by user ID or @handle' names a clear resource and the accepted input modes, so an agent knows what this fetch does. The 'camelCase schema aligned with Channel Details' clause adds output-shape context that helps distinguish it from search-oriented siblings like instagram_profile_search. However, it never explicitly says why an agent would pick this over instagram_details or instagram_channel_details, so sibling differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance — 'Pass cache=true for a free 24h cache hit (default always fresh)' and 'Empty results and failures are never charged' — which helps an agent decide how to invoke it cost-effectively. But there is no explicit when-to-use versus the many overlapping Instagram siblings (instagram_details, instagram_channel_details, instagram_channel_posts), and no named alternatives or exclusions. Usage context is present but routing guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_channel_detailsBInspect
Instagram profile stats — fixed key set (null fillers), fbid, bioLinks, isBusinessAccount, approx flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden and does substantial work: it discloses cost ('Costs 1 credit'), the no-charge policy for empty/failed results, the default-fresh behavior versus the free 24h cache hit, and approximate/null-filled values in the output. It could additionally cover rate limits or auth requirements, but for a read-only stats endpoint this is well above the minimum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: four short sentences, with the purpose front-loaded before operational details. Every sentence earns its place (purpose/output shape, cost, failure policy, caching). The first sentence is dense to the point of being slightly cryptic, but there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description partially compensates by listing key output fields and operational behavior (cost, cache, failure charges). However, it leaves gaps: no explanation of what 'approx flags' or the full fixed key set means, no sibling differentiation among Instagram profile tools, and no error/rate-limit context. It is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and the schema already handles url/cache/cacheMaxAge semantics. The description adds a small extra detail for cache ('free 24h cache hit (default always fresh)') beyond the schema, but contributes nothing for url or cacheMaxAge. No compensation beyond baseline is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Instagram profile) and the delivered data type ('profile stats'), and adds concrete output detail ('fbid, bioLinks, isBusinessAccount, approx flags'). However, it uses no explicit verb ('fetch'/'get'), and the cryptic phrase 'fixed key set (null fillers)' muddies exactly what is returned. It also does not differentiate from the overlapping siblings instagram_basic_profile and instagram_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement about when to choose this tool over instagram_basic_profile, instagram_details, or other Instagram siblings, which is a real gap given their overlapping scope. The operational notes about cost and caching are useful but are not tool-selection guidance. Usage is only implied: use it when you need Instagram profile stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_channel_postsAInspect
Latest posts from a public Instagram profile — carousel children[], mediaCount, user{} in one call. Costs ~6 credits (0.3/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (e.g. 3937014945555313553_1697296). A null nextCursor means the end of the list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden and does well: it states the profile must be public, explains credit cost per result, notes that empty results/failures are never charged, and clarifies cache behavior and default freshness. This goes beyond the schema's parameter-level descriptions and gives an agent realistic expectations for cost and failure handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three sentences, front-loads the core function and key output fields, and then packs billing and cache behavior into the remaining sentences. Every sentence earns its place; there is no filler, redundancy, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description compensates well by naming important return fields, stating the public-profile requirement, and covering cost/failure/cache behavior. It also relies appropriately on the schema for parameter details like pagination and URL format. Minor gaps remain around the exact response envelope and how failures manifest, but the essential context for calling the tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description adds value on top by explaining cost implications (~6 credits, 0.3/result) and the free cache-hit benefit. This helps an agent reason about limit and cache parameter trade-offs. It does not redundantly restate the parameter descriptions, so it earns a point above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'Latest posts from a public Instagram profile' and highlights key response fields (carousel children[], mediaCount, user{}). It is specific enough about the endpoint's resource and output. However, it does not explicitly contrast with closely related siblings like instagram_channel_reels or instagram_tagged_posts, so it stops short of perfect differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys when the tool is appropriate by focusing on 'latest posts' and 'in one call', and it gives operational guidance about caching and billing. But it does not explicitly state when to use this tool versus alternatives or mention exclusion cases, such as 'use instagram_tagged_posts for tagged content'. Thus 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.
instagram_channel_reelsAInspect
Latest Reels from a public Instagram profile — pass userId to skip resolve; ceil(n×0.3) credits; nextCursor + hasMore. Costs ~6 credits (0.3/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, @handle, or username. Omit when userId is set. The URL platform must match this endpoint's platform. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass nextCursor from the previous response (clips:{userId}:{opaque} on the native Reels path, or legacy {mediaId}_{userId}). Stop when hasMore is false. | |
| userId | No | Instagram numeric user ID (e.g. 173560420). Skips handle→ID resolve (legacy sequential WPI alone could cost ~80s). Prefer when you already have the ID from basic-profile or profile-search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure, and it excels: it explains the credit cost formula (ceil(n×0.3), ~6 credits at default), pagination contract (nextCursor + hasMore), cache behavior (cache=true for free 24h hit, default fresh), and a no-charge policy for empty results and failures. This is far more transparent than typical tool descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and informative, front-loading the core purpose. However, 'costs ~6 credits (0.3/result)' restates the earlier 'ceil(n×0.3) credits' formula, introducing slight redundancy. Still, every other clause earns its place, so it remains well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description provides a remarkably complete picture: cost, caching, pagination, resolve behavior, and failure charging. The only notable gap is the lack of any description of the returned reels data shape, which is partially mitigated by the mention of nextCursor and hasMore.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter (url, cache, limit, cursor, userId) is already well documented in the schema. The description adds some context around cost per result and the resolve-skip optimization, but these mostly reinforce the schema rather than add new semantic meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Latest Reels') and a specific resource ('from a public Instagram profile'), making the tool's function immediately clear. It distinguishes this from sibling reels tools like instagram_trending_reels and instagram_reels_search by anchoring to a specific profile's channel.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by saying 'from a public Instagram profile', but it never explicitly states when to choose this tool over alternatives like instagram_reels_search or instagram_channel_posts, nor does it mention exclusions or prerequisites beyond 'public'. The guidance is clear but not directly comparative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_commentsAInspect
Session-paged Instagram comments — a logged-out 2-row preview of a larger thread is 503 SESSION_UNAVAILABLE at 0 credits. Costs ~45 credits (0.9/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Billed per result. | |
| cursor | No | Pagination cursor from the previous nextCursor ({mediaPk}:{minId}). Omit on the first page. hasMore is true when nextCursor is set, or when more exist and cannot be paged (nextCursor null + truncatedReason). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden of behavioral disclosure. It discloses cost (~45 credits, 0.9/result), no charge on empty/failed results, cache behavior, and a specific failure mode (503 SESSION_UNAVAILABLE for a logged-out 2-row preview of a larger thread at 0 credits). This goes well beyond what the input schema or name alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core resource appears first, followed by short, dense operational caveats. The phrase about the 'logged-out 2-row preview... 503 SESSION_UNAVAILABLE' is cryptic, but the overall text is efficient rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter, read-style endpoint with no output schema and no annotations, the description covers the main invocation concerns: session/error behavior, caching, cost, and pagination context. It does not describe the response shape, but the fully documented schema reduces that burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor, including defaults, minimums, and the nextCursor format. The description reinforces cache and billing behavior but does not add new meaning to any individual parameter beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('Instagram comments') and the pagination mode ('Session-paged'), and the schema's URL parameter clarifies that it operates on Instagram post/reel URLs. It does not open with an explicit verb phrase like 'Retrieves comments for...' and it does not differentiate against sibling tools, but the tool name plus schema make the operation unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives actionable call guidance: pass cache=true for a free 24h cache hit, default is always fresh, and empty/failed calls are not charged. It does not name alternative endpoints or explicit exclusions, but within the Instagram sibling set there is no direct comments alternative, so the context provided is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_detailsAInspect
Get an Instagram post, Reel or carousel — caption, likes, comments, views, media URLs, author, and per-slide children on carousels. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram post or reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses the 1-credit cost, that empty results and failures are never charged, and the free 24h cache-hit behavior with fresh-by-default semantics. It does not mention auth, rate limits, or error formats, but for a simple read endpoint this is solidly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the action and returned data, then packs cost, failure policy, and cache behavior into the second sentence. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter read tool with no output schema, the description compensates by listing the expected return fields and operational details like credits and caching. It is sufficient for an agent to call correctly, though it could go further by naming sibling alternatives for disambiguation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already thoroughly documents both url and cache semantics. The description repeats the cache behavior but adds no new parameter-level meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb and resource: 'Get an Instagram post, Reel or carousel' and lists concrete return fields (caption, likes, comments, views, media URLs, author, per-slide children). This clearly distinguishes it from sibling endpoints like instagram_basic_profile, instagram_channel_posts, or instagram_embed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool by scoping it to posts, Reels, and carousels, and it gives useful cache usage guidance. However, it never explicitly names alternatives or states when to prefer a sibling tool such as instagram_comments or instagram_channel_posts, so usage context is implied rather than explicitly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_embedAInspect
Classic Instagram embed snippet — blockquote.instagram-media + embed.js. Drop html into your page. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram post, reel, or profile URL (or @handle), e.g. https://instagram.com/reel/ID/ or https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and does so well. It discloses the 1-credit cost, that empty/failed results are not charged, the 24-hour cache behavior, and that the default is always fresh. This is valuable operational context beyond what the schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no fluff. The purpose comes first, followed by cost, failure policy, and caching behavior. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with two simple parameters and no output schema, the description plus schema fully covers what the tool does, how to use it, what it returns, and its operational behavior around credits and caching. Nothing essential is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both url and cache are already well documented. The description reinforces the cache default and cost implications, but adds no new meaning about the parameters themselves beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific deliverable: a classic Instagram embed snippet using blockquote.instagram-media and embed.js, to be dropped into a page. This distinguishes it from the many Instagram data-fetching siblings like instagram_details or instagram_channel_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly conveys the use case: generate an HTML embed snippet for a page, with an optional cache=true path for free cached results. It doesn't explicitly compare against sibling alternatives, but no sibling serves the same embed purpose, so the context is clear without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_hashtag_searchCInspect
Hashtag Explore: native grid first, fallback path only on miss. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Flat 2 credits per call. | |
| mediaType | No | all (default) or reels — return only Reels/clips when set to reels. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose genuinely useful traits: flat 2-credit cost, no charge on empty results or failures, and a cache toggle with a 24h window and fresh-by-default semantics. However, it omits return format, pagination, auth requirements, and rate limits, and 'native grid first, fallback path' is opaque about what data actually comes back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and mostly front-loaded, but 'Flat 2 credits. Costs 2 credits.' is a verbatim restatement of the same fact, and the telegraphic fragments ('Max 50.', 'default always fresh') trade clarity for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema and no annotations, the description covers the cost/caching profile reasonably but says nothing about what a result contains or how results are shaped. It is adequate on billing behavior and thin on everything else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema. The description's 'Max 50' and cache line largely restate schema content, and mediaType is not addressed at all, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name is unambiguous, but the description itself opens with jargon ('Hashtag Explore: native grid first, fallback path only on miss') that describes implementation sourcing rather than what the tool returns. It never plainly states it searches Instagram posts by hashtag, and it does not distinguish itself from near-siblings like instagram_reels_search or instagram_tagged_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no exclusions. The 'fallback path only on miss' line describes internal behavior, not a condition under which the agent should choose this tool over tiktok_search_by_hashtag or instagram_profile_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_highlightsAInspect
Persistent Story Highlight albums for a public profile — id, title, cover, owner. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, @handle, or username. Omit when userId is set. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| userId | No | Numeric Instagram user ID. Prefer when known — skips handle→ID resolve. When only userId is set we reverse-resolve the username so the WPI / profile-HTML shelf can still run. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and covers pricing (flat 1 credit), cache behavior (cache=true free 24h hit, default fresh), and the guarantee that empty results/failures aren't charged. It doesn't discuss rate limits or auth, but for a simple public read tool the key operational behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose before pricing/caching details. The only blemish is redundancy—'Flat 1 credit. Costs 1 credit.'—which keeps it from top marks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with fully documented schema, the description covers what the tool returns, cost, cache, and failure charging. It could be more complete by explicitly noting the relationship to instagram_highlights_details, but nothing essential is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all three parameters at 100% coverage. The description adds value beyond the schema by explaining the cache parameter's effect and the default freshness behavior, which is directly actionable for invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource and returned fields (id, title, cover, owner) clearly, and 'for a public profile' sets scope. However it lacks an explicit verb and does not directly distinguish itself from the sibling instagram_highlights_details, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for retrieving a profile's highlight albums and gives clear context (public profile, cache behavior), but it never states when to choose this tool over the similar instagram_highlights_details or other Instagram tools. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_highlights_detailsAInspect
Items inside one Instagram Story Highlight album — media URLs, type, takenAt. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Highlight id from /v1/instagram/highlights (with or without highlight: prefix). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does well by covering credit cost, the free 24h cache behavior, the default fresh-fetch behavior, and the policy that empty results and failures are not charged. It does not state read-only status or rate limits, but the read nature is clear from the described output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main purpose, but 'Flat 1 credit. Costs 1 credit.' is redundant repetition. The cache guidance also largely duplicates the schema, so not every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read operation with no output schema, the description is reasonably complete: it states the input source context via the schema, the returned fields, pricing, cache options, and failure/empty-result charging behavior. It could mention how to obtain the highlight id more directly, but the schema already references /v1/instagram/highlights.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented. The description mostly restates the cache behavior already present in the schema, adding no significant new parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: items inside one Instagram Story Highlight album, and names the returned data (media URLs, type, takenAt). The word 'one' distinguishes it from the sibling tool instagram_highlights, which lists highlight albums themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as instagram_highlights. The cache parameter is explained, but tool-selection context is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_profile_searchAInspect
Resolve a brand or @handle to one public Instagram profile — stable id, bio, links, and stats (not niche discovery). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Account name, @handle, or profile URL to resolve (min 2 characters). A leading _, accents (misión → mision), spaces and URL query strings (?igsh=…) are stripped. A q with no usable username characters is 400 BAD_REQUEST. Not a niche keyword search. | |
| cache | No | Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavioral traits: 1-credit cost, no charge on empty results or failures, and 24h cache-hit behavior. It omits auth/permission requirements and any rate-limit detail, but the billing and caching disclosures are genuinely useful context an agent cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight clauses, front-loaded with the resolution purpose and followed by cost and cache notes; little waste. Minor redundancy: the cache sentence restates what the 'cache' schema property already says.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so the description usefully previews the return payload (id, bio, links, stats) and covers cost and caching. For a simple 2-parameter read tool this is nearly sufficient; the only soft spot is the ambiguous default-freshness claim and no auth context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents 'q' normalization rules and the 'cache' flag, setting the baseline at 3. The description adds the cache-hit cost (0 credits) but its parenthetical '(default always fresh)' is confusing against the schema's 'Default true', muddying rather than clarifying the default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Resolve') and resource ('one public Instagram profile') and enumerates the returned fields (stable id, bio, links, stats). It also draws an explicit boundary with the parenthetical '(not niche discovery)', which separates it from hashtag/keyword discovery siblings. It stops short of naming or contrasting the closest siblings (instagram_basic_profile, instagram_details), so sibling differentiation is only partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '(not niche discovery)' note and the credit/cache economics imply when this cheap direct-resolution call is preferable, but no alternative tool is named and no when-not condition beyond 'not niche discovery' is stated. An agent must infer whether to use this versus instagram_basic_profile or instagram_details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_reels_by_audio_idAInspect
Is this Instagram sound trending? Reels that use it + isTrendingInClips / trendRank / rich music{}. Costs ~28 credits (1.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. | |
| audioId | Yes | Instagram audio/music ID or full audio URL, e.g. 27919946310946207. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does this well by revealing the credit cost (~28 credits, 1.4/result), the no-charge policy for empty/failed results, and the cache behavior (cache=true gives a free 24h hit). It does not mention rate limits or authentication, but the key operational traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core value proposition; every sentence carries purpose or operational information. The only weakness is the cryptic 'rich music{}' notation, which is not as self-explanatory as the rest of the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates reasonably by naming expected response fields (isTrendingInClips, trendRank, rich music) and explaining cost and cache behavior. It does not fully define the shape or nesting of returned objects, but combined with a fully documented input schema it is adequate for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces cache semantics and billing per result, but those details are already present in the schema, and it adds no new parameter-level meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool tells whether an Instagram sound is trending and returns reels using that sound, plus trend-related fields (isTrendingInClips, trendRank, rich music). The action is implied rather than expressed as a direct verb like 'fetch', but the resource and purpose are clear enough to distinguish it from generic reels search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening question 'Is this Instagram sound trending?' implies the main use case, and the cost/cache details add useful decision context. However, it never explicitly says when to choose this tool over related siblings such as instagram_trending_reels, instagram_reels_search, or tiktok_music_posts, nor does it state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_reels_searchCInspect
Native tag feed first, slower fallback paths on a miss. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Flat 2 credits per call. | |
| datePosted | No | last_24_hours | last_week | last_month | last_year (aliases: today, this_week, this_month, this_year). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does genuinely useful work: flat 2 credits, empty results and failures never charged, cache=true for a free 24h hit with default always-fresh, and an internal fallback path. It omits auth requirements, rate limits, and pagination/return behavior, but the cost and caching disclosure is strong and non-obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but poorly structured and partly redundant: 'Flat 2 credits. Costs 2 credits.' says the same thing twice, and the purpose is buried behind obscure implementation jargon instead of being front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, fully documented search tool with no output schema and no annotations, the pricing/caching context is covered but the description stops short of what the tool returns, auth needs, or how it differs from the many overlapping Instagram reel/tag siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents q, cache, limit (default 20, max 50) and datePosted with a full enum. The description restates 'Max 50' and the cache semantics but adds no syntax or format detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states the verb+resource (e.g. 'search Instagram reels matching a hashtag'); it opens with implementation detail ('Native tag feed first, slower fallback paths on a miss') and then pivots entirely to pricing. An agent must infer the tool's function from the name alone, and nothing distinguishes it from siblings like instagram_hashtag_search, instagram_tagged_posts, or instagram_trending_reels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no alternatives named. 'Native tag feed first, slower fallback paths on a miss' is internal execution detail, not agent-facing selection criteria, and it does not help choose between this tool and instagram_hashtag_search or instagram_reels_by_audio_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_summarizeAInspect
Get an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video. Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden and does well: it discloses credit cost, that failures and empty results are not charged, and the cache hit behavior. It could add more about failure conditions or privacy restrictions, but the current information is genuinely useful beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each adding distinct value: core purpose, pricing/failure policy, and cache behavior. No filler or redundancy; the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description adequately covers the return shape, cost, failure charging, and caching. The language parameter is left to the schema, which fully documents it. This is sufficient for an agent to select and call the tool correctly in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, and language. The description does not add meaning beyond the schema — it mostly repeats the cache behavior. This meets the baseline but does not go further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get an AI summary of any Instagram Reel' and defines the output as 'a short paragraph plus key points.' This clearly distinguishes it from transcript tools like instagram_transcript and from platform-specific summarize siblings like tiktok_summarize or youtube_summarize.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly communicates when to use this tool: when a concise AI summary of an Instagram Reel is needed 'without watching the video.' It also gives cost-related context that helps an agent decide, though it does not explicitly name alternatives such as instagram_transcript for verbatim text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_tagged_postsAInspect
Posts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 1 credit per call. | |
| cursor | No | Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to lean on, the description fully carries the behavioral disclosure burden. It transparently covers the 1-credit cost, free handling of empty/failed results, fresh-by-default caching behavior, the free 24h cache hit path, and the staleFeed fallback when Instagram only exposes an archive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences front-load the core purpose, then add cost, failure, and cache semantics without filler. Every sentence adds a distinct piece of information an agent needs before invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description covers the essential contextual ground: what the posts are, data-quality caveats, cost, cache behavior, and the fallback case. It does not enumerate exact output fields or pagination response shape, but the schema's cursor description and the strong behavioral notes make the tool sufficiently callable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor in detail. The description mostly repeats the cache behavior already present in the schema rather than adding new parameter-level meaning, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource explicitly ('posts that tag an Instagram account') and adds useful distinctions such as author verified/avatar availability and the staleFeed archive fallback. This lets an agent distinguish it from sibling tools like instagram_channel_posts or instagram_hashtag_search, though it lacks an explicit operation verb like 'list' or 'retrieve.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is clear: call this when you need posts that tag an Instagram account, and the cache note gives concrete guidance on when to pass cache=true. It does not explicitly compare against sibling tools or state exclusion cases, but the context 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.
instagram_transcriptAInspect
Turn any Instagram Reel's speech into text — the full transcript plus timestamped segments, ready for search, subtitles, or AI pipelines. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Instagram Reel URL, e.g. https://instagram.com/reel/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It adds meaningful operational context: the 2-credit cost, no charge for empty results or failures, and the cache=true free cache-hit behavior with a default fresh fetch. This gives an agent a realistic picture of cost and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no filler. The core purpose is front-loaded, followed by essential cost and cache policy. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or annotations, so the description must explain both output and behavior. It covers the transcript output, timestamped segments, cost, failure billing, and cache semantics. Missing an explicit alternative-tool routing note, but the clear platform scope makes the definition sufficiently complete for a straightforward transcription tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all three parameters, including the URL platform-match warning, cache behavior, and language ISO default. The description reinforces cache behavior but adds no significant new parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Turn speech into text'), a specific resource ('Instagram Reel's speech'), and specifies the output ('full transcript plus timestamped segments'). This clearly distinguishes the tool from sibling transcript tools for YouTube, TikTok, LinkedIn, and other platforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Instagram Reel scope makes the intended use case explicit and unambiguous. It does not explicitly name alternative transcript tools or state when not to use them, but the platform constraint is clear enough for an agent to select the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_trending_reelsBInspect
Cache-first trending Reels. Feed outage → labelled country hashtag-clips stand-in (listing field), never a silent swap. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Successful calls bill even on cache hits.
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Default true (cache-first): serve the per-country response cache when present (TTL 4 hours). Every successful call costs 2 credits — including cache hits. Set false to force a live scrape (measured miss 45–75s, hard-capped at 110s). Raise client timeouts above 90s — n8n/Make defaults will fail a miss. The fresh result still refreshes the cache. | |
| limit | No | Max items to return (default 10, max 50). Flat 2 credits per call. | |
| country | No | Country for Reels localization — full name or ISO code (e.g. 'United States', 'US', 'Turkey', 'TR'). Default United States. Unsupported values return 400 with supportedCountries[]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the cache-first model with a labelled fallback ('never a silent swap'), the 50-item cap, and an unusually complete billing policy (flat 2 credits, empty/failed calls free, cache hits still billed). It omits auth requirements and rate limits, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the description is a choppy sequence of fragments and contains redundant billing statements ('Flat 2 credits. Costs 2 credits.') that repeat information also present in the cache parameter. Rearranging into a cleaner sentence or two would earn each phrase its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with no annotations and no output schema, the description supplies the operationally critical details: caching, fallback labeling, item cap, and cost model. It stops short of describing the shape of a returned Reel record, but the schema covers inputs and nothing structurally important is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents cache, limit, and country in detail. The description only restates the max-50 cap and the credit cost, adding little beyond what the schema and its enum/format guidance already provide. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource ('trending Reels') with a clear scope, so an agent knows it retrieves a trending feed rather than a profile or channel listing. However, it does not distinguish itself from closely-related siblings such as instagram_reels_search, instagram_channel_reels, or instagram_reels_by_audio_id, leaving the agent to infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no mention of alternatives among the many Reels siblings. The description describes failure behavior (feed outage fallback) but never tells the agent when to prefer this tool over instagram_reels_search. Usage is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kick_clipAInspect
Get a Kick clip, or a channel's recent clips — 7d clip cache. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel input for recent clips[]: kick.com/{name}, kick.com/@{name}, @{name}, or {name}. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| limit | No | Channel mode only — max recent clips to return (default 20, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — one response holds up to limit clips. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose the important behavioral traits: flat 1-credit pricing and the fact that "Empty results and failures are never charged." It also declares the default is always-fresh and that caching is opt-in. It weakens itself with an internally inconsistent cache story ("7d clip cache" vs "24h cache hit" vs 1d–30d cacheMaxAge) and says nothing about rate limits or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
"Flat 1 credit. Costs 1 credit." is a redundant restatement, and the cache claims ("7d clip cache" vs "24h cache hit") are two different numbers in adjacent sentences, which adds noise rather than clarity. The core purpose is front-loaded and the rest is short, but the duplicated sentence costs it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, no-annotation, no-output-schema tool, cost and billing semantics are adequately covered, but the description never characterizes the return value (what an "enriched clip" contains, or that channel mode returns a clips[] array) and does not resolve the cache TTL ambiguity the schema also hints at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented and the baseline is 3. The description adds only marginal meaning, mostly confirming that cache=true is free and defaults to fresh, which largely restates the schema's cache parameter. No syntax or mode-switching detail is added for url or limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Get a Kick clip, or a channel's recent clips") and covers both operating modes in one clause. The platform name makes it trivially distinguishable from twitch_clip, youtube_* and other video siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is confined to cache selection ("Pass cache=true for a free 24h cache hit (default always fresh)", "Prefer cacheMaxAge when you need 1d–30d freshness control"). There is no explicit statement of when to choose clip mode vs channel mode, or when a sibling like video_summarize or twitch_clip is the better call; the agent must infer this from the url parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
komi_pageBInspect
Komi link-in-bio → identity, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Komi page URL or username, e.g. https://komi.io/kimkardashian or https://kimkardashian.komi.io/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It usefully discloses the flat credit cost, that empty results and failures are not charged, and the cache behavior. However, the pricing wording is redundant and slightly ambiguous: 'Flat 1 credit. Costs 1 credit.' followed by 'free 24h cache hit' leaves uncertainty about whether cache hits consume a credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the tool's purpose. It loses points because 'Flat 1 credit. Costs 1 credit.' directly repeats the same fact, wasting one sentence. The rest is dense and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-URL fetch tool with fully documented parameters, the description covers the main outputs, cost, and caching. Still, without an output schema, a bit more specificity about the socials{} structure and row format would help, and the Komi-only URL constraint is left to the schema rather than the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters with 100% coverage, so the baseline is 3. The description adds only a hint about cache=true and default freshness, but does not explain url format or cacheMaxAge beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Komi link-in-bio page) and what data it returns: identity, socials, and content LINK/PRODUCT rows with price/currency. This distinguishes it from similar link-in-bio siblings like linktree_page and linkme_profile. It lacks an explicit verb such as 'fetch' or 'extract', relying on the arrow notation, so it stops just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not say when to prefer this tool over the many sibling tools for other link-in-bio platforms, nor does it mention any exclusions or alternatives. The 'Komi' label implies the intended platform, but there is no explicit routing guidance for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kwai_postAInspect
Single Kwai video — caption ("" when none), hashtags[], author, mp4 (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Kwai video URL, e.g. https://www.kwai.com/@topfilmeseseriesnatv/video/5240932700689736196. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It transparently states the credit cost, that empty results and failures are never charged, and how the cache parameter affects freshness and cost. This goes beyond basic operation descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the most important information: what the tool returns, the cost, the no-charge guarantee, and cache behavior. Every sentence adds value and none are redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-resource fetch tool, the description covers the essential return fields, cost implications, failure charging policy, and cache behavior. Even without an output schema, an agent has enough context to correctly invoke and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters with 100% coverage, including the URL format and cache behavior. The description repeats and clarifies the cache semantics but does not add meaningful new parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states this tool returns a single Kwai video with specific fields (caption, hashtags, author, mp4), clearly distinguishing it from sibling tools like kwai_profile and kwai_user_posts. The resource and action are immediately identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly conveys when to use this tool: for an individual Kwai video, with guidance on cache usage and cost behavior. It does not explicitly name alternative tools for other scenarios, but the intended use case is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kwai_profileAInspect
Fetch Kwai profile — display name, bio, counts, and verification as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the behavioral burden. It clearly discloses cost (1 credit), the no-charge policy for empty results and failures, and cache behavior (free 24h cache hit, default always fresh). This is strong behavioral context, though it stops short of richer execution details like rate limits or retry behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each earning its place: what the tool returns, cost, failure charging policy, and cache usage. The core purpose is front-loaded and there is no filler or repetition beyond what is necessary for context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema or annotations, the description conveys the essential information: input expected, output shape, pricing, failure charging behavior, and cache option. It does not detail what exactly the 'counts' mean and there is no output schema, but the definition is sufficiently complete for a capable agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers both parameters at 100% and describes URL format/platform matching and cache semantics in detail. The description adds little beyond the schema, restating the cache behavior in equivalent terms. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb ('Fetch'), a specific resource ('Kwai profile'), and a concrete list of returned data (display name, bio, counts, verification as structured JSON). It clearly distinguishes from siblings like kwai_post and kwai_user_posts which are post-oriented endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies 'use this for Kwai profile metadata' and gives operational guidance around credits and caching, but it does not explicitly tell the agent when to choose this tool over related siblings such as kwai_user_posts or kwai_post. Selection guidance is inferred from the name and returned fields rather than stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kwai_user_postsAInspect
Kwai profile posts — caption ("" when none), engagement, mp4 + transcript (~1 credit/post). Costs ~20 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max posts to return (1–200). Default 20. ~1 credit per post returned (min 2). | |
| cursor | No | Opaque pagination cursor from the previous nextCursor. Pages within posts from one profile fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses pricing (~1 credit/post, ~20 credits per result), the cache=true free 24h hit behavior, and that empty results/failures are never charged. It does not cover auth requirements or rate limits, but the material cost and caching behaviors are explicit and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: purpose and output content come first, followed by cost, failure billing, and cache behavior. Every sentence adds value, though the phrase 'Costs ~20 credits (1/result)' is slightly ambiguous next to '~1 credit/post'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description covers the essential selection and invocation details: what posts are returned, approximate cost, cache behavior, and no-charge-on-failure policy. Pagination details come from the cursor schema, and sibling disambiguation is mostly left to the names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters at 100% coverage. The description adds operational meaning beyond the schema: cache=true gives a free 24-hour cache hit while the default is always fresh, and the credit-per-post note connects the limit parameter to cost. URL and cursor semantics are already handled by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as Kwai profile posts and enumerates the returned content (caption, engagement, MP4, transcript), so an agent can see what the tool produces. It lacks an explicit verb such as 'list' or 'fetch' and does not distinguish itself from siblings like kwai_post or other platform user_posts, but the platform and resource scope are clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use is implied: this is the tool for posts from a Kwai profile, based on the name and first line. There is no explicit guidance about when to choose kwai_user_posts over kwai_post, kwai_profile, or other user_posts tools, so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkbio_pageAInspect
lnk.bio → id, socials{}, titled links[], website/email/whatsapp, other[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Linkbio (lnk.bio) page URL or username, e.g. https://lnk.bio/charlidamelio. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a solid job: it discloses the flat credit cost, that empty/failed results are never charged, and that fresh fetches are the default with an optional free cache hit. This is meaningful behavioral context beyond the input schema, though it does not address error handling or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the output shape, but it wastes a sentence on redundancy: 'Flat 1 credit. Costs 1 credit.' say the same thing. The structure is otherwise compact and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description sketches the return structure (id, socials, titled links, website/email/whatsapp, other[]) and covers cost, failure charging, and caching. It is not fully complete because the cache=true 24h claim clashes with cacheMaxAge's longer TTLs, but for a simple three-parameter fetch tool it provides enough context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds a concrete 'free 24h cache hit' claim and 'default always fresh' behavior, but this slightly conflicts with the schema's cacheMaxAge options (1d-30d) and the default-TTL wording for cache=true. Thus the added value is marginal and somewhat ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (lnk.bio pages) and the output shape (id, socials, titled links, website/emailwhatsapp, other[]), making it clear this is a page parser/extractor. It does not use an explicit verb like 'fetch and parse', but the arrow notation conveys the transformation and distinguishes it from sibling tools like linktree_page and komi_page by platform name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives parameter-level usage guidance ('Pass cache=true for a free 24h cache hit') and cost behavior, but it never states when to choose this tool over siblings like linktree_page, komi_page, linkme_profile, or pillar_page. Usage context is implied by the lnk.bio platform name rather than explicitly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_ad_library_ad_detailsAInspect
One LinkedIn Ad Library ad by ID. LinkedIn withholds Ran-from / impressions / targeting on most creatives — those keys are omitted, not 404. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn Ad Library URL or numeric ad ID (also accepts urn:li:sponsoredCreative:ID). Inputs that are neither numeric nor an ad-library detail URL are a definitive 400. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden and succeeds. It discloses that LinkedIn withholds Ran-from/impressions/targeting data on most creatives, that those keys are omitted rather than causing a 404, that the call costs 2 credits, that empty results and failures are never charged, and that cache=true provides a free 24-hour cache hit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each earning its place: the core purpose, a key platform caveat, pricing/failure policy, and caching behavior. The most important information is front-loaded, and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers purpose, input format constraints, data-availability caveats, credit cost, failure charging, and cache behavior. Nothing an agent needs to decide whether and how to invoke this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the url parameter's schema description already explains accepted formats, invalid inputs, and platform matching. The tool description adds no parameter-level semantics beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact job: retrieve one LinkedIn Ad Library ad by ID. The 'by ID' qualifier clearly separates it from linkedin_ad_library_search_ads, and the platform name distinguishes it from other ad-details tools. Although no explicit verb is used, the meaning is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool should be used when you already have an ad ID/URL and want a single ad's details. It does not explicitly name alternatives or state when not to use it, so the agent must infer the routing from the sibling names and the phrase 'by ID.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_ad_library_search_adsBInspect
LinkedIn publishes run dates, impressions and targeting only on a subset of creatives. Search is the SERP card; source is native. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Advertiser / account owner name (min 2 when used). Provide q/company, keyword, or companyId. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). One LinkedIn SERP page is ~25 cards — when limit is higher, further pages are pulled automatically within the request's time budget, so limit=50 fills to 50 when LinkedIn has the ads (hasMore + nextCursor cover the rest). Flat 2 credits per call on the native path; the extended fallback bills ~3.5 credits per returned ad. Response `source` is native or extended so you can see which price applied. | |
| cursor | No | Pagination token from paginationToken / nextCursor. | |
| company | No | Alias of q — advertiser / account owner name. | |
| country | No | Single ISO country code. Default US. Ignored when countries is set. Non-ISO codes are a definitive 400 INVALID_COUNTRY — LinkedIn would otherwise answer an empty result set as if the filter worked. | |
| endDate | No | Custom range end YYYY-MM-DD (use with startDate). | |
| keyword | No | Optional keyword filter on ad creative copy. Whole-word hits are ordered first; already-fetched SERP cards without a literal hit fill behind them up to limit (matchedFrom [] = ranked fill). | |
| companyId | No | LinkedIn numeric company id for exact advertiser match. | |
| countries | No | Comma-separated ISO country codes (e.g. US,CA,MX). Each code is validated — non-ISO codes are a 400 INVALID_COUNTRY. | |
| startDate | No | Custom range start YYYY-MM-DD (use with endDate). | |
| paginationToken | No | Alias of cursor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does deliver non-obvious operational facts: 2-credit cost, empty results and failures are never charged, the 24h cache option, and the caveat that LinkedIn only publishes run dates/impressions/targeting on a subset of creatives. It omits auth requirements, rate limits, and a clear explanation of the native vs extended source distinction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, but the lead sentence is a coverage caveat rather than the purpose, and 'Search is the SERP card; source is native' is cryptic filler that does not earn its place. Pricing and caching sentences are load-bearing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter search tool with no annotations and no output schema, the description covers billing and caching well but says nothing about what an ad record contains, pagination behavior, or how to interpret the source field — gaps the schema only hints at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates the cache parameter and adds the 2-credit pricing context, but adds no syntax or meaning beyond what the schema already documents for q/company, country, keyword, dates, and cursor.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never plainly states 'search LinkedIn ads' — it opens with a data-availability caveat and a cryptic fragment ('Search is the SERP card; source is native'). The tool's actual function is inferable from the name, not the prose. It also does not distinguish itself from linkedin_ad_library_ad_details or the other ad-library siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus linkedin_ad_library_ad_details or other ad-library tools. The only actionable hint is the cache=true vs default-fresh note, which is a parameter choice rather than a when-to-use condition or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_companyBInspect
Company page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn company URL, e.g. https://www.linkedin.com/company/shopify. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and it does disclose meaningful behavior: the 2-credit cost, that empty results and failures are never charged, and the fresh-vs-cached fetching default. This billing/error semantics detail is genuinely useful. It omits auth requirements and any rate-limit behavior beyond per-call credits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the tool returns, which is good, but 'Flat 2 credits. Costs 2 credits.' is a redundant repetition that wastes a sentence, and the description is a run-on of cost and cache facts rather than tight prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema and no annotations, the description compensates well by enumerating returned fields and stating the billing/cache model. It is largely complete, though auth context and error handling beyond billing are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both url and cache. The description's cache note is essentially redundant with the schema. Baseline 3 is appropriate since the description adds no syntax or semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (LinkedIn company page) and enumerates the returned fields (specialties, similarPages, employeeCount, founded, slogan, cover), so the agent knows exactly what it retrieves. It does not explicitly contrast with siblings like linkedin_company_posts or linkedin_profile, but the resource focus makes it distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative routing. The only guidance concerns the cache parameter, not tool selection, so an agent gets no help choosing between this and linkedin_company_posts or linkedin_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_company_postsBInspect
The recent posts a company page shows logged-out visitors (about 10), with engagement{likes,comments}. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Only the ~10 posts the public page shows are available. Flat 1 credit. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 5). A null nextCursor means the end of the list. Only the recent posts LinkedIn shows logged-out visitors (about 10) are available. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful traits: flat 1-credit cost, no charge on empty results or failures, a free 24h cache option with fresh-by-default behavior, and the ~10-post ceiling imposed by the public page. It does not cover auth or how failures surface, but the pricing and caching disclosures are genuinely valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and return shape, but 'Flat 1 credit. Costs 1 credit.' is redundant, repeating the same fact twice in back-to-back sentences. The remaining sentences are efficient, so the waste is localized rather than pervasive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param read tool with no output schema and no annotations, the description covers cost, cache behavior, and the result ceiling, while the schema handles parameter details and pagination. An agent has enough to invoke it correctly; only cross-tool routing context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already defines url, cache, limit, and cursor in detail. The description adds only the cache free-hit framing and the ~10 ceiling, which the schema also states. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: 'the recent posts a company page shows logged-out visitors (about 10), with engagement{likes,comments}'. An agent can tell this returns company posts, distinct in kind from profile or search endpoints. It stops short of naming a specific sibling (e.g. linkedin_company, linkedin_search_posts) to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage instruction concerns the cache parameter ('pass cache=true for a free 24h cache hit'), not when to choose this tool over linkedin_company, linkedin_search_posts, or linkedin_post_details. No when-not guidance, no prerequisites, no mention of whether a company page URL is required versus a post URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_post_detailsAInspect
Get a LinkedIn post — text, author, reactions, and comments count as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and does well: it discloses the 1-credit cost, that empty results and failures are not charged, and the 24-hour cache behavior. It does not mention rate limits or auth, but the disclosed billing and caching behaviors are meaningful beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight, front-loaded sentences: the first states what the tool returns, and the next two cover cost and caching. No wasted words or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema, the description provides enough: what fields are returned, what it costs, when failures are free, and how caching works. There is no missing information that would prevent an agent from calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains both the url and cache parameters. The description reinforces the cache behavior but does not add new semantic meaning beyond what the parameter descriptions already provide, matching the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get'), a precise resource ('a LinkedIn post'), and the exact returned fields ('text, author, reactions, and comments count as structured JSON'). This clearly differentiates it from siblings like linkedin_post_transcript or linkedin_search_posts without needing to open their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context by requiring a specific post URL and explaining when to use cache=true versus the default fresh fetch. It does not explicitly name alternatives or exclusion conditions, but the context is clear enough for an agent to know this is the single-post details endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_post_transcriptBInspect
LinkedIn post text as a transcript — paragraph segments, timingSource none. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn post or activity URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a good job: it discloses cost, the fact that empty results and failures are never charged, cache behavior, and the paragraph-segment/timingSource-none output trait. It does not mention rate limits or response failure shapes, which prevents a higher score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but 'Flat 1 credit. Costs 1 credit.' is a redundant pair that wastes a sentence. Overall it is efficient, but not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with full schema coverage and no annotations, the description covers the essential operational context: output characteristics, cost, failure charging policy, and cache behavior. It lacks tool-selection context and a fuller return-shape explanation, but these are minor given the schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both url and cache are already well documented in the schema. The description adds no new parameter-level meaning beyond restating the cache default, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (LinkedIn post text) and the output form (transcript with paragraph segments and no timing source), which distinguishes it from generic post-details endpoints. However, it lacks an explicit verb like 'fetches' or 'returns', and it does not explicitly name sibling alternatives, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over alternatives such as linkedin_post_details, linkedin_search_posts, or platform-specific transcript endpoints. The only usage-related guidance is operational (pass cache=true for a free cache hit), not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_profileAInspect
Public LinkedIn person profile — what a logged-out visitor sees: name, headline, location, about. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn profile URL, e.g. https://www.linkedin.com/in/paul-martin-a5aa98. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and delivers real behavioral detail: it frames the result as what a 'logged-out visitor sees', states the cost (1 credit), and clarifies that empty results and failures are never charged. It omits auth requirements, rate limits, and private-profile handling, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and its fields, but 'Flat 1 credit. Costs 1 credit.' is redundant restatement that wastes space in an otherwise short description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter profile fetch with no output schema, the description covers purpose, returned fields, cost, and caching well. It is complete enough to call correctly, though pricing/return details could be tightened.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both url and cache are already documented in the schema. The description reinforces the cache semantics ('free 24h cache hit, default always fresh'), which is marginally additive, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Public LinkedIn person profile') and enumerates the returned content (name, headline, location, about). It naturally distinguishes the person-profile scope from siblings like linkedin_company (organization profile) and linkedin_post_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description (fetch a person's public profile) but no explicit when-to-use, when-not, or named alternatives are given. An agent must infer that this is for individuals rather than companies or posts from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_search_postsAInspect
Keyword search of public LinkedIn posts — offset cursor, ceiling 50. Costs ~16 credits (0.8/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query or keywords (min 2 characters). | |
| sort | No | relevance (default, search-engine rank — dates can span years) or date (found posts newest first). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 50 posts). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does well: it discloses the ~16 credit cost (0.8/result), that empty results and failures are never charged, the 50-item ceiling, and the cache=true free-24h behavior versus the always-fresh default. It omits auth requirements and rate limits, but the billing and caching disclosures are meaningful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly packed sentence front-loads the purpose, then stacks pagination, cost, and cache details with em-dashes. Every clause earns its place, though the density is slightly high for a single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with full schema coverage and no output schema, the description covers cost, pagination ceiling/termination, and caching. It does not describe the shape of returned posts, but the essentials for calling the tool correctly are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so q, sort, cache, limit, and cursor are all already documented in the schema with min/max and semantics. The description largely restates these (offset cursor, ceiling 50, cache=true for free hit), so it adds little beyond the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Keyword search of public LinkedIn posts') with scope ('public') and a ceiling. It distinguishes itself reasonably from linkedin_post_details and linkedin_company_posts by being a keyword search over public posts, though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the tool for keyword-based post discovery. The description offers cost and cache guidance but never states when to prefer this over sibling tools like linkedin_company_posts or linkedin_post_details, nor any when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkme_profileAInspect
Linkme profile → bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Linkme profile URL or username, e.g. https://link.me/danucd or danucd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses meaningful traits: flat credit cost, no charge for empty results/failures, and cache behavior with a default fresh fetch. It does not mention rate limits or side effects, but for a read-only profile fetch the charging and caching policies are the key behavioral facts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is mostly tight and front-loaded with output fields and credit policy. However, 'Flat 1 credit. Costs 1 credit.' repeats the same fact in two consecutive sentences, which prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource profile fetch with no output schema, the description adequately lists returned fields and covers cost/caching behavior. It omits detailed response structure or error shape, but the field enumeration plus fully documented input schema make the definition reasonably complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already fully documents url, cache, and cacheMaxAge. The description does not add parameter-level meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the resource (Linkme profile) and enumerates the returned fields (bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus), which helps distinguish it from sibling profile/page tools. It lacks an explicit action verb like 'fetch' or 'get', so it falls just short of a fully explicit purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides cost and caching guidance ('Flat 1 credit', 'Pass cache=true for a free 24h cache hit'), which is useful operational context. However, it never explicitly says when to prefer this tool over alternatives or states exclusions; usage context is only implied by the Linkme platform and the schema's cross-platform warning.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linktree_pageAInspect
Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Linktree profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly states the flat 1-credit cost, the no-charge policy for empty results and failures, and the cachebehavior (cache=true → free 24h hit, default always fresh). This goes well beyond the structured schema and gives an agent actionable operational expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, then pricing, then cache behavior. There is minor redundancy ('Flat 1 credit. Costs 1 credit.') that adds no information, but overall each remaining clause earns its place and the structure is scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does a reasonable job of summarizing what the result contains: typed links, socialAccounts that feed specific platforms, email, and verticals. It also covers cost and caching, which are important contextual facts. Missing is any guidance on distinguishing Linktree from other link-in-bio providers, but the schema covers input constaints and the description covers the output shape enough for a 3-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real value by clarifying the cache parameter's semantics: cache=true gives a free 24-hour cache hit, and the default is always fresh. It also reinforces the cost model, which aids the agent in estimating usage. The description does not need to repeat the URL or cacheMaxAge schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Link-in-bio → creator graph' plus the enumerated content (typed links, socialAccounts, email, verticals) makes clear this tool extracts a creator profile from a Linktree page. It is distinguishable from platform-specific tools, though it does not explicitly differentiate itself from sibling link-in-bio tools like linkbio_page, komi_page, or pillar_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Linktree link-in-bio pages and creator graph extraction, but it gives no explicit when-to-use guidance or exclusions. It fails to mention alternatives like linkbio_page or linkme_profile, which appear to cover the same general link-in-bio purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pillar_pageAInspect
Pillar link-in-bio → identity, socials{}, links[] with per-link clicks, products[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pillar page URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden and does so well: it explains credit cost, that empty results and failures are never charged, and the cache behavior including a free 24-hour cached hit. It omits explicit statements about being read-only, but the return-shape makes that reasonably inferable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the return shape, which is good. However, 'Flat 1 credit' and 'Costs 1 credit' are redundant statements that waste space. The arrow-heavy style is efficient but slightly cryptic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description provides a useful return-shape summary. It also covers pricing, failure billing, and caching behavior. It does not explain what 'Pillar' is as a platform, but the URL schema and platform-matching warning compensate for that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by specifying that cache=true gives a free 24-hour cache hit and that the default is always fresh, going beyond the schema's generic 'response cache' wording. It does not discuss cacheMaxAge in the tool description, but the schema already describes it fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, Pillar link-in-bio pages, and enumerates the returned content: identity, socials, links with per-link clicks, and products. This clearly distinguishes it from sibling link-in-bio tools like linktree_page and linkbio_page by platform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the Pillar platform, and the schema explicitly warns against passing cross-platform URLs. However, it does not directly state when to choose this tool over sibling link-in-bio tools, nor does it mention alternative tools by name. Cache usage guidance is present, but the when-to-use guidance is mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_boardAInspect
Pins on a Pinterest board — saves, imageOriginal, destinationUrl, top-level author. ~0.5 credits/pin. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pinterest board URL (.../username/board-name/), not a /pin/ URL. Example: https://www.pinterest.com/potterybarn/rustic-lodge-lookbook/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden and does so well: it discloses per-result credit cost, approximate total cost, that empty results and failures are not charged, and that cache=true provides a free 24-hour hit while the default is a fresh fetch. This goes beyond a simple read-only statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the resource and output fields. The only minor issue is redundancy around credit cost: '~0.5 credits/pin' and '~13 credits (0.5/result)' restate the same per-result pricing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the detailed input schema and no output schema, the description is mostly complete: it names the core returned fields, explains costs and cache behavior, and the schema handles pagination, limits, and URL constraints. A small gap is the lack of explicit sibling-tool routing, but an agent can still invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor in detail. The description reinforces the cache behavior and per-result billing, but it does not add significant parameter-level meaning beyond what the schema provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as pins on a Pinterest board and names the key returned fields (saves, imageOriginal, destinationUrl, top-level author). It lacks an explicit verb like 'list' or 'fetch' and does not distinguish itself from sibling tools such as pinterest_user_pins, but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Pinterest board scraping through its name and content, and the URL parameter schema reinforces what kind of URL is valid. However, it never explicitly states when to choose this tool over alternatives like pinterest_pin_details, pinterest_search, or pinterest_user_boards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_pin_detailsAInspect
Get a Pinterest pin — title, description, link, board, origin creator, and engagement as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pinterest pin URL, e.g. https://pinterest.com/pin/ID/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It usefully discloses the 1-credit cost, no charge for empty results or failures, cache=true yielding a free 24h hit, and default always-fresh fetching. It does not cover rate limits or error response shape, but for a simple read tool these disclosures are meaningful and sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight, front-loaded sentences: outcome first, then cost, failure charging, and cache guidance. Every sentence earns its place with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers the purpose, response fields, credit cost, failure charging, and cache mode. It does not describe exact error/empty response shapes, but alongside a complete schema this is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes both parameters (url and cache) with detailed commentary, so the baseline is 3 per the high schema coverage. The description's cache=true mention adds little beyond the schema, mostly restating the 24h cache and default-fresh behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and clearly identifies the resource (a Pinterest pin) and the fields returned (title, description, link, board, origin creator, engagement), making the tool's scope unambiguous. It does not explicitly distinguish itself from sibling Pinterest tools like pinterest_user_pins or pinterest_board, but the single-pin focus is clearly implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is inferable: fetch details for one Pinterest pin. However, the description does not name alternative tools or state when not to use it, such as when needing a user's pins or a board's pins, leaving tool-selection guidance mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_searchAInspect
Keyword pin search — offset cursor, search window 40, flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords or search query (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the search window (max 40). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden well: it discloses the flat 2-credit cost, that empty results and failures are free, the 24h cache behavior, and the 40-item search window. It does not cover auth, rate limits, or return structure, but the billing and caching details are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, immediately stating the core search purpose and key constraints. Minor redundancy appears in repeating the 2-credit cost, but the overall structure remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations and no output schema, the description covers the key operational facts: cost, cache behavior, cursor pagination, and search window. The schema handles parameter details, so little critical context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents q, cache, limit, and cursor in detail. The description adds cost and cache context but does not add meaningfully new parameter syntax beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Keyword pin search'. It is clearly a search tool rather than a user, board, or pin-detail tool, though it does not explicitly name the sibling alternatives it contrasts with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is for keyword searches, but it does not say when to use it instead of siblings such as pinterest_user_pins or pinterest_board. There are no exclusions or alternative-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_user_boardsBInspect
Boards on a Pinterest profile — pinCount, coverImage (474x), privacy, sections. Board followers when scoped. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (max 200). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden and does it well: it discloses approximate credit cost, per-result billing, no charge for empty or failed results, and the always-fresh default with an optional free cache hit. The phrase 'when scoped' is ambiguous about when board followers are included, preventing a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the resource and data fields, then cost and cache behavior. Each sentence earns its place, though the ambiguous 'when scoped' fragment and the dense credit-cost formulation keep it from being perfectly clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain return values more fully; it lists key fields but leaves out the response envelope and when exactly board followers appear. Pagination, cursor, and limits are covered by the schema, but the missing clarification around 'scoped' leaves moderate gaps for an unfamiliar agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds some value by tying the limit to per-result billing and emphasizing the cache cost, but it mostly restates cache behavior already documented in the schema. It contributes little beyond what an agent already gets from the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 'Boards on a Pinterest profile' and enumerates returned fields, making it clear this is a profile-scoped listing tool rather than a single-board or pin-fetching tool. It is clear enough to be distinguished from siblings like pinterest_user_pins, though it does not explicitly name the alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool versus siblings such as pinterest_board, pinterest_search, or pinterest_user_pins. The intended use is only implied by the phrase 'Boards on a Pinterest profile', leaving the routing decision entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pinterest_user_pinsAInspect
Pins from a Pinterest profile — offset cursor, pidgets window ~100. Costs ~13 credits (0.5/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Pinterest profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Billed per result. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable window (pidgets ~100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it discloses credit cost, per-result billing, no charge on empty/failure, 24h cache semantics, and default fresh fetch. It does not detail rate limits or failure responses, but the key operational behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core purpose; every sentence adds distinct operational info. Minor jargon ('pidgets' window) and the approximate credit figure keep it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully documents all four parameters, and the description covers costs, caching, pagination cursor, and the ~100-result window. Since there is no output schema, a one-line statement of the returned pin fields would strengthen it, but it is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by tying limit to cost (0.5/result) and by explaining the effective retrieval window (~100) and cache behavior, which clarifies how to set cache and limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening phrase 'Pins from a Pinterest profile' identifies the resource and collection type, distinguishing it from sibling tools like pinterest_user_boards and pinterest_pin_details. It lacks an explicit verb, but the tool name and phrase together make the retrieval action unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context—this is for a user's pins, with pagination and cache options—but never says when to prefer it over siblings such as pinterest_user_boards or pinterest_search. It implies usage but provides no explicit when/when-not guidance or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_post_commentsAInspect
Flat Reddit comment threads with depth/parentId and the parent post in one call. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses a 2-credit cost, that empty results and failures are never charged, and the cache semantics (cache=true gives a free 24h hit, default is fresh). It omits auth requirements and rate limits, but the billing and cache behavior are exactly the kind of non-obvious traits an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core capability, then billing, then cache. Every sentence delivers distinct operational information (what, cost, charge exceptions, cache) with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter read tool with full schema coverage and no output schema, the description covers cost, failure handling, and caching well. The only real gap is that it never mentions pagination behavior or the shape of returned threads beyond 'flat with depth/parentId', which the agent must infer from the cursor parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor in detail — baseline 3. The description's mention of cache=true and the 2-credit-per-call cost marginally reinforces the schema but adds no format, default, or syntax information beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: retrieves flat Reddit comment threads including depth/parentId structure and the parent post in a single call. That distinguishes it from reddit_post_details (post content) and reddit_post_transcript (media transcript), though it never names those siblings explicitly, so the differentiation is inferential.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by framing the value proposition (comments plus parent post in one call) and covering cost/cache tradeoffs, but it never states when to choose this over reddit_post_details or reddit_search, nor any exclusions or prerequisites. 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.
reddit_post_detailsAInspect
Get a Reddit post — title, body, score, comments count, subreddit, and author as structured JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Reddit post URL, e.g. https://reddit.com/r/sub/comments/ID/... The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses meaningful behavior: cost of 1 credit, no charge on empty results/failures, and the cache=true behavior with 24h hits and default fresh fetching. It does not mention rate limits or auth, but for a simple read tool the key behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: first identifies the tool and its output, second states cost and failure policy, third explains the cache control. It is front-loaded with the most important information and contains no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description is nearly complete: it lists the essential return fields, cost, failure policy, and caching. Missing explicit sibling routing is minor because the field list already clarifies scope. No output schema exists, but the described return fields give enough context for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds cache semantics ('Pass cache=true for a free 24h cache hit') but this largely restates the schema's cache field description. It adds no extra meaning for the required 'url' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), a distinct resource ('a Reddit post'), and enumerates the exact fields returned (title, body, score, comments count, subreddit, author). This clearly separates it from siblings like reddit_post_comments and reddit_post_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: whenever you need basic Reddit post metadata as JSON. But it never explicitly says 'use reddit_post_comments for the actual comments' or 'use reddit_post_transcript for a transcript', so guidance vs alternatives is only inferred from the sibling names and field list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_post_transcriptAInspect
Written post text — title, body and top comments. Not a speech transcript. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Reddit post URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 200). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It goes beyond the schema by stating 'Flat 2 credits', 'Empty results and failures are never charged', and the cache behavior 'cache=true for a free 24h cache hit (default always fresh)'. It does not cover auth, rate limits, or error details, but the disclosed pricing and cache semantics are substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core content definition and is mostly compact. However, 'Flat 2 credits' and 'Costs 2 credits' are redundant, wasting a sentence on the same fact. Overall it is efficient but not perfectly polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema and no annotations, the description covers the key operational facts: content returned, cost, failure no-charge, and cache usage. It is missing explicit routing guidance versus reddit_post_details/reddit_post_comments and some return-format details, but it is sufficient for basic correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds operational meaning for the cache parameter ('free 24h cache hit') and reinforces flat pricing, but it does not clarify parameter-specific behavior such as how limit interacts with top comments. The schema already documents url, cache, and limit adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'Written post text — title, body and top comments', which is a specific resource and content type. It also explicitly says 'Not a speech transcript', helping distinguish it from the many *_transcript sibling tools. However, it does not explicitly differentiate from reddit_post_details or reddit_post_comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use when you want a Reddit post's written text, not when you need a speech transcript. The phrase 'Not a speech transcript' provides an exclusion but no explicit alternative tool names or conditions such as 'use reddit_post_details for metadata' are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_searchAInspect
Reddit site-wide post search — sort + timeframe + cursor, score/upvoteRatio, authorFullname. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword or phrase to search Reddit posts site-wide (min 2 characters). | |
| sort | No | relevance (default) | new | top | hot | comments (alias: comment_count). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| timeframe | No | For sort=top or comments: hour | day | week | month | year | all (default all). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It provides valuable operational details: flat 2 credits, free cache hits, no charge on empty results or failures, and default always-fresh behavior. This goes beyond a basic read-only statement, though it does omit rate-limit or auth context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and mostly concise, but it wastes a sentence with a direct redundancy: 'Flat 2 credits. Costs 2 credits.' The dash-separated feature list is also telegraphic and could be clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers a lot: scope, pricing, cache behavior, failure charging policy, and even mentions result fields like score/upvoteRatio and authorFullname. It stops short of fully describing the response shape, but it is sufficient for an agent to invocate and interpret results at a basic level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema, especially for the cache parameter ('free 24h cache hit') and the overall pricing model tied to limit/call. It also highlights sort, timeframe, and cursor as key parameters, adding clarity on how they work together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action and resource: 'Reddit site-wide post search.' The term 'site-wide' differentiates it from subreddit-scoped siblings like reddit_subreddit_search. However, the cryptic list 'score/upvoteRatio, authorFullname' is ambiguous about whether those are output fields or capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes 'site-wide' scope, which tells an agent this is for searching across Reddit rather than within a specific subreddit. It does not name explicit alternatives or exclusions, but the scope is clear enough to route correctly against sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_subreddit_detailsBInspect
Subreddit card — id (t5_…), weekly visitors and contributions, rules[], ISO createdAt. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Subreddit URL, r/name, or bare name (case-insensitive), e.g. r/technology or AskReddit. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the credit cost (1 credit, flat), that empty results and failures are never charged, and the caching/credit side effect of cache=true. It does not cover rate limits, auth requirements, or error semantics beyond the no-charge rule.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the useful content (fields, cost, cache), but contains a clear redundancy: 'Flat 1 credit. Costs 1 credit.' states the same fact twice, and the cache sentence repeats the schema almost verbatim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-annotations, no-output-schema tool, the description is largely sufficient: it enumerates the return shape, the cost model, and the caching behavior. It stops short of explaining error or empty-result semantics beyond the billing rule.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates the cache behavior already documented in the schema and adds no new syntax or format detail for the url parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (a Subreddit metadata card) and enumerates the returned fields (id/t5_, weekly visitors, contributions, rules[], ISO createdAt), so the agent knows exactly what it fetches. It does not explicitly name or distinguish itself from siblings like reddit_subreddit_posts, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 reddit_subreddit_posts, reddit_subreddit_search, or reddit_post_details. The only conditional advice is about the cache parameter, which is a calling mechanic, not a routing rule between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_subreddit_postsAInspect
List posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| sort | No | Feed sort: best, hot, new (default), top, or rising. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| timeframe | No | For sort=top: hour, day (default), week, month, year, or all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it does disclose meaningful traits: the 2-credit cost, the no-charge policy for empty results/failures, and the cache semantics. However, most of the cost and cache behavior is already present in the schema's parameter descriptions (limit says 'Flat 2 credits per call'; cache says '0 credits on hit'), so the only genuinely novel disclosure is 'Empty results and failures are never charged.' No rate-limit, auth, or data-freshness caveats are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: the core capability is front-loaded, followed by cost and cache policy. Every sentence earns its place; there is no filler, repetition of the tool name, or abstract marketing language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with 100% schema coverage and no output schema, the combination of description and schema is fairly complete: the description covers cost, failure-charge policy, cache behavior, and a sample of the return fields, while the schema covers all parameter semantics and the cross-platform URL constraint. Gaps are minor — no rate-limit or auth disclosure and no explicit differentiation from reddit_search — but nothing essential for correctly invoking the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 — every parameter (url, sort, cache, limit, cursor, timeframe) already has a rich schema description including defaults and constraints. The description only echoes 'sort, timeframe, and cursor pagination' and hints at return fields, adding minimal parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource ('List posts from a subreddit') and adds specific scope details: sort, timeframe, cursor pagination, and the returned fields (title, score, upvote ratio, flair). It is readily distinguishable from siblings like reddit_subreddit_details or reddit_post_comments, though it does not explicitly name any sibling to disambiguate against (e.g., reddit_search), so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the purpose statement — if you want a subreddit's post feed with sorting/pagination, this is the tool — but there is no explicit when-to-use guidance or naming of alternatives such as reddit_search (for finding posts by query) or reddit_post_details (for a single post). The operational notes (credits, cache) are useful, but they don't route the agent among the many reddit siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_subreddit_searchAInspect
Search posts inside one subreddit — not subreddit discovery. Same sort/timeframe as site-wide Search. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords or search query (min 2 characters). | |
| url | Yes | Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| sort | No | relevance (default) | new | top | hot | comments (alias: comment_count). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| timeframe | No | For sort=top or comments: hour | day | week | month | year | all (default all). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does disclose meaningful behavior: flat 2 credits, failures/empty results never charged, and the cache=true free 24h hit versus default fresh fetch. It does not cover rate limits or auth, but for a read-oriented search tool the billing and caching traits are the most decision-relevant behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core scope and mostly compact, but 'Flat 2 credits. Costs 2 credits.' is a redundant duplicate that wastes a sentence. The cache and charging details are valuable, but the repetition keeps this from being tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema or annotations, the description covers the key operational context: scope, cost, failure charging, and cache behavior. Pagination is handled by the cursor parameter schema mentioning nextCursor, and the sibling boundary is addressed. A returned-response shape would be nice, but the definition is sufficiently complete for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all seven parameters. The description adds little beyond what the schema provides, except a cross-reference that sort/timeframe behavior matches site-wide Search. That is useful but minor, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb and resource: 'Search posts inside one subreddit.' It immediately distinguishes itself from subreddit discovery, which differentiates it from siblings like reddit_search and reddit_subreddit_details. The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames this tool as subreddit-scoped search, not discovery, and notes it shares sort/timeframe behavior with site-wide Search. It does not explicitly name sibling alternatives like reddit_subreddit_posts or reddit_search, but the boundary is clear enough for an agent to choose correctly in most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_channel_videosAInspect
Rumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta. Costs ~12 credits (0.6/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Rumble channel or user URL, e.g. https://rumble.com/c/name or https://rumble.com/user/name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses approximate cost (~12 credits, 0.6/result), confirms empty results and failures are not charged, and explains the cache behavior including default freshness. It also describes the lean return shape as streams of {url,type}.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states the resource, return shape, alternative tool, cost, and cache behavior in a few dense semicolon-separated clauses. Every phrase adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter listing tool with no output schema and no annotations, the description covers purpose, return shape, billing, failures, and caching well. It is not exhaustive about ordering or pagination behavior, but the schema covers the inputs and the description gives the agent enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents url, cache, and limit thoroughly. The description adds useful billing context around per-result charges, but it does not add new semantics for url or limit beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: 'Rumble channel uploads' returning 'lean streams[{url,type}]'. It also explicitly distinguishes this from rumble_video_details by saying to call video-details for rendition metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: use this for channel uploads, and call video-details instead when rendition metadata is needed. It also explains cache=true versus the default fresh-fetch behavior. It does not explicitly compare itself with rumble_search, but the primary alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_commentsAInspect
Rumble top-level comments — publishedAt ISO-8601 UTC from title= on the comment time link. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose important behavioral details: 2-credit cost, no charge on empty results/failures, 24h cache semantics, and the ISO-8601 publishedAt source. It does not cover rate limits or auth, but those are minor for this read-only comments fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is two sentences with no filler. Core scope is front-loaded, followed by compact billing and caching guidance — every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter read tool with no output schema and no annotations, it covers platform, comment scope, pricing, failure policy, and cache behavior. Response shape and pagination are not described, but the expected output is reasonably inferable from 'comments'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% parameter descriptions, including cache expiration, default freshness, and flat credit cost. The description repeats this information without adding new parameter-level meaning, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Rumble top-level comments') and distinguishes itself from reply/transcript/details tools through the 'top-level' qualifier. It lacks an explicit verb like 'retrieves' but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The platform and comment scope are clear, and cache/credit usage is explained. However, it does not explicitly say when to choose this over related Rumble tools such as rumble_video_details or rumble_video_transcript, and no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_searchAInspect
Rumble keyword search — same video card shape as channel-videos (type, durationSeconds + durationText, UTC publishedAt). Costs ~12 credits (0.6/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords or search query (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does so well: it discloses cost (~12 credits, 0.6/result), billing behavior (empty results/failures never charged), cache semantics (free 24h hit with cache=true, default fresh), and output field shape (type, durationSeconds/durationText, UTC publishedAt).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all information-dense and non-redundant. The most important facts — what the tool does and what the output looks like — are front-loaded, followed by cost and cache behavior. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description covers the essential decision factors: purpose, return shape, cost, cache behavior, and failure billing. The parameter semantics are already fully documented in the schema, so nothing critical is missing for an agent to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful nuance beyond the schema by linking limit to per-result billing, clarifying that cache=true produces a free hit on a 24h cache, and noting that empty/failed results are not charged — all directly relevant to how q and limit behave.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Rumble keyword search' for video results. It distinguishes itself by noting the output shape is 'same video card shape as channel-videos', which orients the agent toward a list-style search result rather than a single-video detail endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through 'keyword search' and gives useful cache guidance, but it never explicitly says when to choose this over siblings like rumble_channel_videos or rumble_video_details. No when-not-to-use or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_video_detailsAInspect
Rumble video metadata — uniform streams[] with rendition meta, captions[], audioStreams. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure and does so well: it states the 1-credit cost, that empty results and failures are not charged, and that cache=true provides a free 24h hit while default is always fresh. This goes beyond the schema and gives the agent actionable operational knowledge, though it does not cover rate limits or error formats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences with no filler. Each sentence contributes distinct value: output shape, pricing/charge policy, and cache behavior. The core purpose is front-loaded, and all content is relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 params, no output schema, no annotations), the description covers the essentials: what it returns, cost, failure behavior, and cache semantics. It could be more complete by explicitly pointing to rumble_video_transcript as the alternative for transcript text, but it is sufficient 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by clarifying the cache parameter's behavior — free 24h hit and default freshness — which augments the schema's more generic boolean description. The URL parameter is already thoroughly documented in the schema, including platform-matching constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'Rumble video metadata' and specifies the key output components (streams[], captions[], audioStreams), making the tool's function unmistakable. It also distinguishes itself from sibling tools like rumble_video_transcript and rumble_search by focusing on metadata rather than transcripts or search results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when metadata is needed rather than transcripts or search, and it gives explicit usage guidance for the cache parameter ('Pass cache=true for a free 24h cache hit'). However, it never names alternative tools or states when not to use this tool, leaving the decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rumble_video_transcriptAInspect
Rumble published captions as timed segments — parses the .vtt from video-details (not speech-to-text). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosure. It meaningfully reveals credit costs, that empty results and failures are not charged, and the cache behavior — none of which appears in structured metadata. It does not describe auth prerequisites or rate limits, but the cost and cache details are valuable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states the core function first, then cost, failure charging, and cache behavior. Every sentence contributes useful information and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations and no output schema, the description provides the essential usage constraints: source of captions, non-speech-to-text nature, credit cost, failure/empty handling, and cache semantics. It could include a bit more about the returned data shape, but 'timed segments' and the schema's URL guidance make the tool callable without major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all three parameters with 100% coverage, so the baseline is 3. The description adds value by clarifying the cache parameter's credit implications and default freshness, but does not add much beyond the schema's own description of language or URL behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it parses Rumble published captions as timed segments from the .vtt file in video-details. It also distinguishes itself from speech-to-text approaches, making the tool's scope clear among many transcript-related siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context that this tool handles Rumble's published caption files, not speech-to-text, which tells an agent when it is appropriate. It does not name a sibling alternative explicitly, but the platform-specific and source-specific context is strong enough to select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snapchat_user_profileAInspect
Snapchat profile — stable identity card, millisecond timestamps, mediaType image/video (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Snapchat username or profile URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the burden, and it delivers meaningful details: cost of 1 credit, no charges on empty results/failures, and cache behavior. It discloses failure cost, freshness behavior, and output nature, though it does not address auth or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with output characteristics, then cost, then caching. The only minor issue is slight redundancy: '(1 credit)' and 'Costs 1 credit' state the same information twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two parameters, one required, and no output schema, the description covers the essential invocation context: what kind of data is returned, cost implications, and cache behavior. It is sufficiently complete for an agent to select and call the tool correctly, though a bit more detail on the response shape would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add material semantics beyond the schema: cache=true and default fresh behavior are already documented in the schema, and the URL parameter is fully explained there. It does not clarify parameter semantics further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a Snapchat profile and specifies what it returns: a stable identity card, millisecond timestamps, and media type image/video. While it lacks an explicit verb like 'fetch' or 'get', the meaning is unambiguous and the platform distinction separates it from sibling profile tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Snapchat profiles through the tool name and first phrase, but it does not explicitly state when to use this tool versus alternatives or mention exclusions. It offers practical advice about cache=true and cost, but no direct comparison to other profile tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
soundcloud_artistBInspect
SoundCloud artist — handle + name, subscriptionTier, externalLinks, verified (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It clearly states the 1-credit cost, that empty results and failures are never charged, and the cache behavior. This is useful non-obvious information, though it omits any mention of rate limits or response pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the resource and returned fields. However, it is redundant: '(1 credit)' appears twice, once parenthetically and again in 'Costs 1 credit', and 'SoundCloud artist' repeats the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read tool with no output schema, the description covers the returned fields, credit cost, failure-charging behavior, and cache option. It does not specify the exact response envelope, but the field list plus the thorough input schema give an agent enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for all three parameters, so the schema already documents url, cache, and cacheMaxAge. The description adds a small semantic hint with 'free 24h cache hit', but it does not meaningfully enrich the parameters beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 'SoundCloud artist' and enumerates the returned fields ('handle + name, subscriptionTier, externalLinks, verified'), making the tool's purpose inferable. It does not use an explicit verb like 'get' or 'fetch', and the opening phrase overlaps with the tool name, so it is not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose soundcloud_artist versus the closely related siblings soundcloud_artist_tracks or soundcloud_track. The only conditional advice is about cache=true yielding a free 24h cache hit, which is operational guidance rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
soundcloud_artist_tracksAInspect
Artist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. | |
| cursor | No | Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not edit or invent values. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden, and it does disclose useful behavior: the 2-credit cost, free on empty results/failures, cache behavior with cache=true, and the opaque-cursor/native-window pagination note. It does not cover output shape or error details, but for a read/list tool this is a solid level of disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it is somewhat cryptic and redundant. Phrases like 'native-window when the api-v2 page ends' are unexplained jargon, and 'Costs 2 credits' repeats the earlier credit information without adding much value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with well-documented parameters and no output schema, the description covers the essential operational concerns: cost, caching, pagination, and failure charging. It lacks a plain statement of what fields the returned tracks will contain, but the tool name and 'track list' phrase make the primary purpose unambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters (url, cache, limit, cursor). The description adds a bit of context around caching and cursor opacity, but it largely repeats or restates what the parameter descriptions already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('artist track list') and the action (retrieve/list), and the name 'soundcloud_artist_tracks' reinforces this. It does not explicitly differentiate from siblings like soundcloud_artist or soundcloud_track, but the phrase makes the tool's scope reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than explicit: the name and 'Artist track list' suggest this is for getting a SoundCloud artist's tracks, as opposed to artist profile details or a single track. There is no explicit when-to-use guidance or mention of alternatives such as soundcloud_artist or soundcloud_track.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
soundcloud_trackAInspect
SoundCloud track — plays/likes/license, tags[], nested artist{}, streamUrl when streamable (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | SoundCloud track URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it delivers: it discloses the 1-credit cost, that empty results and failures are never charged, and the cache semantics (default fresh, cache=true gives a free 24h hit). The conditional 'streamUrl when streamable' also tells the agent the output is shape-dependent. It stops short of covering rate limits or auth, but billing and caching are the most decision-relevant traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences that front-load the data fields, then cover billing and caching. The payload shorthand (plays/likes/license, tags[], nested artist{}) is efficient. Minor redundancy: '(1 credit)' is immediately restated as 'Costs 1 credit'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource fetch tool with three fully documented parameters and no output schema, the description covers the essentials: what data comes back, cost, failure charging, and cache control. It is complete enough for an agent to call it correctly. The absence of error-format or rate-limit detail is a minor gap given the billing and cache coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The schema already thoroughly documents url (including the cross-platform prohibition), cache, and cacheMaxAge TTL values. The description adds only the 24h specificity for cache=true and the fact that the hit is free, which is marginal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (SoundCloud track) and enumerates the returned payload: plays/likes/license, tags[], nested artist{}, and conditional streamUrl. This makes the tool's scope clear and distinguishes it from siblings like soundcloud_artist and soundcloud_artist_tracks, though it never explicitly names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this tool over alternatives. It does not say 'use this for track-level data, use soundcloud_artist for artist profiles' or contrast with spotify_track. The cache and billing notes describe how to invoke, but the description provides no tool-selection context in a large sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_albumAInspect
Spotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape. | |
| url | Yes | Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Because no annotations are provided, the description carries the burden of behavioral disclosure. It reveals the 1-credit cost, the fact that empty results and failures are never charged, and the default fresh fetch versus free cache-hit behavior — all beyond the schema. It does not mention auth, rate limits, or detailed error semantics, but the most operationally relevant behavior is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, starting with the resource and return fields, then cost and cache policy in a compact second sentence. The parenthetical "(1 credit)" right before "Costs 1 credit." is slightly redundant or ambiguous, so it is not perfectly clean, but there is almost no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description provides essential calling context: the main return fields, the credit cost, and the free-cache and no-charge-on-failure behaviors. It could add a sibling comparison or a fuller return-shape description, but for a straightforward fetch tool with a complete input schema, the core context is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters — url, raw, and cache — are already described in the schema, which has 100% coverage. The description mostly restates the well-documented cache behavior and adds no new meaning for url or raw. The schema does the heavy lifting, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Spotify album lookup and lists the normalized fields it returns, including tracks[], playCount, joinable artists[], releaseDate, and explicit. It distinguishes itself from sibling Spotify tools by naming the album resource, though it lacks an explicit verb such as "fetch" or "get" and 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance for caching — pass cache=true for a free 24h hit — but no guidance on when to use this tool versus spotify_track, spotify_artist, or spotify_search. An agent must infer usage from the tool name alone; there are no exclusions, alternatives, or conditions for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_artistAInspect
Spotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Include the upstream GraphQL payload as data.raw. Default false — omit unless you need fields not in the normalized shape (~80% of the old response body). | |
| url | Yes | Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does real work: it discloses the 1-credit cost, guarantees that empty results and failures are never charged, and explains the cache-strue free 24h hit with a default of always fresh. These are exactly the operational behaviors an agent needs to decide whether to call the tool, though it does not cover error-shape or upstream-unavailable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the field list and stays compact at roughly 60 words, with the cache guidance earning its place. The main flaw is redundancy: the 1-credit cost is stated twice, once parenthetically '(1 credit)' and once as its own sentence 'Costs 1 credit.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although no output schema exists, the description enumerates the expected return fields, giving the agent a concrete picture of the result shape. Given the low complexity (3 params, 1 required) and complete 100% schema coverage plus the disclosed cost/cache/failure policies, little is missing — only field types and error-response structure go unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself is detailed: raw explains its purpose and when to omit it, url explains accepted formats plus the cross-platform warning, and cache covers defaults and costing. The description only restates the cache behavior ('free 24h cache hit'), adding no new parameter meaning, so the baseline 3 for full-coverage schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource ('Spotify artist') and enumerates the concrete fields returned: followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists. This differentiates it from the Spotify siblings (spotify_track, spotify_album, spotify_podcast) at a glance, but the verb is implicit — it never states 'get' or 'fetch' — so it stops just short of a fully explicit purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the resource type and field list: an agent needing monthlyListeners or worldRank for a Spotify artist would naturally route here. However, no explicit 'use when' condition, exclusion, or alternative is named, so the agent gets no help deciding between this and spotify_track, spotify_album, or the platform-mislatched URL cases beyond what the schema's url parameter warns about.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_podcastAInspect
Spotify podcast show — publisher, rating, topics, explicit flag, and totalEpisodes as clean JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does meaningful work: it discloses the 1-credit cost, states that empty results and failures are never charged, and explains the cache=true behavior (free 24h hit) versus the default always-fresh fetch. This is genuinely useful operational context beyond what the schema states. It does not mention rate limits or failure conditions, but for a simple read-only fetch tool the disclosed cost/caching behavior is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three compact sentences with zero waste: purpose, cost/charging policy, and cache behavior. The core purpose is front-loaded in the first sentence, and each subsequent sentence carries distinct operational information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema, the description compensates well by enumerating the returned fields, substituting for the missing output schema, and by covering cost and caching semantics. The main gap is the absence of any differentiation from the sibling spotify_podcast_episodes tool, which an agent could easily confuse with this one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both `url` (with format, example, and a negative constraint) and `cache` (with credit semantics and default). The description's cache=true note largely restates what the schema already says, adding marginal value. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Spotify podcast show) and enumerates the specific output fields (publisher, rating, topics, explicit flag, totalEpisodes) delivered as clean JSON, which makes the tool's function unambiguous. It lacks an explicit verb like 'get' or 'fetch', though 'as clean JSON' strongly implies retrieval. Differentiation from siblings is implicit via the show-level field list rather than explicit naming.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The field list implies the tool is for retrieving podcast show metadata, but the description gives no explicit when-to-use guidance or exclusions relative to closely related siblings like spotify_podcast_episodes or spotify_search. The 'Not an artist URL' constraint exists in the schema but not in the description, so the usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_podcast_episodesAInspect
Podcast episode archive — previewUrl, releaseDate, explicit, cursor pagination (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included. | |
| url | Yes | Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the flat 2-credit cost, that empty results and failures are never charged, that cache=true gives a free 24h cache hit while the default is always fresh, and that cursor pagination is used. These are non-obvious, decision-relevant behaviors an agent would not otherwise know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose and key fields, followed by cost, caching, and failure behavior. There is minor redundancy in saying 'flat 2 credits' and then 'Costs 2 credits' within consecutive clauses, but overall every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description usefully names the returned episode fields and indicates cursor pagination, while the schema covers URL formats and parameter defaults. It could have described response envelopedetails or episode ordering, but an agent has enough 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented. The description reinforces cursor pagination, flat pricing, and cache behavior, but it does not add substantial meaning beyond what the schema already provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a podcast episode archive and lists key returned fields (previewUrl, releaseDate, explicit), which makes its purpose clear and distinguishes it from sibling tools like spotify_podcast. It lacks an explicit imperative verb like 'fetch' or 'list,' but the resource and field list leave little ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful operational context such as cost, caching, and pagination, but it never explicitly states when to use this tool versus alternatives like spotify_podcast, spotify_album, or spotify_search. Usage is implied by the name and 'episode archive' phrasing rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_searchBInspect
Search Spotify — canonical spotify: URIs, explicit, fetchedAt (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search term (min 2 chars). | |
| raw | No | Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs fallback-path shapes differ — see FAQ. | |
| type | No | Result kind: tracks (default), albums, artists, podcasts, or episodes. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 50). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses billing (2 credits flat), billing edge cases (empty results and failures never charged), and cache semantics (cache=true gives a free 24h hit, default always-fresh). Missing only rate limits or auth details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose, which is good, but is fragmented and partly redundant — "(flat 2 credits)" and "Costs 2 credits" say the same thing twice, and the opening clause about return fields is terse to the point of being hard to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with full schema coverage and no output schema, the description covers cost, caching, and return-shape highlights. It is largely sufficient, with routing/usage context the main gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters (q, raw, type, cache, limit). The description adds only a restatement of cache defaults already in the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Search Spotify") and hints at return content (canonical spotify: URIs, explicit, fetchedAt). It's clearly distinguishable from detail siblings like spotify_track/spotify_album, though it never names them to route the agent explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use vs. alternative guidance — nothing tells the agent when to search versus calling spotify_track/spotify_artist directly, or how to pick the type parameter for a given goal. Cost/cache notes are operational, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spotify_trackAInspect
Spotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography. | |
| url | Yes | Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure and does meaningfully disclose the 1-credit cost, the no-charge policy for empty results and failures, and the cache behavior with default always-fresh versus a free 24h cache hit. It does not cover auth, rate limits, or error response shapes, but for a simple single-resource fetch this is solid context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the primary output fields and cost. It loses a point for redundancy: the credit cost is stated twice ('(1 credit)' and 'Costs 1 credit'), and the cache behavior repeats the schema description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only three params, a fully self-documenting schema, and no output schema, the description covers the key return fields, credit cost, failure billing, and cache semantics. A fuller statement of the return shape would improve completeness, but the existing text plus schema is adequate for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a clear explanation. The main description adds some cost and caching context, but largely restates what the schema already documents for cache and url, so it does not materially extend parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (Spotify track) and the key fields returned (playCount, joinable artists, album, explicit, releaseDate), which distinguishes it from sibling tools like spotify_album, spotify_artist, and spotify_search. However, it is a noun phrase rather than an explicit verb+resource statement like 'Retrieve...' and relies partly on the tool name for the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use spotify_track versus alternatives such as spotify_album, spotify_artist, or spotify_search. The only nearby usage constraint is the schema-level warning about not passing cross-platform URLs, which is a validity check rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_post_detailsBInspect
Threads post — engagement (views when exposed), comments[], suggestedPosts[], threadId/isReply. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Threads post URL, e.g. https://threads.net/@user/post/CODE. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: the returned fields (engagement, views when exposed, comments/suggestedPosts, threadId/isReply), the flat 1-credit cost, that empty results and failures are never charged, and cache semantics. It omits auth/rate-limit details, but the billing and return-shape disclosures are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is front-loaded with the return shape and then billing, which is sensible ordering. However, 'Flat 1 credit. Costs 1 credit.' is a redundant repetition that wastes space in an otherwise compact definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read wrapper with no output schema, the description covers the important unknowns: what data comes back, the billing model, no-charge-on-failure behavior, and caching. It could mention error cases or data-freshness more explicitly, but an agent has enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are already well documented in the schema (URL format warning, cache hit behavior). The description's 'cache=true for a free 24h cache hit, default always fresh' largely restates the schema's own cache description, adding little beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment 'Threads post — engagement..., comments[], suggestedPosts[], threadId/isReply' signals it fetches a single Threads post's details and engagement, and naming 'Threads' distinguishes it from the many same-named post_details tools on other platforms. It lacks an explicit verb ('get/fetch'), but the resource and return fields make the purpose recoverable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings like threads_search, threads_user_posts, or threads_profile. The only usage hint relates to the cache parameter, not tool selection or prerequisites, so the agent must infer when this is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_profileAInspect
Threads profile — displayName, isPrivate, bioLinks (Meta verified), isThreadsOnlyUser, transparencyLabel, bioFragments, HD avatars (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the credit cost, that empty results and failures are never charged, and the default-fresh vs 24h-cache behavior. It stops short of auth requirements, rate limits, or error shapes, and 'HD avatars (1 credit)' alongside 'Costs 1 credit' is slightly ambiguous about whether HD is extra.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the resource and its returned fields before covering cost and caching, so key information lands early. The parenthetical '(Meta verified)' adds little, and the em-dash field dump is slightly cryptic, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description compensates by listing the returned fields, stating cost, and explaining billing exclusions and caching. What remains missing — sibling differentiation and any auth/rate-limit context — is minor for a single-URL read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both url and cache are already fully documented, including the cross-platform URL rule the description restates. The description adds a small amount of value by framing cache as a free/no-charge path, but otherwise it does not extend parameter meaning beyond the schema — baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (a Threads profile) and enumerates the fields it returns (displayName, isPrivate, bioLinks, isThreadsOnlyUser, transparencyLabel, bioFragments, avatars), so an agent knows exactly what it gets. It never states a verb ('fetch/retrieve') and does not distinguish itself from close siblings like threads_search_users or threads_user_posts, which keeps it out of 5 territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is operational guidance — 'Pass cache=true for a free 24h cache hit (default always fresh)' and the 1-credit cost — which tells the agent when to trade freshness for price. However, nothing says when to choose this over threads_search_users or threads_user_posts, so tool-selection guidance is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_searchAInspect
Threads keyword search — posts with engagement + media. orderBy relevant | post_dated | engagement. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword or phrase to search public Threads posts (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. | |
| orderBy | No | Sort the fetched page: relevant (default, Meta Top / similar to query), post_dated (newest publishedAt first), or engagement (likes+replies+reposts+quotes+views). Unknown values are 400. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses cost behavior ('Flat 2 credits', 'Empty results and failures are never charged'), caching behavior (free 24h cache hit, default fresh), and error handling for unknown orderBy values (400). These details go beyond the schema and provide useful behavioral context, though it omits rate limits and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (2-3 sentences) and front-loads the core purpose. It packs cost, caching, and ordering information without unnecessary verbosity. Every sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description should clarify response structure, but it only says 'posts with engagement + media' without detailing fields or pagination. It covers cost and caching well but leaves the return format ambiguous, which is a notable gap for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats some parameter details (orderBy values, cache semantics) but does not add new per-parameter meaning. It introduces overall cost and failure charging, but that is tool-level, not parameter-specific. Thus it meets but does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Threads keyword search' with 'posts with engagement + media.' It clearly distinguishes from sibling tools like threads_search_users by focusing on post search. The purpose is unambiguous and action-oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for keyword searching Threads posts but does not explicitly mention alternatives or when not to use it. It lacks exclusions like 'use threads_search_users for user search,' so an agent must infer the appropriate context from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_search_usersAInspect
Threads user discovery from keyword search — id, handle, avatar, verified. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword to find Threads users / creators (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 1 credit per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does a solid job: it discloses the flat credit cost, that empty results and failures are never charged, and the cache=true behavior with a 24h window and default fresh fetch. This goes beyond simple operation descriptions and gives the agent useful cost/retry expectations, though it does not cover rate limits or error formats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose before behavior details. However, 'Flat 1 credit. Costs 1 credit.' is redundant, which prevents a perfect score for zero-waste structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter tool with no output schema, the description gives enough context: purpose, output fields, pricing, failure charging, and cache semantics. It does not explain the limit parameter's default/max, but the schema covers that, so the omission is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add meaning beyond what the schema already documents for q, cache, or limit; it references cache behavior but repeats the schema's own description. No additional parameter guidance is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource: 'Threads user discovery from keyword search'. It also enumerates the returned fields (id, handle, avatar, verified), which makes the tool's purpose unmistakable and distinguishes it from sibling tools like threads_search or threads_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames the tool as the one for discovering Threads users via keyword search, giving an agent clear context for when to pick it. It does not explicitly name alternatives or exclusions, but the purpose phrasing alone is enough to route correctly among many search siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_user_postsBInspect
Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. Flat 2 credits. source + timings. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Threads profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Threads exposes only a short window of recent public posts on this surface. limit caps what you receive; it cannot increase what Threads returns. Flat 2 credits on every successful call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden and does so well: it discloses flat 2-credit pricing, that empty results and failures are never charged, cache behavior (default always fresh), and the shape of returned data (engagement metrics, threadId/isReply, source + timings). It omits auth needs and rate limits, preventing a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but written as a compressed fragment stream, and the pricing is stated twice ('Flat 2 credits' and 'Costs 2 credits'), which is wasted space. The output-shape information is front-loaded, but the duplicated credit sentence and telegraphic punctuation hurt readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read tool with full schema coverage and no output schema, the description covers what it returns, its cost model, refund behavior, and caching — enough to call it correctly. Missing context on how far back the 'recent' window goes and any pagination limits keeps it from 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, and limit thoroughly. The description only restates the cache/credit behavior already in the schema, adding no new semantics for url or limit; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Recent Threads posts' for a profile, and enumerates the returned engagement fields, so an agent can distinguish it from threads_post_details (single post) and threads_search. It does not explicitly name those siblings or say 'posts authored by this profile', which keeps it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no alternative named, despite many close siblings (threads_profile, threads_search, threads_post_details). The only directive is 'Pass cache=true for a free 24h cache hit', which is about a parameter, not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_ad_library_ad_detailsAInspect
One TikTok Commercial Content Library ad by ID — calendar-day dates, always 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok Ad Library URL or numeric ad ID. Inputs with no extractable numeric ID are a definitive 400. An ID TikTok's library positively reports as nonexistent is a definitive 404 AD_NOT_FOUND (ads outside the EU/EEA+UK+CH never enter the library, and entries expire one year after last impression). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| country | No | Two-letter ISO country code. Default GB. Only EU/EEA + UK + CH are covered by TikTok's library; other codes return 400 UNSUPPORTED_REGION. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by disclosing the fixed 2-credit cost, that empty results and failures are never charged, and that cache=true yields a free 24h hit while the default is always fresh. This is significant operational behavior beyond what a schema field alone conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but 'always 2 credits' is repeated in the very next sentence as 'Costs 2 credits', a redundant clause that wastes space. Still, the rest is efficient and compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers cost, caching, and failure charging, but there is no output schema and the return content is barely hinted at ('calendar-day dates' is vague). It does not explain what ad details are returned, nor does it mention the platform-matching requirement, which appears in the schema but could be highlighted. Incomplete for an agent to predict the result and prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, and country with detailed semantics. The description mentions 'Pass cache=true' and 'default always fresh,' but this duplicates what the cache parameter's schema already states, adding no new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'One TikTok Commercial Content Library ad by ID', clearly identifying the resource (a single TikTok ad) and the lookup mode (by ID), which separates it from search/list routes like tiktok_ad_library_search and top_ads. Though no sibling is named, the 'by ID' scope 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as tiktok_ad_library_search. The 'by ID' phrasing implies the use case, and the schema mentions the URL/ad ID format, but the description itself does not state conditions like 'when you already have an ad ID' or 'use search when you need to discover ads first.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_ad_library_searchAInspect
Search TikTok Commercial Content Library — relevance-filtered, uniform null schema (2 credits native, 5 via fallback). Costs 2 credits (5 via fallback path). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword or advertiser to search TikTok Commercial Content Library (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Does not change the price: 2 credits native, 5 via the fallback path, 0 when empty. | |
| match | No | Keyword token mode: "any" (default, OR whole-word) or "all" (AND). hair ≠ wheelchair. Literal hits lead; already-fetched SERP ads fill behind them up to limit (matchedFrom [] = ranked fill). Empty results are free. | |
| country | No | Two-letter ISO country code (e.g. GB, DE, FR). Default GB. TikTok's Commercial Content Library only covers the EU/EEA, the UK and Switzerland (32 countries) — other codes (US, SA, …) return 400 UNSUPPORTED_REGION with the supported list; TikTok has no ad-library data for them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers meaningful behavioral detail: credit pricing (2 native, 5 fallback), the guarantee that empty results and failures are never charged, and caching semantics (default always fresh, cache=true gives a free 24h hit). It omits auth requirements and rate limits, but the billing/charging disclosure is unusually thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but redundant: '2 credits native, 5 via fallback' is stated twice in two consecutive sentences, and 'uniform null schema' is unexplained filler. The cache tip is front-loaded reasonably, but the pricing restatement wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a keyword-search tool with no output schema, the description is adequate on cost and caching but says nothing about the shape of results (e.g., ad fields returned) or pagination beyond the schema's limit note. The region constraint and match behavior live only in the schema, not the description, leaving the narrative incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter (q, cache, limit, match, country) in depth. The description only echoes the cache behavior and pricing, adding little beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Search TikTok Commercial Content Library.' It is distinguishable from siblings like tiktok_ad_library_ad_details (details lookup) and tiktok_ad_library_top_ads (ranked top ads), though it never names them explicitly. The 'uniform null schema' phrase is opaque jargon that muddies rather than clarifies purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete guidance on the cache parameter ('Pass cache=true for a free 24h cache hit') and cost implications, which is implied usage context. However, it never states when to choose this tool over tiktok_ad_library_top_ads or the other ad-library siblings, nor any prerequisite conditions for a keyword search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_ad_library_top_adsAInspect
TikTok Creative Center Top Ads — one ~20-row leaderboard page, not a library search (flat 2; ~1/ad on the fallback path). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional keyword that ranks the one ~20-row leaderboard page — not a library search. Case-insensitive whole-word hits on title/brandName/industry/objective (hair ≠ wheelchair) come first; the rest of TikTok's keyword-ranked page follows as fill (matchedFrom [] on those ads, rankedFill in the envelope). There is no tags field. advertiser.name is often null in the default US market. Envelope candidatesScanned is the pre-filter pool size. For a known advertiser, use /tiktok/ad-details by ad id. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 20). One Creative Center leaderboard page is ~20 rows; limit only trims that pool — it cannot scan more candidates. Flat 2 credits on the native path; the fallback path ~1 credit per returned ad (min 2). | |
| match | No | Keyword token mode: "any" (default, OR) or "all" (AND). Zero whole-word hits still return TikTok's keyword-ranked page as matchBasis=ranked (literalMatches=0). | |
| period | No | Lookback window in days: 7, 30, or 180. Default 30. | |
| country | No | Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY (Creative Center used to quietly return an empty leaderboard for them). | |
| orderBy | No | Sort: for_you, likes, ctr, impressions, or cost. Default for_you. | |
| adFormat | No | Optional format filter: spark or non_spark. Served only by the extended fetcher — while it is disabled, adFormat returns 503 filter_unavailable (retryable false, not billed). Omit adFormat for the native leaderboard. | |
| industry | No | Optional industry key or label from Creative Center. | |
| objective | No | Optional campaign objective (e.g. Traffic, Conversion, Reach). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses credit cost (flat 2, ~1/ad on the fallback path), billing edge cases (empty results and failures never charged), and cache semantics (cache=true for a free 24h hit, default always fresh). These are exactly the operational facts an agent needs to call it without surprise charges.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with zero waste, front-loading what the tool is and what it is not, then the cost/caching facts. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with no annotations and no output schema, the description plus the richly documented schema cover purpose, cost behavior, caching, and fallback path. It doesn't itself describe the returned envelope shape, though the parameter descriptions carry that detail, leaving only a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all ten parameters thoroughly (envelope fields, keyword ranking, fallback pricing). The description adds only marginal parameter-level meaning beyond that, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope ("TikTok Creative Center Top Ads — one ~20-row leaderboard page") and explicitly distinguishes itself from the sibling "library search" (tiktok_ad_library_search). An agent can tell what this returns and how it differs from siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly negates the alternative use case ("not a library search"), and the q parameter routes a known-advertiser lookup to /tiktok/ad-details by ad id. Clear context for when to reach for this tool; it stops just short of naming the library-search sibling by name in the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_audience_demographicsAInspect
Audience country + language mix for a TikTok creator — engagement sample, not a follower census. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| videos | No | How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits). | |
| countriesLimit | No | Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that results are engagement-based and not a follower census, normally cost 3 credits, are not charged on empty results/failures, and support a free 24-hour cache hit via cache=true while defaulting to fresh data. The 'Costs 3 credits' phrasing is slightly oversimplified since videos=30/60 cost more, but the schema clarifies this and the overall disclosure is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: the first states core purpose and methodology, the second covers pricing and failure billing, and the third explains cache behavior. Information is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, sampling methodology, cost, failure billing, and caching, which are the key elements for selecting and invoking the tool correctly. A brief mention of the output structure would have been helpful given there is no output schema, but the first sentence and the countriesLimit schema description referencing audienceLocations provide enough high-level context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters and the baseline is 3. The description adds little beyond what the schema already states about cache and cost; it actually provides less precise cost information than the videos parameter's description. No additional meaning is provided for url, videos, or countriesLimit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the data domain: audience country and language mix for a TikTok creator, with an important scoping detail ('engagement sample, not a follower census'). It does not use an explicit verb like 'retrieves' and does not name sibling tools to differentiate from alternatives such as tiktok_profile_region or tiktok_channel_details, but the resource and resource type are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you need a TikTok creator's audience country/language mix) and gives practical guidance on cost, non-charging of empty results/failures, and the cache=true free hit. However, it does not explicitly compare to alternative TikTok endpoints or state when not to use this tool, leaving selection vs. siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_channel_detailsAInspect
Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Set true to include TikTok's upstream user/statsV2 blob under raw, plus createTimeUnix (unix twin of createTime). Default false — curated fields only. | |
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does so well by stating the credit cost, the no-charge policy for empty results/failures, the free cache-hit behavior, and the default fresh-fetch behavior. It does not cover rate limits or error response details, but the key operational behaviors are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. The purpose is front-loaded, and the credit/cache caveats are packed into the second sentence without redundancy. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is reasonably complete for a metadata-resolution tool: it names the output fields, input formats, platform-matching constraint, cost model, and caching behavior. There is no output schema, so listing return fields is valuable. It could mention error cases or rate limits, but for this tool's complexity the description covers the essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the description need not re-explain parameters. It does add marginal value by clarifying that cache=true yields a free 24h hit and by stating the credit implication, which goes slightly beyond the schema's 'default TTL' wording. That is useful but not a substantial parameter-semantic contribution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Resolve') and a precise resource ('a TikTok @handle to id + secUid'), then lists the returned fields. This clearly distinguishes the tool from siblings like tiktok_channel_posts or tiktok_search_users by framing it as an ID/metadata resolver rather than a content or search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when the tool is appropriate: resolving TikTok handles to IDs and account metadata. It also provides explicit exclusions ('Not a YouTube channel URL', 'Do not pass cross-platform URLs'), which help an agent avoid misuse. It does not name sibling alternatives explicitly, so it misses the top bar for this dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_channel_postsBInspect
Latest videos from a TikTok profile, cursor-paginated. Flat 2 credits; failures are 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per successful call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (TikTok's max_cursor timestamp, e.g. 1783614676000). A null nextCursor means the end of the list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose billing behavior beyond the schema: flat 2 credits, failures and empty results free, and a 24h cache that is off by default. It still omits auth requirements, rate limits, and whether a failed partial page is charged, but the cost model is genuinely informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The credit/charge rule is stated three times in slightly different words ('Flat 2 credits; failures are 0 credits', 'Costs 2 credits', 'Empty results and failures are never charged'), which is pure redundancy. The first sentence is well front-loaded, but roughly half the text is repeated and could be compressed to one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should carry more, and it does cover cost, caching, and pagination, which are the main things needed to call it correctly. It stops short of describing the returned item shape (video fields, thumbnail/URLs) or end-of-list behavior beyond the schema's nextCursor note, leaving a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (url, cache, limit, cursor) are already documented in the schema, including cross-platform URL warnings and cursor semantics. The description only restates cache/cost behavior, adding no parameter detail beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first clause names a specific resource and verb ('Latest videos from a TikTok profile') and adds pagination behavior, so an agent knows exactly what it retrieves. It does not name or contrast with close siblings like tiktok_channel_details or tiktok_user_followers, so sibling differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the cursor/pagination hints that this is the tool for enumerating a profile's video feed, and the cache note hints at cost-saving reuse. There is no explicit when-to-use versus alternatives and no exclusion conditions naming other TikTok endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_comment_repliesAInspect
Replies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value from the previous response. | |
| commentId | Yes | ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does it well: it discloses the 2-credit cost, that empty/failed calls are not charged, and the cache=true free-hit behavior with fresh-by-default semantics. It also previews the reply field shape, which is material 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact, front-loaded sentences communicate purpose, shape, billing, and cache behavior without filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema and no annotations, the description is quite complete: it covers return shape, cost, failure charging, and cache behavior. It could be slightly more explicit about the full response envelope/pagination metadata, but the schema already documents limit and cursor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents all five parameters. The description only restates the cache behavior in pricing terms and does not add meaning beyond the schema, matching the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Replies under a TikTok comment') and a clear retrieval action, distinguishing itself from sibling comment endpoints like tiktok_comments and youtube_comment_replies. It also ties the reply shape to the comments endpoint, removing ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is clear: this tool is for fetching replies on a TikTok comment, and the 'same shape as comments' phrasing points to the related comments endpoint. It lacks an explicit when-not-to-use statement or named alternative, but the intent is not ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_commentsAInspect
TikTok comments — clean schema plus authorName, stable authorId/authorSecUid and commentLanguage for listening loops. Unresolvable videos are 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (a numeric offset, e.g. 50). A null nextCursor means the end of the comments. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does substantial work: it discloses the 2-credit cost, the 404-at-0-credits edge case for unresolvable videos, no-charge on empty/failed results, and the free 24h cache hit with default-fresh behavior. It stops short of covering auth needs or rate limits, but the pricing, failure, and caching semantics are unusually explicit for a description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences front-load the core purpose and pack in output-shape, pricing, failure, and caching semantics without filler. There is minor pricing redundancy ('Costs 2 credits', 'never charged', 'free 24h cache hit'), but each mention adds a distinct nuance, so every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description covers pricing, failure modes, caching behavior, and key response fields, while leaving pagination mechanics to the well-documented schema. It is missing only minor context such as rate limits and authentication expectations, which are likely shared across the account-level sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the schema already documents url (with cross-platform warnings), cache, limit, and cursor/nextCursor pagination. The description adds only marginal value by tying cache=true to the free 24h cache hit, which mostly restates what the schema's cache parameter already explains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ('TikTok comments') and hints at the output shape (authorName, stable authorId/authorSecUid, commentLanguage), making the tool's function unambiguous. It lacks an explicit verb like 'fetch' or 'list' and never names sibling tools such as tiktok_comment_replies, so sibling differentiation relies on inference from the platform and field details rather than explicit statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for listening loops' implies a use case (tracking commenters over time via stable author IDs), and the cache/cost notes signal when the cheap path applies. However, there is no explicit when-to-use guidance, no exclusions, and no mention of alternatives like tiktok_comment_replies or youtube_comments, so an agent must infer when this tool is preferred over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_liveAInspect
Check whether a TikTok creator is live right now and get the stream URLs (CMAF/DASH + FLV, HLS when TikTok exposes it) — one GET with an @handle, 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: it discloses the 1-credit cost, that empty results and failures are never charged, and the cache/freshness default. It omits auth requirements, rate limits, and what the response looks like when a creator is offline (likely why empty results exist, but unstated).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, which is good, but it wastes a clause repeating the price: '— one GET with an @handle, 1 credit. Costs 1 credit.' That redundancy and the parenthetical codec list dilute an otherwise tight sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema or annotations, the description covers cost, caching, and output media types, which is reasonable. It stops short of the one thing an agent most needs here: how this differs from tiktok_live_info, plus any auth or failure-mode detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both 'url' and 'cache' are already documented in the schema, making 3 the baseline. The description restates the cache cost/behavior rather than adding new meaning such as handle normalization edge cases; the schema's cross-platform warning is more informative than anything in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: check whether a TikTok creator is live now and retrieve stream URLs (CMAF/DASH, FLV, HLS). An agent can picture the operation, but the description never distinguishes itself from the near-identical sibling tiktok_live_info, leaving ambiguity about which of the two to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one useful condition (pass cache=true for a free 24h hit, default fresh) but offers no guidance on when to prefer this over tiktok_live_info or the other channel/profile tools. Usage is implied by the purpose statement rather than stated as explicit when-to-use rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_live_infoAInspect
Identical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the credit cost, the billing exception for empty results and failures, and the caching behavior including the default of always-fresh. It omits auth/permission requirements and rate-limit behavior, keeping it out of the top band.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph where every clause carries information (outputs, cost, billing, caching). It is front-loaded with the output description rather than a crisp purpose statement, which slightly weakens scanning, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-annotation, no-output-schema tool it covers returns, pricing, and caching adequately. The major unresolved gap is the relationship to the sibling tiktok_live: calling this one 'identical' raises the question of why both exist and which to pick, and the description never answers it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the url property already documents the accepted formats and the cross-platform prohibition, so the baseline is 3. The description's cache sentence restates what the schema's cache property already says, adding no format or edge-case detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes the concrete payload (isLive, creator.id/secUid, streamQualities hls/cmaf), which tells an agent what it gets back and implicitly what the tool does. The framing 'Identical to TikTok Live' points at the state it checks, though it never states a clean verb+resource like 'check whether a TikTok user is currently live', so it falls short of full sibling differentiation against tiktok_live.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives practical usage rules for cost (1 credit, empty results and failures never charged) and for the cache flag (cache=true for a free 24h hit, default always fresh). However, it offers no guidance on when to use this tool rather than the near-identical sibling tiktok_live, which is the most important selection decision here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_music_postsAInspect
List TikTok videos that use a specific sound — caption, author, exact engagement, canonical hashtags, and mentions, with cursor pagination. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Most videos to return (default 20, 1–50; outside that range is a 400). TikTok serves this feed in short pages, so a call can return fewer than limit with a nextCursor to continue. Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. hasMore is true only when nextCursor is present. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the 2-credit cost, the no-charge-on-empty/failure policy, and the 24h cache behavior. It omits auth requirements and rate-limit behavior, keeping it out of the top band.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and returned fields, then cost and cache behavior in tight clauses. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated list tool with full schema coverage but no output schema, the description supplies the return-field summary and pagination/cost semantics an agent needs. Only minor gaps (auth, ordering of results) remain, so it is near-complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter (url, cache, limit, cursor) is already documented in detail, including the pagination mechanics and short-page behavior. The description adds nothing beyond the schema on parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("List") and resource ("TikTok videos that use a specific sound") and enumerates the returned fields (caption, author, engagement, hashtags, mentions). It is distinguishable from siblings like tiktok_song_details (sound metadata) and tiktok_search_by_hashtag without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly implies the use case: you must have a specific sound/music URL to get its videos, and the schema reinforces this. However, it never names alternatives (e.g., tiktok_song_details for sound metadata) nor states a when-not-to-use condition, so it falls short of the explicit routing a 5 requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_popular_creatorsAInspect
Creative Center creators + createTime / bioLinkRisk / ttSeller hydrate for partnership vetting. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Creative Center page (default 1). | |
| sort | No | follower, engagement, or popularity. Default follower. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. | |
| country | No | Two-letter ISO country code. Default US. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. | |
| follower_count | No | Optional range on the For You ranking: 10k-100k, 100k-1m, 1m-10m, >10m. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does add real value: billing is '2 credits', empty results and failures are 'never charged', and caching semantics are disclosed ('free 24h cache hit', default always fresh). It does not mention authentication or rate limits, but the billing and cache behavior is exactly the kind of context structured fields don't provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The resource and vetting purpose are front-loaded, and billing/caching are packed into compact sentences. The jargon ('hydrate', 'ttSeller', 'bioLinkRisk') is dense and slightly opaque, but there is little outright filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 optional parameters, no annotations, and no output schema, the description covers the essentials an agent needs: cost, no-charge conditions, caching, and the enrichment fields returned. It stops short of describing the response shape or ordering, but is largely sufficient for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters, setting the baseline at 3. The description only reinforces cache behavior ('default always fresh'), adding little semantic meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and source ('Creative Center creators') and an enrichment layer ('createTime / bioLinkRisk / ttSeller hydrate') aimed at 'partnership vetting'. An agent can tell it retrieves a ranked list of TikTok creators rather than, say, individual users. However, it lacks a clear verb and never differentiates itself from siblings like tiktok_search_users or tiktok_trending_feed, so the purpose is clear but not sibling-distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'For partnership vetting' implies the intended scenario, and the credit/caching notes sketch operational context. But there is no explicit when-to-use vs. when-not, and no routing to alternatives such as tiktok_search_users, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_popular_hashtagsAInspect
Related TikTok hashtags — Creative Center chart when it answers, otherwise a disclosed niche fallback. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Creative Center page (default 1). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. | |
| query | No | Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (10s cap); a miss falls through to related tags for fyp (source=niche_fallback) and opens a chart circuit for that country/period/page/industry. Later calls with the same chart parameters skip the chart (chartStatus=skipped_circuit_open) until the cooldown expires. Any other value skips the chart. | |
| period | No | Lookback days: 7, 30, or 120 (180→120). Default 7. | |
| sortBy | No | Chart sort: popular (default). | |
| country | No | Two-letter ISO country for the Creative Center chart. Default US. | |
| industryId | No | Optional Creative Center industry_id. | |
| newOnBoard | No | Only hashtags newly on the Top 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses billing (flat 2 credits, uncharged on empty/failure), a fallback path with source=niche_fallback and circuit-breaker/cooldown behavior, and cache semantics. It omits auth requirements and return shape, but the operational behavior is unusually well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and reasonably front-loaded, but 'Flat 2 credits. Costs 2 credits.' is a redundant restatement that wastes a sentence. Otherwise every line carries content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-optional-parameter tool with no annotations and no output schema, the description covers the non-obvious behaviors an agent needs (costing, fallback, caching, failure charging). It does not describe the returned fields, but 'related hashtags' is a reasonable signal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The prose largely repeats cost/cache facts already encoded in the parameter descriptions rather than adding new parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific resource (related TikTok hashtags) and the mechanism (Creative Center chart, else niche fallback). It is distinguishable from tiktok_search_by_hashtag by nature of being about related/ranked hashtags, though it does not name the sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives implied usage via the query semantics (omit or pass 'trending' to hit the chart, any other value skips it), but never says when to choose this over tiktok_search_by_hashtag or tiktok_top_search. Guidance is present but inferential rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_profile_regionAInspect
Find out where a TikTok creator is likely based and what language they use — country, language, stable ids, and core profile stats. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Set true to include TikTok's upstream user/statsV2 blob under raw. Default false — curated fields only. | |
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 7d response cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses meaningful behavior: 2-credit cost, no charge for empty results or failures, cache=true gives a free cached hit, and the default is always fresh. It does not mention rate limits or auth, but for a read-only lookup these disclosures are strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: three sentences cover purpose, pricing, failure charging, and cache behavior. Every sentence earns its place, though the cache sentence is inaccurate relative to the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, main output categories, cost, and cache behavior, which is adequate for basic selection and invocation. However, there is no output schema and no description of result shape or rate limits, and the cache TTL inconsistency leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are already documented in the schema, so the baseline is 3. The description adds no useful meaning for raw or cacheMaxAge, and it introduces a conflicting cache claim: it says cache=true gives a 24h cache hit, while the schema says the 7d response cache with 0 credits on hit. This ambiguity hurts parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Find out where a TikTok creator is likely based and what language they use' and lists concrete outputs: country, language, stable ids, and core profile stats. This clearly distinguishes it from generic TikTok profile or channel tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied from the stated purpose, but the description never names sibling tools or says when not to use it, such as when full channel details or audience demographics are needed. The cost and cache advice is operational rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_search_by_hashtagAInspect
Videos from TikTok's /tag/{name} challenge feed — not keyword or username search. Cursor + hasMore. Costs ~14 credits (0.7/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Single hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/top-search for a keyword query. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Billed per result. | |
| cursor | No | Pagination offset. Leave at 0 (or omit) for the first page; then pass the nextCursor value returned in the previous response. A null nextCursor means the end of the results. | |
| region | No | Two-letter ISO 3166-1 country code. Default US. Accepted for compatibility; does not filter results by country. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the credit cost model (~14 credits, 0.7/result), that empty results and failures are never billed, that cache=true yields a free 24h cache hit while the default is always fresh, and that pagination uses cursor + hasMore. This is exactly the operational context an agent needs before invoking a paid endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight, front-loaded clauses: scope first, then pagination and cost, then the cache tip. No filler, and the most decision-relevant information (this is a hashtag feed, not a keyword search) leads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers cost, caching, pagination, and empty/failure behavior for a 5-parameter tool with no annotations. With no output schema present, it stops short of describing the shape of a returned video item, which is the one remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents q, cache, limit, cursor, and region thoroughly. The description's mentions of cursor/hasMore and the cache tradeoff largely restate schema content rather than adding syntax or constraints beyond it, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Videos from TikTok's /tag/{name} challenge feed') and immediately contrasts it with keyword and username search, which maps directly onto the sibling tools tiktok_top_search and tiktok_search_users. An agent can select this tool without opening any other schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly excludes keyword and username queries ('not keyword or username search'), and the q parameter points to the correct alternative route (/v1/tiktok/top-search). Clear context is given, though the specific sibling tool name is not stated in the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_search_suggestionsAInspect
Get the autocomplete terms TikTok suggests in its search bar for a keyword — the real phrases people search, ranked, so you can find trending queries and long-tail keyword ideas. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Seed keyword to expand into autocomplete suggestions, e.g. skincare. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. | |
| country | No | Two-letter ISO country code that localizes the suggestions to a market, e.g. US, GB, DE. Default US. | |
| language | No | Interface language for the suggestions, e.g. en-US or de-DE. Default en-US. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does a good job: it discloses a 2-credit cost, no charge for empty/failed results, and the 24h cache option with default always-fresh behavior. It does not mention potential rate limits or auth requirements, but the operational behavior most relevant to invoking correctly is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with what the tool does, and every sentence earns its place: value proposition, cost, no-charge guarantee, and cache behavior. No redundant fluff or repetition of raw schema attributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema and no annotations, the description covers the essential context: what is returned, why it is useful, cost behavior, failure charging, and cache semantics. The remaining parameters are fully documented in the schema, so nothing an agent needs to select and invoke this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all five parameters (100% coverage), and the description adds meaningful semantics beyond the schema: 'q' is a seed keyword, cache=true yields a free 24h cache hit, and calls carry a flat 2-credit cost. Country and language are left to the schema, but the description raises the overall value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get the autocomplete terms TikTok suggests in its search bar for a keyword') and clearly identifies the resource and output. It distinguishes this tool from search-focused siblings by emphasizing autocomplete/ranked phrases for canonical and long-tail keyword discovery, not user/hashtag/top-search lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the intended use case: finding trending queries and long-tail keyword ideas. It does not explicitly compare against alternatives or state when not to use it, but the context is clear enough that an agent can infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_search_usersAInspect
Search TikTok users — distinct creators only, id + secUid, per-counter isApproximate flags, cursor pagination. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query matched against usernames, display names and bios (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 1 credit per call. | |
| cursor | No | Pagination cursor. Omit (or pass 0) for the first page; then pass the nextCursor value from the previous response verbatim — it carries the search session, not just an offset. A null nextCursor means the end of the results. | |
| fallback | No | Deprecated — no effect, removed on 2026-12-17. Sending it adds an X-Captapi-Warning response header. When native search is unavailable the response is an empty degraded page (0 credits). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses 1-credit cost, that empty/failed results are never charged, the distinct-creators-only behavior, per-counter isApproximate flags, and the cache semantics. It omits any rate-limit or auth/permission context, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense, front-loaded, and every clause earns its place — scope first, then returned fields, then billing, then caching. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully names the return shape (id + secUid, isApproximate counters) and pagination via cursor. Combined with the rich param schema this is nearly complete, though it could mention what a result object contains in more depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents q, cache, limit, cursor, and fallback in detail. The description only re-touches caching and cursor pagination, adding little beyond the structured fields. Baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (search TikTok users) and clarifies the scope with 'distinct creators only' plus the returned identity fields (id + secUid). It does not, however, differentiate itself from adjacent siblings like tiktok_popular_creators or the cross-platform user search tools, so a 5 is withheld.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains caching behavior and cost but never says when to choose this over tiktok_popular_creators or search-by-keyword alternatives. Usage is implied by the resource name rather than stated with alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_product_detailsAInspect
PDP — price (sku_min when guest min is *), sold vs stock, seller id/url, images[]. Unresolved URL is 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok Shop product URL, e.g. https://shop.tiktok.com/view/product/1731410956394792439?region=BR or https://www.tiktok.com/shop/pdp/1731098552908944370. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| region | No | Two-letter market region (default US). A region= or oec_region= query on the product URL wins over this default so a BR share URL is not fetched as US. Echoed as data.region. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: discloses cost (2 credits), free failures, 404 behavior on unresolved URLs, and caching behavior. It also notes that empty results are never charged. Missing details like authentication or rate limits, but the core behavioral traits are clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, dense sentence that front-loads the core purpose (PDP and fields) then packs cost, failure, and caching behaviors. Every phrase earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple product-details fetch with no output schema, the description conveys return fields and key behavioral context (cost, caching, region handling). It doesn't mention pagination or error codes, but the tool's scope is narrow and the essentials are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds marginal value: reiterates cache=true as free hit and notes region is echoed as data.region, but these are also present in the schema. No additional parameter semantics beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (fetch product details) and resource (PDP for TikTok Shop), and enumerates the exact fields returned (price, sold vs stock, seller id/url, images[]). It clearly distinguishes from siblings like tiktok_shop_product_reviews and tiktok_shop_search by naming the PDP scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance relative to sibling tools. It mentions cost-saving via cache=true but does not direct the agent to alternatives like tiktok_shop_product_reviews for reviews or tiktok_shop_search for discovery. The usage context is only implied by the resource type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_product_reviewsAInspect
TikTok Shop product reviews — star rating, text, SKU variant, verified purchase, country, and review photos. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731962298839634826. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it does well by disclosing credit costs (~45 credits, 2.25/result), the no-charge policy for empty results/failures, and the cache=true behavior with free 24h hits. It omits details like pagination, rate limits, or output structure, but the most operationally important behavior is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences with no filler: the first defines the output, the second covers pricing, and the third explains the caching option. Every sentence adds distinct value and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description usefully enumerates the review fields returned and explains cost/cache behavior, which helps an agent understand what it will get. It does not describe the exact output structure or edge-case error behavior, but the combination of schema plus description is reasonably complete for a straightforward fetch-reviews tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for url, cache, and limit, including an example URL and constraints. The description adds meaningful operational semantics beyond the schema by explaining per-result billing and the free-cache-hit behavior, which clarifies the practical effect of the limit and cache parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as TikTok Shop product reviews and lists the specific data points returned (star rating, text, SKU variant, verified purchase, country, review photos). The name plus field list distinguish it from product_details and product search siblings, though it does not explicitly call out that distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description and schema make it clear that a TikTok Shop product URL is required and gives a concrete example plus a warning about cross-platform URLs. However, it does not explain when to choose this tool over related siblings like tiktok_shop_product_details or tiktok_shop_products, leaving that differentiation to be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_productsBInspect
Store catalog with shopInfo (sold/followers/rating) + products priced with sold, rating, typed discount. Costs 2 credits (fallback: 2.8/product, min 2). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok Shop store URL with numeric shop id, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. A slug-only /shop/store/{name} URL is a definitive 400 — TikTok's catalog SSR is keyed by shop id. Get the full URL from /v1/tiktok-shop/user-showcase or a product's seller.url. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). 2 credits when served natively (limit ≤ 30); above 30, or when the native page misses, the fallback path bills 2.8 credits per product returned, rounded up, minimum 2. | |
| region | No | Two-letter market region (default US). Non-US coverage depends on TikTok exposing that shop in the selected region — empty results outside the US are often a platform limit, not a Captapi bug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior beyond the schema: 2-credit base cost, a 2.8/product fallback with a 2-credit floor, no charge on empty results or failures, and a free 24h cache hit versus default-fresh retrieval. It stops short of stating read-only nature, auth needs, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences with no filler; billing is stated up front and caching last. The opening clause is telegraphic ("products priced with sold, rating, typed discount"), which trades readability for brevity but is still front-loaded and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the only source of return-shape information, and it names shopInfo (sold/followers/rating) plus product fields (sold, rating, typed discount). Combined with the schema's detailed url/region caveats, an agent has enough to call it correctly; only sibling routing remains unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's cache and limit commentary largely restates what the schema already documents (default fresh, 0 credits on hit, per-product fallback billing), adding little new semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Store catalog with shopInfo ... + products ..." identifies the resource and its contents, so an agent can infer it pulls a TikTok Shop store's product listing. But there is no verb (the description reads as a noun phrase fragment) and no differentiation from close siblings like tiktok_shop_search, tiktok_shop_product_details, or tiktok_shop_user_showcase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains pricing and cache mechanics but never says when to pick this tool over tiktok_shop_search or tiktok_shop_product_details, nor what input is required to make it work. Cost/caching guidance is operational, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_searchAInspect
TikTok Shop keyword search — priced products with sold, rating/reviews, typed discount, seller id. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Product search query (min 2 characters), e.g. phone case. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 10, max 10). Flat 2 credits per call. | |
| region | No | Two-letter market region for the search (default US). Echoed on the response as data.region — not a creator home country. Native search is a SERP window (not TikTok's full catalog); compare requested to serpHits / windowMax. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden, and it does meaningful work: it discloses the 2-credit cost, states that empty results and failures are never charged, and explains the cache behavior with a default of fresh results. This is strong behavioral coverage for a paid search tool, though it omits any note on rate limits or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences deliver purpose, result contents, pricing, failure policy, and cache guidance with zero filler. The most important identification information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description covers the essential selection and invocation facts: what the tool returns, its cost, its failure-charge policy, and a cost-saving cache option. It does not fully describe the response structure, but it names the key output fields, which is sufficient given the schema handles parameter details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with 100% description coverage, so the baseline is 3. The tool description reinforces the cache behavior but does not add meaning beyond what the schema provides for q, limit, or region.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'TikTok Shop keyword search' and names the concrete result fields (priced products, sold, rating/reviews, typed discount, seller id), so the operation and output domain are clear. It does not explicitly name sibling tools it should be distinguished from, but the keyword-search framing already separates it from detail/review/showcase tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The keyword-search intent plus the cache guidance ('Pass cache=true for a free 24h cache hit') provides useful invocation context and implies when to use it. However, it never explains when to choose this tool over siblings like tiktok_shop_products or tiktok_shop_product_details, so the when/where-not guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_shop_user_showcaseAInspect
Creator Shop showcase — affiliate shelf products with per-product sold, rating, typed discount, and seller name/url. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Billed per result. | |
| username | Yes | TikTok username, @handle, or profile URL, e.g. jeffreestar or https://www.tiktok.com/@jeffreestar. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on behavioral disclosure: it specifies credit cost, per-result billing, free empty/failure results, and cache semantics. This is substantial and useful. It does not mention auth, rate limits, or output format, but for a read-style fetch these are minor gaps given the disclosure already provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: product scope, cost/billing, and cache behavior. No filler, every sentence adds value, and the primary purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema and no annotations, the description covers purpose, return fields, cost, cache, and failure billing. It lacks explicit return-shape and pagination detail, but the schema provides limit and the description's field list is enough for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, so baseline is 3. The description reiterates the cache behavior and implies limit affects billing, but does not add new meaning beyond the schema for username or limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a Creator Shop showcase and enumerates what it returns: per-product sold, rating, typed discount, and seller name/url. This distinguishes it from more generic TikTok shop tools, though it lacks an explicit retrieval verb and direct comparison to sibling shop tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case — fetching a TikTok user's Creator Shop affiliate showcase — but gives no explicit when-to-use vs alternatives guidance. Among many tiktok_shop_* siblings, it does not name tiktok_shop_products or tiktok_shop_search as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_song_detailsAInspect
TikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit; 2 via the fallback path). Costs 1 credit (2 via fallback path). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so well: it discloses the per-call credit cost, the 2-credit fallback path, that empty results and failures are never charged, and the 24h cache behavior. It omits auth requirements and rate limits, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The credit cost is stated twice in near-identical phrasing ('commerce rights (1 credit; 2 via the fallback path)' and 'Costs 1 credit (2 via fallback path)'), which is pure redundancy. The useful behavioral facts are front-loaded, but the duplication costs it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description sensibly names the returned data (usageCount, artist list, audio features) and covers the cost/cache model an agent needs before calling. Only auth/prerequisite context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's cache sentence merely restates the schema's cache parameter ('free 24h cache hit') and adds no syntax or format detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (TikTok sound metadata) and enumerates the returned fields (usageCount, artists, audio{bpm,loudness,beats}, commerce rights), letting an agent distinguish it from tiktok_music_posts. It never names the sibling explicitly, so differentiation is by inference rather than declaration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it via the sound-metadata framing and the URL format, but gives no explicit when-not guidance and never names an alternative such as tiktok_music_posts. The cache advice is parameter-level, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_summarizeCInspect
Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add valuable behavioral context: the 4-credit cost, the no-charge guarantee for empty/failed results, and the cache=true 24-hour cache hit behavior with fresh-by-default semantics. These are concrete operational traits beyond the name and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler, and the most operationally important detail (cost) is front-loaded. It loses a point for starting with a standalone fragment rather than a clear functional sentence, but overall it is tightly written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must explain what the tool returns and when it should be used. It covers billing and caching but omits the actual purpose, output format, and relationship to sibling tools, leaving an agent without enough context to confidently invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds the billing angle for cache=true but largely restates what the schema already says about cache behavior and defaults; it does not meaningfully enrich parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Summarizer', which restates the tool name rather than stating a clear verb and resource. It never explicitly says the tool generates a summary of a TikTok video, and it does not differentiate itself from siblings like tiktok_transcript or video_summarize.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over alternatives. The description only discusses credit costs and caching, with no mention of when a summary is preferable to a transcript or video details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_top_searchAInspect
TikTok Top/General search — videos and photo carousels when TikTok includes them, with contentType + images[]. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query or keywords (min 2 characters). | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses important behavioral details: the 2-credit cost, that empty results and failures are not charged, and the free 24h cache behavior. It also mentions result types when TikTok includes them. This goes well beyond the schema, though it does not fully describe all response or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by cost and cache details. Every sentence contributes useful information, and there is no redundant repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description does enough by stating that responses include videos and photo carousels with contentType and images[]. Combined with schema descriptions for cursor and limit, an agent has most needed invocation context. It stops short of full completeness because it does not mention pagination behavior or nextCursor in the description, though the schema covers it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all four parameters with descriptions, so the baseline is 3. The description adds context about cache behavior and credits but does not add new meaning to q, limit, or cursor beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'TikTok Top/General search' for videos and photo carousels. It explains the intended scope and mentions output elements like contentType and images[]. It does not explicitly distinguish itself from sibling search tools such as tiktok_search_by_hashtag or tiktok_search_users, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains mechanics such as credit cost, cache behavior, and empty-result charging, but gives no guidance on when to use this tool versus the many TikTok sibling tools. There is no mention of alternatives or exclusions, leaving the agent to infer the appropriate use case from the name 'Top/General search' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_transcriptCInspect
Transcript Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It does disclose meaningful traits: the 2-credit cost, that empty/failed results are not charged, and the 24h cache behavior. However, it also states 'default always fresh', which conflicts with the schema's cache default of true, muddying the behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, but brevity isn't conciseness when the core action is omitted. It leads with billing ('Costs 2 credits') instead of stating the tool's function, and the two sentences don't form a clear, front-loaded definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description must at minimum state what it returns and when to use it. It provides cost and cache behavior but never explicitly says it retrieves a TikTok transcript, and it leaves the cache default ambiguous, so the definition is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a baseline of 3 applies, and the description adds little beyond the schema's already-detailed cache and language parameters. Worse, the description's 'default always fresh' contradicts the schema's 'Default true' for cache, actively reducing semantic clarity rather than adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the noun 'Transcript' and never states the action (e.g., 'Fetches the transcript of a TikTok video'). The name and URL parameter hint at the purpose, but the description itself is vague about what the tool does, only providing cost and cache details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool or how it differs from the many transcript sibling tools (youtube_transcript, instagram_transcript, etc.). The only platform constraint appears in the schema's URL parameter description, not in the tool description, so the description itself offers no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_trending_feedAInspect
For You by default; pass orderBy/period/page for Creative Center popular videos (like/hot/comment/repost) with totalCount. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Creative Center page (default 1). page>1 triggers chart mode. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| period | No | Lookback days: 7, 30, or 120 (180→120). Triggers chart mode. Every returned publishedAt is inside this window — a For You fallthrough is filtered the same way. | |
| country | No | Two-letter ISO country (default US). For You: region-availability hint. Creative Center mode: chart market. | |
| orderBy | No | Creative Center sort: hot (views), like, comment, or repost. Unknown values are 400. vv/views/plays are aliases of hot — the response echoes the public name. Setting this (or period / page>1) switches from For You to the popular-videos chart. On a For You fallthrough the same sort is applied locally. | |
| countryCode | No | Alias of country. Wins when both are set. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries the burden. It discloses flat pricing, free cache hits, and that empty results/failures are never charged. Adds operational behavior beyond the schema, though it doesn't cover response shape 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Mostly tight and front-loaded, but 'Flat 2 credits. Costs 2 credits.' is a verbatim redundancy that wastes sentence space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers mode selection, pricing, and caching, but with no output schema it only hints at return data via 'with totalCount' and doesn't describe the For You response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, so baseline is 3. The description reinforces that orderBy/period/page trigger chart mode and mentions totalCount, but mostly repeats parameter-level guidance already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes a feed with two modes: For You by default and Creative Center popular-videos chart when orderBy/period/page are passed. The verb and resource are clear ('return trending TikTok videos'), but it doesn't name sibling tools to explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States explicit conditions for chart mode ('pass orderBy/period/page') and cache behavior. Doesn't discuss when to choose this over sibling tools like tiktok_popular_creators or tiktok_video_details, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_user_followersAInspect
List a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 1 credit per call. | |
| cursor | No | Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses credit cost, cache behavior, no-charge on empty/failed results, freshness policy, and pagination traits. This is strong for a list endpoint, though it doesn't mention authentication, rate limits, or handling of private accounts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action and returned fields. The phrase 'Flat 1 credit. Costs 1 credit.' is redundant, but the rest is economical and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters, full schema coverage, and no output schema, the description covers the essential outcomes: returned fields, pagination, cost, failure behavior, and cache. It is slightly shy of a 5 because it doesn't mention edge cases like private accounts or rate limits, but nothing critical is missing for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor semantics. The description adds some context (e.g., cursor pagination, cache free hit) but mostly reinforces rather than extends the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'List a TikTok user's followers', distinguishing it from the sibling tool tiktok_user_followings. It also names the key returned fields, making the tool's purpose immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear operational context: pagination via cursor, use of cache for free 24h hits, and that empty/failed results are not charged. It doesn't explicitly say 'use this instead of tiktok_user_followings', but the name and field list make the primary use case obvious. The schema reinforces platform-matching restrictions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_user_followingsAInspect
List who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 1 credit per call. | |
| cursor | No | Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses the cost model (flat 1 credit), free charges on empty results/failures, cache behavior (free 24h cache hit with cache=true, default fresh), and the returned fields with pagination. It does not mention potential rate limits or auth requirements, but it is substantially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise and front-loaded with the core purpose, but it contains redundancy: 'Flat 1 credit' and 'Costs 1 credit' state the same fact twice. The rest of the sentences earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description usefully enumerates the return fields and notes cursor pagination. Combined with the schema, the agent has enough to call the tool correctly. It does not explicitly distinguish from tiktok_user_followers, but the core facts are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a detailed description. The tool description adds little beyond what the schema provides—'cursor pagination' and 'Pass cache=true' are already covered in parameter descriptions. The baseline of 3 applies because the description adds no significant new semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and clearly identifies the resource: 'who a TikTok user follows'. This inherently distinguishes it from the sibling tool tiktok_user_followers. It also lists the return fields, making the deliverable explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. It never mentions tiktok_user_followers or any other sibling. The only usage guidance in the schema warns against cross-platform URLs, which is input validation, not tool selection. Cache usage is explained, but not when to choose this tool over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_video_detailsAInspect
Get everything about one TikTok video from its URL — caption, view/like/comment/share/save counts, creator, sound, hashtags, and thumbnail. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the 1-credit cost, that empty results and failures are never charged, and the 24-hour cache behavior with a default of always-fresh requests. These are actionable behavioral details beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler; the core purpose is front-loaded and the cost/cache details are packed efficiently. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only details tool, the description is nearly complete: it enumerates output fields, cost, failure charging, and cache options. It does not explicitly describe the return structure or error body, but no output schema exists and the field list largely compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both url and cache. The description adds no new parameter semantics beyond restating the cache behavior, matching the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Get everything about one TikTok video from its URL,' then enumerates concrete returned data (caption, view/like/comment/share/save counts, creator, sound, hashtags, thumbnail). This is enough to tell it apart from sibling TikTok tools like tiktok_channel_details or tiktok_trending_feed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear contextual guidance: pass a TikTok video URL, and optionally set cache=true for a 24-hour cache hit at zero cost while defaulting to a fresh fetch. It does not explicitly name alternatives or define when not to use the tool, 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.
truth_social_postBInspect
One Truth — text, links[], card, reblog/quote chain, media.meta, externalVideoId. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Truth Social post URL or post ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses meaningful operational behavior: flat credit cost, free cache hits, empty results and failures never charged, and default-fresh fetching. This goes beyond the schema and gives an agent a clear sense of side effects and failure economics, though it omits potential rate limits or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and mostly front-loaded, but it is telegraphic and contains redundancy: 'Flat 1 credit. Costs 1 credit.' says the same thing twice. The opening 'One Truth' is unclear and wastes a bit of the agent's attention before the meaningful content begins.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description's list of response fields is helpful and partially compensates. However, it does not describe the overall response envelope, error conditions, or how a post ID/URL is handled, and it fails to differentiate this single-post tool from the related Truth Social list/profile tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description mostly repeats what the schema already says about cache behavior and default freshness. It adds a little context around credit costs, but does not meaningfully explain the url parameter beyond the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (a single Truth Social post) by listing its data fields — text, links[], card, reblog/quote chain, media.meta, externalVideoId — but never states a verb like 'fetch' or 'retrieve'. The name and sibling tools make the purpose inferable, but the description itself is vague and cryptic ('One Truth').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over siblings such as truth_social_profile or truth_social_user_posts. It focuses on cost and caching rather than use cases, alternatives, or prerequisites. The schema's URL platform warning is useful but not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
truth_social_profileAInspect
Prominent public Truth Social profiles — isPrivate/bot/group, CP-F counts, avatar/banner. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the flat credit cost, that empty results and failures are never charged, and the cache behavior (free 24h hit, default fresh). This is valuable and goes beyond typical descriptions, though it does not mention rate limits or error handling specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the core purpose, then states pricing, failure policy, and cache behavior. Every clause carries information with no fluff, making it highly efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers the essential usage aspects: what data is returned, pricing, cache, and URL constraints. It does not detail the response structure or potential errors, but these are less critical for a simple fetch operation. The description is adequate for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers both parameters (100% coverage), but the description adds crucial semantics: the url parameter accepts a URL or @username and explicitly warns against cross-platform URLs with examples. The cache parameter is clarified as serving from a 24h cache at 0 credits. This adds significant value beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves 'Prominent public Truth Social profiles' with specific fields (isPrivate/bot/group, CP-F counts, avatar/banner). The verb is implied but the resource and scope are explicit, and it distinguishes from sibling tools like truth_social_post and truth_social_user_posts by targeting profile-level data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool over alternatives or when not to use it. It implies usage by naming the platform and resource, but lacks explicit routing such as 'use this for profile details, not posts'. The cache hint is about usage but not about alternative selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
truth_social_user_postsAInspect
Recent Truths — same post mapper as /post (links, card, reblog/quote, mentions). 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max posts to return (default 20, max 80). Truth Social's statuses page is ~20 items — a full page returns nextCursor. On the extended path hasMore can be true with nextCursor null (truncatedReason=single_page_only). Flat 2 credits. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, and the description supplies meaningful behavioral details: the 2-credit cost, no charge for empty results or failures, and cache=true providing a free 24-hour cache hit while defaulting to fresh fetches. It does not cover authentication or rate limits, but the cost, caching, and failure semantics go well beyond minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, and most sentences carry useful information. The cost statement is repeated ('2 credits. Costs 2 credits.'), which is a minor redundancy that prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers cost, caching, empty-result policy, and references the /post mapper, but with no output schema it does not describe the response shape beyond that reference. It also omits explicit sibling routing, so an agent is left to infer some contextual details from tool names and the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor. The description adds no new parameter-level semantics beyond restating the cache cost behavior, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a user's 'Recent Truths' and points to the same post mapper as /post, so an agent can infer it returns posts from a Truth Social user's feed. It does not explicitly contrast with truth_social_profile or truth_social_post, and it relies partly on the tool name for the verb, so it is clear but not fully self-contained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by 'Recent Truths' and the profile URL parameter, but the description does not explicitly say when to choose this over truth_social_post or truth_social_profile. It gives useful cache instructions but no stated exclusions or alternative conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitch_clipBInspect
Twitch clip — curator vs channel, signedVideoUrl, unwrapped token, relatedClips (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitch clip URL (clips.twitch.tv/<slug> or twitch.tv/<channel>/clip/<slug>). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It explicitly states the 1-credit cost, that empty results and failures are never charged, and the exact cache behavior for cache=true. That is meaningful transparency beyond typical definitions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it repeats the credit cost twice ('(1 credit)' and 'Costs 1 credit'), and the opening colon-separated list is cramped. It could be tightened without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with full schema coverage but no output schema or annotations, the description covers cost, billing on failure, and caching, but leaves the return shape vague beyond a few field names and does not clarify what 'curator vs channel' means. It is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents url, cache, and cacheMaxAge. The description only repeats the cache=true tip already covered by the schema 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a Twitch clip and lists expected return items (curator vs channel, signedVideoUrl, unwrapped token, relatedClips), so an agent can infer this fetches clip details. However, it lacks an explicit verb such as 'get' or 'fetch', and the phrase 'curator vs channel' is telegraphic and ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose twitch_clip over sibling tools like twitch_profile, twitch_user_videos, or kick_clip. The cost and cache notes are operational details, not usage selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitch_profileAInspect
Twitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and provides useful disclosure: the call costs 1 credit, empty results and failures are never charged, stream data is only present when the channel is live, and cache=true gives a free 24h cache hit while the default is always fresh. It does not cover auth or rate limits, but the key operational quirks 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the resource and return fields. There is minor redundancy between '(1 credit)' and 'Costs 1 credit,' but otherwise each clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema and no annotations, the description provides enough context to call it correctly: return fields, cost, caching behavior, failure billing, and the live-only stream field. It could explain the exact format of fields or error behavior, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by specifying that cache=true is free and provides a 24h cache hit, and it reinforces the always-fresh default. It does not discuss cacheMaxAge, but the schema already fully documents that parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as a Twitch channel and enumerates the specific returned data: handle, displayName, socials[], topClips, schedule preview, and stream. This helps distinguish it from sibling tools like twitch_clip or twitch_user_videos, though it lacks an explicit verb such as 'fetch' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied: this is the tool to call for a Twitch channel profile rather than clips, schedule, or videos. However, it never names alternatives or states when not to use this tool, and 'stream only when live' reads as a data availability condition rather than a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitch_user_scheduleBInspect
Twitch channel schedule — startAt/endAt, title, game, isRecurring (0 credits when empty). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max schedule segments to return (default 50, max 100). Flat 1 credit per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It usefully discloses credit costs, the free cache-hit behavior, and that empty results/failures are never charged. However, it does not mention auth requirements, rate limits, or explicitly state that the operation is read-only, which are relevant gaps for a tool with no annotation safety signals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core purpose before moving to cost and caching details. The only structural weakness is minor ambiguity: 'isRecurring (0 credits when empty)' reads as if isRecurring itself relates to the zero-credit behavior rather than the overall empty-result billing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description names the returned fields and explains the important operational behaviors (cost, caching, failure billing). The parameter schema covers URL, cache, and limit semantics. The main missing piece is guidance on when to select this tool over related Twitch tools, but for a simple 3-parameter call the description is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for all three parameters, so the description does not need to explain them in depth. It adds some value around cache semantics ('free 24h cache hit') and cost behavior, but these largely repeat or complement rather than extend the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a Twitch channel schedule and enumerates its key fields (startAt/endAt, title, game, isRecurring), which distinguishes it from sibling tools like twitch_clip, twitch_profile, and twitch_user_videos. However, it lacks an explicit verb like 'get' or 'fetch', so the purpose is clear but not stated as directly as it could be.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical context about credits and caching, including when to pass cache=true. It does not provide guidance on when to use this tool versus alternatives, nor does it mention exclusions or sibling tools, so an agent must infer selection purely from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitch_user_videosAInspect
Twitch channel VODs — lean rows, video-id cursor, filter/sort, top-level broadcaster{} (flat 2). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Flat 2 credits per call. Hard ceiling: first 100 matching videos only — deeper history is not available (windowMax=100). | |
| cursor | No | Pagination cursor = last video id from the previous nextCursor. Leave empty for the first page. Pages the first 100 matching videos only (not a raw offset). | |
| sortBy | No | TIME (default, newest first) or VIEWS. | |
| filterBy | No | ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types — there is no default filter (unset filterBy is omitted, not null). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses credit costs, free cache hits, no charge for empty/failed results, default fresh behavior, pagination style, and row shape. It also signals that this is a read-style listing operation without destructive side effects. This is substantial behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and information-dense, with the most important facts front-loaded. Every clause provides useful operational information, and there is no filler or redundant restating of the tool name. The two-sentence structure is easy for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema and lack of an output schema, the description covers the main operational concerns: scope, pagination, filtering, sorting, cost, caching, and failure behavior. It does not detail response fields beyond 'lean rows' and the broadcaster object shape, but this is sufficient for an agent to select and invoke the tool. A little more explicit output-structure guidance would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and each parameter already has detailed descriptions, so the baseline is 3. The description adds some related context ('video-id cursor, filter/sort, top-level broadcaster{}') but mostly restates or hints at what the schema already documents. It does not meaningfully compensate for any missing parameter-level semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'Twitch channel VODs' and conveys that this endpoint returns video rows with filtering and sorting. It does not use an explicit verb like 'list' or 'fetch', but the 'lean rows, video-id cursor, filter/sort' phrasing makes the operation unambiguous. The name plus 'Twitch channel VODs' differentiates it from sibling tools like twitch_clip and twitch_user_schedule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The resource statement 'Twitch channel VODs' implies when to use this tool, and the schema warns against cross-platform URLs. However, the description does not explicitly state when to use this tool instead of related Twitch siblings or other channel-video tools. The guidance is mostly inferred from the resource name rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_communityAInspect
X Community metadata — ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses meaningful operational behavior: 'Costs 1 credit', 'Empty results and failures are never charged', and the cache freshness policy with default always-fresh. This goes beyond the basic read-only nature implied by 'metadata' and helps the agent anticipate costs and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: resource, returned fields, cost, failure policy, and cache option. Each sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter metadata endpoint with no output schema, the description covers the return shape via field enumeration and clarifies cost, failure, and cache behavior. It does not describe error responses or rate limits, but for this simple read endpoint the essential calling context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description restates cache behavior ('Pass cache=true for a free 24h cache hit') but the schema already documents '0 credits on hit' and the default false; no new parameter meaning is added. The url parameter is already richly described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with 'X Community metadata' and enumerates the returned fields (ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]), making the resource and scope clear. It lacks an explicit verb like 'fetch' and doesn't name a sibling, but the metadata focus distinguishes it from twitter_community_tweets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description and schema give clear input constraints: only community URLs/IDs, not tweet/status URLs, and the platform must match. It also provides cache guidance ('Pass cache=true for a free 24h cache hit'). However, it does not contrast this tool with siblings such as twitter_community_tweets or twitter_profile, leaving when-to-use vs alternatives implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_community_tweetsAInspect
Posts in an X Community — same 6-metric tweet shape as search. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 25, max 200). Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does disclose meaningful traits: flat 2 credits, empty results/failures not charged, and cache=true producing a free 24-hour hit with always-fresh default. It also references the 6-metric tweet return shape. It does not cover pagination, rate limits, or authentication, but enough operational behavior is surfaced for a read-only fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the purpose, but the cost statement is duplicated ('Flat 2 credits. Costs 2 credits.'), adding unnecessary words. Overall it is compact and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the return-value description must carry more weight; 'same 6-metric tweet shape as search' is ambiguous because no equivalent 'search' tool exists among the siblings. Costs, caching, and parameters are well-covered, but the missing explicit output contract leaves a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema already describes all 3 parameters at 100% coverage, including URL platform restrictions, cache semantics, and limit range. The prose description mostly repeats these details (e.g., 'free 24h cache hit') rather than adding new parameter-level meaning, so it meets the baseline but adds little extra.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Posts in an X Community', clearly identifying the resource (community posts) and implying a retrieval action. It distinguishes from sibling tools like twitter_community and twitter_user_tweets through the 'community' scope, though it never names an alternative, so it stops short of explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement, nor any named alternative tool. The intended context is implied by 'Posts in an X Community' and the cache/cost notes, but an agent is not told to prefer this over twitter_community or twitter_user_tweets for specific needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_profileBInspect
X profile: verified + blue/legacy/identity, displayName, avatar/banner, tipjar→contact{}, expanded website. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d. | |
| cacheMaxAge | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose cost, the no-charge policy for empty results/failures, and cache freshness behavior. However, it says 'free 24h cache hit' while the input schema says '1-hour profile cache,' so the behavioral guidance is partially unreliable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core return fields before moving to cost and caching details. The 'tipjar→contact{}' notation is cryptic, and the cache TTL error weakens the second sentence, but there is little wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple profile endpoint with no output schema, it lists enough return fields plus pricing and failure behavior to be usable. It lacks sibling routing guidance and contains an inaccurate cache duration, which are notable gaps given the large sibling tool set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already fully documented and the baseline is 3. The description adds only a redundant cache=true note that conflicts with the schema's stated TTL, so it does not meaningfully improve parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource clearly as X profile and enumerates specific return fields: verified status, displayName, avatar/banner, tipjar, and expanded website. It is easily distinguished from tweet, community, and transcript siblings, though it lacks an explicit action verb like 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for X profile data rather than tweets or communities, but it never states when to prefer this tool over its siblings or when not to use it. It does give caching usage guidance, but that is parameter behavior rather than route selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_transcriptBInspect
Tweet text as a transcript — timingSource none (not speech-to-text). Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses flat 1-credit pricing, that empty results and failures are never charged, and the cache/freshness behavior. This is real behavioral value beyond the schema. It stops short of describing return shape and any rate/auth constraints, but cost and failure-charging disclosure is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and sentences are short, but 'Flat 1 credit. Costs 1 credit.' is a redundant restatement that wastes a beat. The credit and cache facts are useful, but the duplication keeps it from being tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, 2-parameter tool with no annotations and no output schema, the description covers pricing, failure handling, cache behavior, and the nature of the output (timingSource none). It does not spell out the return structure, but it gives an agent enough to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's cache note largely restates what the schema already says (cache=true for a 24h hit, default false). It adds no new semantics for the url parameter, so it neither compensates nor regresses.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States what the tool returns: the tweet's text presented as a transcript, with the key clarification that timingSource is none (so it is not speech-to-text). This usefully separates it from the many *_transcript siblings that do speech-to-text. It does not, however, differentiate itself from twitter_tweet_details, which an agent would also consider for pulling tweet content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given. With siblings like twitter_tweet_details and twitter_user_tweets, the agent gets no cue about why it would pick this transcript endpoint over them. Usage is only weakly implied by the name and the url parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_tweet_detailsAInspect
One tweet as JSON — text, author (followers), likes/replies/retweets/quotes, media, ISO publishedAt. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral burden and does so admirably. It discloses the 1-credit cost, that empty results and failures are never charged, and the exact cache semantics (cache=true gives a free 24h hit, default is always fresh). This is rich, non-obvious operational detail well beyond a simple read action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is remarkably efficient: two sentences, front-loaded with the core deliverable, then vital cost and caching rules with zero filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only tool with no output schema, the description supplies the essential return fields and clarifies pricing and caching edge cases. The URL parameters are already fully documented in the schema, so the description is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already fully describes both url and cache, including the 0-credit cache-hit behavior. The description restates cache behavior and adds a global credit cost, but it does not truly enhance understanding of the parameters 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns one tweet as JSON and enumerates the included fields (text, author, likes/replies/retweets/quotes, media, ISO publishedAt), which distinguishes it from sibling tools like twitter_profile or twitter_user_tweets. However, it lacks an explicit verb like 'get' or 'fetch', so it stops just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this for a single tweet's details, not for profiles, user posts, or transcripts. It also provides practical guidance on when to pass cache=true. It does not explicitly name alternatives or exclusion conditions, 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.
twitter_user_tweetsAInspect
Most popular public tweets from a Twitter/X profile (~100 cap) — not chronological. Text, author, engagement, hashtags, media. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Twitter/X profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max tweets to return (default 20, max 200). Twitter's public surface usually caps around ~100 most popular posts — not chronological latest. Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well, disclosing the tweet cap, non-chronological behavior, flat credit cost, no charge on empty/failed results, and cache semantics. It stops short of covering potential auth requirements or rate limits, which keeps it from a top score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the overall length is reasonable, but the description wastes a sentence by saying 'Flat 2 credits. Costs 2 credits.' — an exact duplicate. This prevents every sentence from earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although there is no output schema, the description lists the returned fields and covers the important operational details: cap, non-chronological ordering, limit behavior, pricing, empty/failure charging, and caching. It does not specify return structure or sort order beyond 'most popular,' but it is sufficient for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents url, cache, and limit thoroughly. The description reinforces the cache and cap behavior 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely that the tool returns the most popular public tweets from a Twitter/X profile, with a ~100 cap and explicitly 'not chronological.' It also lists the content dimensions returned (text, author, engagement, hashtags, media), which makes its purpose and scope unambiguous relative to sibling tools like twitter_profile or twitter_tweet_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you want popular public tweets rather than a chronological timeline. However, it names no alternative tools and gives no explicit when-not-to-use guidance, so an agent is left to infer which sibling to select for chronological or single-tweet needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_summarizeAInspect
AI transcription + summary of an uploaded file — transcript included; 1 credit/min + 1. Costs 1 credit/min +1. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. | |
| language | No | ISO-639-1 language hint, e.g. "en" or "tr". Omit to auto-detect. | |
| translate | No | When true, translate speech to English before summarizing. Default false. | |
| timestampGranularity | No | segment (default) or word. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose meaningful behavior: billing rate (1 credit/min + 1), that empty results and failures are never charged, and cache semantics (default fresh, cache=true gives a 24h hit). It omits file retention/handling and any auth or rate-limit context, but the billing and caching disclosure is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded and the description is short, but it contains a literal duplicate ('1 credit/min + 1. Costs 1 credit/min +1.'), so not every sentence earns its place. The pricing statement is wasted repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with full schema coverage and no output schema, the description covers the essentials: what it produces (transcript + summary), what it costs, and how caching behaves. It stops short of describing return structure or failure/error semantics in detail, but nothing critical to invoking it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents all four parameters (file, language, translate, timestampGranularity) with constraints like 200MB/60min. Baseline 3 applies; the description adds no parameter detail and notably references a 'cache' argument that does not exist in the schema, which is a minor inconsistency rather than added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('AI transcription + summary of an uploaded file') and explicitly scopes it to uploads, which separates it from URL/handle-based siblings like video_transcript, youtube_summarize and tiktok_summarize. It also notes the transcript is included, so an agent knows this does more than a plain transcript tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete usage hint for caching ('Pass cache=true for a free 24h cache hit (default always fresh)'), which is real operational guidance. However, it never says when to choose this over video_transcript or the platform-specific summarize tools, so selection guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_transcriptCInspect
AI transcription of an uploaded file — 1 credit/min; noSpeech=true and 0 credits when there is no speech. Costs 1 credit/min. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Video or audio file (multipart form field — use -F file=@path, not a query string). Max 200MB / 60 minutes. | |
| language | No | ISO-639-1 language hint, e.g. "en" or "tr". Omit to auto-detect. | |
| translate | No | When true, translate speech to English. Default false. | |
| timestampGranularity | No | segment (default) or word — word-level timings when the transcription model exposes them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses cost (1 credit/min), the no-speech case (noSpeech=true, 0 credits) and that empty results/failures are never charged, which is genuinely useful. But it omits the output shape (no output schema exists), whether the call is synchronous or job-based, and what happens on files exceeding the 200MB/60min limits — critical gaps for a media-processing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Pricing is stated twice ('1 credit/min' and 'Costs 1 credit/min'), wasting a sentence. Otherwise the text is compact and front-loads the core purpose before the billing details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a file-upload tool with no annotations and no output schema, the description covers billing and caching well but leaves the return value, execution model (sync vs async), and error surface undocumented. An agent could call it, but could not predict what it gets back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description actively introduces a 'cache' parameter that does not exist in the input schema (additionalProperties is false), which could cause an invalid call. It adds nothing about language, translate, or timestampGranularity beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource — 'AI transcription of an uploaded file' — and the word 'uploaded' implicitly separates it from URL-based siblings like youtube_transcript or tiktok_transcript. However, it never names those alternatives, so the agent must infer the distinction from the phrasing alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The cache guidance ('Pass cache=true for a free 24h cache hit') and the credit pricing do inform how to call it, but there is no explicit when-to-use versus the many *_transcript siblings, and no statement about when this upload tool is preferable to a platform-specific transcript tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_audio_transcriptAInspect
Speech-to-text for YouTube audio. Use it when a video has no captions — or when you want a transcript of what was actually spoken rather than YouTube's published captions. Priced per started minute of audio. Costs 2 credits/min of audio. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. | |
| maxCredits | No | Refuse before STT when estimatedCredits would exceed this (400 cost_exceeds_max, 0 credits). The estimate is on every success and, when the extract miss is retryable, as estimatedCreditsIfRetried. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It covers pricing ('2 credits/min of audio'), failure handling ('Empty results and failures are never charged'), and cache behavior ('cache=true for a free 24h cache hit, default always fresh'). It does not describe the output format, but the operational cost and failure semantics are well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the core purpose, then pack pricing, failure policy, and cache behavior into efficient clauses. Every sentence earns its place; no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description does well by covering cost, failure charging, cache behavior, and when to use the tool. It leaves the exact return format unstated, but the name and 'transcript' purpose make the output reasonably predictable. The rich input schema compensates for the remaining gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds valuable pricing context ('2 credits/min') that directly informs the maxCredits parameter, and clarifies the cache parameter's practical benefit. While cache details already exist in the schema, the credit-cost framing goes beyond the schema's own text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Speech-to-text for YouTube audio', a specific verb plus resource, and clearly differentiates itself from caption-based tools by noting it captures what was actually spoken rather than YouTube's published captions. This makes it distinguishable from sibling tools like youtube_transcript and video_transcript without needing to inspect their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'Use it when a video has no captions — or when you want a transcript of what was actually spoken rather than YouTube's published captions.' It clearly implies an alternative caption-based path, but it does not name the specific sibling tool, so the exclusion is slightly less direct than ideal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_detailsAInspect
YouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It does well by disclosing pricing ('Flat 1 credit'), the no-charge policy for empty results and failures, and cache behavior with a 24h free hit and default fresh fetch. It does not cover rate limits or error response details, but it provides substantial operational transparency for a read-only stats tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the key result fields, but it contains redundancy: 'Flat 1 credit' and 'Costs 1 credit' say the same thing, and the cache sentence largely repeats the schema description. Every sentence should earn its place, and two do not add unique value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially fills the gap by listing several return fields and billing/cache behavior. However, it does not indicate whether common channel stats such as subscriber count, total views, or channel title are included, nor does it describe error conditions beyond the no-charge note. An agent could still invoke it correctly, but the return shape is not fully specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for both parameters: url documents accepted formats and cross-platform restrictions, and cache documents the 24h cache and 0-credit behavior. The description mostly repeats or condenses this schema information rather than adding new parameter-level meaning, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (YouTube channel) and the operation (returning stats/details), and enumerates the specific data fields returned: ISO country, createdAt, banner, SEO tags, and links. This distinguishes it from sibling tools like youtube_channel_videos or youtube_channel_playlists, which target different content types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and 'YouTube channel stats': an agent can infer this is for channel metadata rather than videos, playlists, shorts, or streams. However, the description does not explicitly state when to use this tool instead of those siblings, nor does it mention exclusions or preferred alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_playlistsAInspect
Channel playlists with cursor pagination — id, title, totalVideos, thumbnailUrl. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does well: it discloses cursor pagination, per-page flat pricing, free cache-hit behavior, and that empty results/failures are not charged. It stops short of mentioning rate limits or the precise response structure, but it adds substantial operational context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key facts are front-loaded and the description is compact. The only waste is the near-redundant pair of pricing statements ('Flat 2 credits/page. Costs 2 credits.'), which slightly lowers the score from 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description names the response fields and explains cursor pagination and cache usage, so an agent can call and interpret the first page correctly. It would be more complete with an explicit mention of the nextCursor field in the response and the default/max limit, though those are covered by the input schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description's cursor and cache hints reinforce the schema but add little new semantic meaning. The flat-credit note is operationally useful but not parameter-binding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a channel's playlists and enumerates the returned fields (id, title, totalVideos, thumbnailUrl), which distinguishes it from generic youtube_playlist or youtube_channel_videos siblings. It lacks an explicit verb like 'get' or 'list', but the intent is unambiguous from name and text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear for retrieving playlists of a YouTube channel, and the URL parameter guidance in the schema hints at the input format. However, the description never states when to choose this tool over siblings such as youtube_playlist, youtube_playlist_videos, or youtube_channel_videos, and it gives no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_shortsAInspect
Channel Shorts with cursor pagination — same row shape as channel-videos (exact publishedAt). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses cursor pagination, output row shape equivalence, exact publishedAt behavior, the 2-credit cost, that empty results and failures are never charged, and cache semantics. This goes well beyond minimal disclosure, though it stops short of mentioning rate limits or auth requirements, which would be expected for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: the first states the core function and row-shape guarantee, the second covers cost and failure policy, the third explains cache behavior. All information is relevant and front-loaded, with the most distinguishing detail (channel-videos row shape) placed early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers pagination, cost, cache, failure policy, and output shape via a pointer to channel-videos. Since there is no output schema, the row-shape reference is helpful but assumes knowledge of the sibling tool's return fields. For a small-parameter list tool, this is nearly complete, though a couple of example output fields would fully close the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds context about cursor pagination and cost, but those are also reflected in the schema's parameter descriptions (cache, cursor). It does not add new parameter-level semantics beyond what the schema already provides, so the baseline holds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('Channel Shorts') and key capability (cursor pagination), and references 'same row shape as channel-videos' to hint at sibling differentiation. However, it lacks an explicit verb like 'List' or 'Fetch,' relying on the tool name and noun phrase to convey action. It is clear enough to distinguish from channel-videos, streams, and playlists, but not as explicit as it could be.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention of 'same row shape as channel-videos' implies a relationship to that sibling tool, and 'Channel Shorts' signals when to use it, but the description never explicitly states 'use this for shorts, channel-videos for regular videos' or names exclusions. Usage context around pagination, credits, and caching is provided, so the agent gets some guidance but must infer the selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_streamsAInspect
Channel Live tab only — liveStatus per row; 0 credits when hasLiveTab is false. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits when hasLiveTab is true; 0 credits when hasLiveTab is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It provides useful transparency about credit costs, zero-credit behavior when hasLiveTab is false, empty/failure charging, and cache semantics. Some cost and cache details repeat what is already in the schema, but the added 'empty results and failures are never charged' policy and the Live-tab-only scope are genuinely valuable beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences that front-load scope first ('Channel Live tab only') and then efficiently cover cost, failure charging, and cache behavior. There is no filler, and every clause contributes decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple 3-parameter tool with no output schema, the description plus the schema cover the essential selection and invocation context: which channel tab is read, accepted URL formats, limit behavior, cache behavior, and charge implications. The main gap is that the return shape is only hinted at via 'liveStatus per row', but this is minor given the otherwise rich parameter documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mostly restates cache and credit behavior already present in the cache and limit parameter descriptions, and it adds no new meaning for the url parameter. The schema itself already documents URL formats, platform-matching constraints, default/max limit values, and credit conditions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name youtube_channel_streams combined with 'Channel Live tab only — liveStatus per row' tells an agent that the tool targets a YouTube channel's Live tab and returns per-row live status. It lacks an explicit verb like 'retrieve' or 'list', but it is specific enough to distinguish the tool from sibling endpoints such as youtube_channel_videos, youtube_channel_shorts, and youtube_channel_playlists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through 'Channel Live tab only' and the cache/cost behavior, but it never explicitly says 'use this when you need live streams' or names alternatives. An agent has to infer when to pick this over related sibling tools like youtube_channel_videos or youtube_channel_playlists, so usage guidance is only partially explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_videosAInspect
Channel uploads with cursor pagination — exact publishedAt from reel_item_watch (same as channel-shorts). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| fast | No | Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and discloses several meaningful traits: cursor pagination, exact publishedAt sourcing, a 2-credit cost, no charge for empty results/failures, and cache semantics. It does not describe response structure or error behavior, but the disclosed operational details go well beyond the name and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: purpose and pagination come first, followed by cost, failure/charging policy, and caching. Every sentence carries distinct useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers operational essentials like cost, caching, and pagination, but with no output schema and no annotations it leaves out response shape, sort order, and explicit sibling differentiation. For a 5-parameter 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents url, fast, cache, limit, and cursor. The description adds a little extra meaning by explaining the cache=true benefit and the flat credit cost, but it does not materially deepen understanding of individual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (YouTube channel uploads) and the pagination mechanism, and the phrase 'same as channel-shorts' hints at consistency with a sibling tool. However, it lacks an explicit verb like 'list/retrieve' and does not directly contrast with youtube_channel_streams or youtube_channel_playlists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to choose this tool over siblings such as youtube_channel_shorts, youtube_channel_streams, or youtube_channel_playlists. The description only gives operational guidance about caching and credits, not tool-selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_comment_repliesAInspect
Replies under a top-level comment — parentReplyCount + cursor. Nested reply ids return 404. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| commentId | Yes | ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full behavioral disclosure. It reveals the 2-credit cost, the no-charge guarantee for empty/failed calls, the cache behavior with cache=true, the pagination cursor pattern, and the 404 failure mode for nested IDs. This is unusually transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and efficient, with every sentence carrying distinct value: scope, failure behavior, cost, cache, and freshness. The most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers cost, caching, pagination, and failure behavior, which is strong for an endpoint with no output schema or annotations. A minor gap is that the response payload beyond parentReplyCount and cursor is not described, but the tool name and schema largely compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces cursor and cache semantics and mentions parentReplyCount, but it does not add meaningful parameter meaning beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise resource ('Replies under a top-level comment') and a specific verb ('fetch'), making the tool's job unmistakable. It also differentiates from siblings by platform and by comment level, and the 'Nested reply ids return 404' line clarifies exactly which comments are acceptable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the intended input is a top-level comment and warns against nested reply IDs. It does not explicitly name the sibling alternatives like youtube_comments or youtube_shorts_comments, but the scope is clear enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_commentsAInspect
Get comments on any YouTube video — text, author, likes, and truncated publishedTimeApprox from the relative label, with cursor pagination (nextCursor + hasMore). Flat 2 credits per call; 0 when the video has comments turned off (commentsDisabled: true). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a solid job: it discloses the exact credit cost (flat 2, free on cache hit, free on empty results/failures, 0 when commentsDisabled), the 24h cache TTL, and pagination semantics (nextCursor + hasMore). It omits auth/permission requirements and rate limits, but the pricing and pagination disclosure is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the returned fields, then pagination, then cost. It is slightly padded by restating the price twice ('Flat 2 credits per call' then a standalone 'Costs 2 credits') and repeating the cache behavior already in the schema, but otherwise every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or annotations, so the description must compensate, and it largely does by naming the return fields, the pagination contract, and the billing edge cases. The lack of any auth/permission note and only partial output structure keep it short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description goes slightly beyond by tying cursor pagination to the returned nextCursor/hasMore and by explaining that the 2-credit cost and the zero-cost commentsDisabled case apply per call. It adds real meaning about cost implications not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get comments on any YouTube video') and enumerates the returned fields (text, author, likes, publishedTimeApprox), so the agent knows exactly what it fetches. It does not, however, distinguish itself from close siblings such as youtube_comment_replies or youtube_shorts_comments, leaving that differentiation to the reader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is limited to parameter behavior ('Pass cache=true for a free 24h cache hit') rather than tool selection. There is no statement of when to choose this over youtube_comment_replies or youtube_shorts_comments for related content, so context is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_community_post_detailsAInspect
One community post — list schema + commentCount trio + isEdited. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube community post URL (/post/Ugkx… or /community?lb=). Trailing whitespace is stripped. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It usefully discloses the 1-credit cost, that empty results and failures are not charged, and that cache=true provides a free 24-hour cache hit while the default is a fresh fetch. This goes well beyond basic operation, though it does not cover authentication, rate limits, or response error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact and front-loads the core purpose in the first clause. Every sentence adds distinct information: scope, output fields, cost, billing behavior, and cache behavior. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool, the description covers the main calling concerns: what is returned, cost, failure charging, and caching. However, there is no output schema, and the phrase 'list schema + commentCount trio + isEdited' is cryptic and does not clearly describe the response structure, leaving an agent uncertain about the exact return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both url and cache parameters thoroughly. The description mostly restates the cache behavior already present in the schema ('free 24h cache hit' vs. '0 credits on hit'), adding little new semantic value for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'One community post', which clearly identifies the tool as retrieving details for a single YouTube post rather than a list, and it names specific output fields (list schema, commentCount trio, isEdited). It distinguishes itself from the plural sibling youtube_community_posts, though it lacks an explicit verb like 'fetch' or 'retrieve' and uses some jargon such as 'commentCount trio'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The singular framing 'One community post' implies this tool is for individual post details, which contrasts with the sibling youtube_community_posts. However, it never explicitly states when to choose this tool over alternatives or when not to use it, and it does not reference any sibling by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_community_postsCInspect
Community posts — channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 1 credit per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden and does add useful context: 1-credit cost, no charge for empty results or failures, 24h cache behavior, and default fresh fetching. However, the listed response fields are unexplained and pagination semantics are only hinted at through 'cursor', leaving the behavioral picture incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but structurally muddled: the opening is a fragment with unexplained field names, and 'cursor (1 credit)' appears redundant with the following 'Costs 1 credit.' It is not cleanly front-loaded and some tokens are ambiguous, so the brevity does not translate into clear conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify what the response contains, but the bare field names (channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[]) are left unexplained. Pagination is only hinted at via 'cursor', and there is no explicit statement of return shape, ordering, or how this endpoint relates to sibling community-post tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, limit, and cursor in detail. The description only repeats cache and cursor concepts without adding new parameter meaning, formats, defaults, or constraints, so 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and opening phrase make it clear this relates to YouTube community posts, and the schema's url parameter confirms a channel-level resource. However, the description contains no verb and is written as a fragment listing fields (channel{}, publishedTimeApprox, likeCountIsApproximate, linkedVideos[], cursor), so it does not explicitly say 'list community posts for a channel' or distinguish itself from youtube_community_post_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus youtube_community_post_details or youtube_channel_videos. The only usage hint is 'Pass cache=true for a free 24h cache hit', which is a parameter-level optimization rather than a selection criterion or alternative-routing instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_hashtag_searchAInspect
Videos from youtube.com/hashtag/{name} — nested channel{}, viewCountIsApproximate. Not keyword search. Costs ~20 credits (1/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Hashtag with or without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Returns a single window; use limit to size it. No cursor. Billed per result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It reveals meaningful behaviors beyond the schema: output includes nested channel{}, viewCount may be approximate, cost is ~20 credits per result with no charge for empty results or failures, and default freshness versus cache behavior. This is strong context for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, structured with clear clauses, and every phrase earns its place. It front-loads the core resource and differentiator, then packs cost, cache, and error semantics into a short paragraph with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description provides valuable return-shape hints (nested channel{}, viewCountIsApproximate) along with cost, cache, and failure behavior. It does not enumerate every video field or sort order, but it gives enough operational detail for an agent to invoke the tool and interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces cache behavior and cost-per-result, which connects to the limit parameter, but it does not add new meaning beyond what the schema already documents for q, cache, and limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely identifies the resource: videos from youtube.com/hashtag/{name}. The explicit 'Not keyword search' sentence distinguishes this tool from youtube_search and other search siblings, so an agent can tell them apart immediately. Though no verb like 'fetch' appears, 'Videos from...' unambiguously conveys the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The definition clearly states what this tool is not ('Not keyword search'), giving an explicit exclusion that routes agents away from keyword-style queries. It also gives practical guidance on when to pass cache=true. However, it does not explicitly name the alternative tool (e.g., youtube_search) for keyword use, so the guidance is clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_playlistAInspect
Playlist metadata only — title, channel{}, totalVideos, thumbnailUrl. No videos[]. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the load. It discloses pricing ('Flat 1 credit'), billing safety ('Empty results and failures are never charged'), and cache behavior ('free 24h cache hit'). It could add error/auth details, but the key run-cost and failure-cost behaviors are well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core scope is front-loaded and every clause earns its place, but 'Flat 1 credit. Costs 1 credit.' is a redundant repetition that could be collapsed into one phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two simple parameters, a fully-covered schema, and no output schema, the description supplies what is missing: return fields, the crucial exclusion of videos, cost, failure-charge policy, and cache behavior. An agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already defines url and cache. The description's cache sentence adds practical context but mostly restates what the cache parameter description says ('24h response cache (0 credits on hit)', 'Default false'). No meaningful new parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a precise scope: 'Playlist metadata only' and enumerates exact fields (title, channel{}, totalVideos, thumbnailUrl). The explicit 'No videos[]' draws a clear line against the sibling youtube_playlist_videos, so an agent can select it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly communicates when to use this tool: when only playlist metadata is needed, and 'No videos[]' rules out use when videos are required. It also gives a direct cache usage instruction. However, it never names the alternative youtube_playlist_videos explicitly, so the exclusion is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_playlist_videosAInspect
Paginated playlist contents — cursor/nextCursor/hasMore, same row shape as channel-videos. Flat 2 credits/page. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| fast | No | Set true to use YouTube RSS for faster results with less detailed metadata. Leave false when viewCount/duration quality matters. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so exceptionally well. It discloses pagination mechanics (cursor/nextCursor/hasMore), flat per-page credit cost, free 24-hour cache behavior, and that empty results and failures are never charged. This gives the agent a strong, accurate behavioral model before invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four compact sentences with no fluff. It front-loads the core purpose, then packs cost, pagination, failure billing, and caching into dense but scannable clauses. Every sentence adds behavioral or usage-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description reasonably explains the return envelope via cursor/nextCursor/hasMore and refers to a known row shape from channel-videos. It also covers cost, cache, and failure behavior. It is slightly dependent on the agent knowing what channel-videos returns, which prevents a perfect score, but it is otherwise complete for a paginated-list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds further meaning by clarifying pagination contract (returned nextCursor value), the distinction between cache and fresh fetches, and the per-page cost tied to limit usage. These details go beyond the schema properties and help the agent reason about trade-offs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving paginated playlist contents, which aligns with the name youtube_playlist_videos. It references a specific row shape shared with channel-videos, which gives some orientation, but it does not explicitly differentiate this tool from siblings like youtube_playlist or youtube_channel_playlists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys clear usage context: paginated listing, cursor-based pagination, caching options, and costs. However, it never explicitly states when to choose this tool over alternatives such as youtube_playlist or youtube_channel_videos, nor does it provide exclusions or comparison conditions. The 'same row shape as channel-videos' hint is indirect rather than actionable routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_searchAInspect
YouTube search with cursor pagination — typed hits, ids, canonical URLs, filters (2 credits/page, 0 when a page finds nothing). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query or keywords (min 2 characters). | |
| type | No | all | videos | shorts | channels | playlists. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 200). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. | |
| region | No | ISO country code for localized results (default US). | |
| sortBy | No | relevance | views (alias: popular→views). date and rating answer 400 SORT_NOT_SUPPORTED: YouTube no longer orders search by upload date (use uploadDate) or by rating. With type=shorts only relevance is supported. | |
| duration | No | any | under_4 | 4_20 | over_20. Applies to long-form videos (not Shorts). | |
| uploadDate | No | any | today | this_week | this_month | this_year. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to lean on, the description carries the burden well: it discloses billing behavior (2 credits/page, free when a page finds nothing, empty results and failures never charged) and the cache trade-off (free 24h hit vs default always-fresh). It omits auth requirements and rate limits, but the cost/charge semantics are the high-value behavioral facts here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and pagination are front-loaded, and the sentence lengths are tight. The credit cost is restated three times ('2 credits/page', 'Costs 2 credits', 'never charged'), which is slightly redundant but not egregious.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter search tool with no output schema and no annotations, the description covers the essentials an agent needs: pagination via cursor, billing, caching, and the fact that results are typed hits with URLs. It could say more about the result envelope, but the core calling contract is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter is already documented, including the SORT_NOT_SUPPORTED quirks for sortBy and the credit cost tied to limit. The description reinforces pagination and cost-per-page but adds little the schema does not already say, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (YouTube) and immediately scopes it with the payload ('typed hits, ids, canonical URLs, filters') and pagination model. An agent can tell this is a discovery/search tool distinct from detail or transcript siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operational guidance on the cache parameter (when to pass cache=true vs the default fresh fetch), but it never states when to reach for youtube_search versus near-neighbors like youtube_hashtag_search, youtube_trending_shorts, or the platform search siblings. Usage is implied by the search verb rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_shorts_commentsAInspect
Comments on a YouTube Short — rejects long-form videos (≤3 min only). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 50, max 500). Flat 2 credits per call. | |
| cursor | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it does well: it discloses the 2-credit cost, no charge on empty results or failures, the 24h cache behavior, and the long-form rejection. It doesn't cover rate limits or auth, but the key operational edge cases for a read-only comments fetch 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core scope constraint comes first, followed by cost and caching behavior. There is minor redundancy with the cache parameter's schema description, but the overall size is well controlled and no fluff is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters and no annotations or output schema, but the schema descriptions are rich and the top description adds cost, error behavior, and cache semantics. The only notable gap is the absence of any detail about the response shape beyond the cursor hint, which is not critical for selecting or invoking this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents defaults, max limit, pagination cursor behavior, URI format, and platform matching. The top description adds mostly cost and cache policy, which is useful but not parameter-specific. Since the schema handles parameter semantics fully, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: getting comments on a YouTube Short, with an explicit ≤3-minute constraint. It clearly distinguishes itself from generic YouTube comment tools by rejecting long-form videos, which is relevant given siblings like youtube_comments and youtube_comment_replies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description and url parameter give clear guidance: use for Shorts only, long-form returns HTTP 422 and should go to a /v1/youtube/… endpoint instead. The cache=true hint also tells agents when to use the cheaper path. It doesn't explicitly name the exact alternative endpoint, but the routing guidance is strong enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_shorts_detailsAInspect
YouTube Short metadata — same schema as Video Details, with isShort:true; long-form videos get HTTP 422. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently covers cost per request, that empty results and failures are not charged, the 422 error behavior for long-form videos, and the cache semantics. This gives an agent a strong, accurate picture of what happens when invoking 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and every sentence adds value: scope, schema similarity, error behavior, pricing, refund policy, and cache option. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only two parameters, full schema coverage, and no output schema, the description is complete enough. It addresses what the tool returns conceptually, error conditions, cost, cache behavior, and the alternative endpoint for long-form videos, covering everything an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters fully. The description adds tone and cost context around cache, but it largely mirrors the schema's meaning rather than introducing new parameter semantics. The baseline of 3 is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns YouTube Short metadata, explicitly scoped to Shorts with isShort:true, and differentiates it from the long-form video endpoint by noting HTTP 422 for non-Shorts. This makes the tool's purpose distinct and immediately understandable among many sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says long-form videos return HTTP 422 and to use the matching /v1/youtube/… endpoint instead, giving a clear when-not-to-use condition. It also provides guidance on the cache parameter, telling users when to pass cache=true for a free 24h cache hit versus the default fresh fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_shorts_summarizeAInspect
AI summary of a YouTube Short — rejects long-form videos (≤3 min only). Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and delivers: pricing ('Costs 3 credits'), failure-charge policy ('Empty results and failures are never charged'), and caching semantics ('cache=true for a free 24h cache hit (default always fresh)'). These are exactly the non-obvious behavioral traits an agent needs to predict the cost and side effects of an invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with zero filler: purpose is front-loaded, constraints and cost follow immediately, then cache guidance. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-param tool with no annotations and no output schema, the description covers purpose, input constraints, cost, failure policy, and cache behavior — all needed for correct invocation. The only gap is that the returned summary's format or verbosity is never described, which is notable given there is no output schema to fill that in.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already fully documents url, cache, and language. The description's mention of cache=true and the credit cost is largely redundant with the schema's own '0 credits on hit' note, adding marginal but non-essential value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('AI summary of a YouTube Short') and immediately adds the defining scope constraint ('rejects long-form videos ≤3 min only'). This clearly separates it from youtube_summarize/video_summarize and other platform summarize siblings even before the schema's 422 note is read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool (Shorts only, ≤3 min) and the schema explicitly warns 'Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead' and cautions against cross-platform URLs. However, the alternative endpoint is referenced generically rather than naming the sibling tool (youtube_summarize), so an agent must infer which sibling that is.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_shorts_transcriptAInspect
Transcript for a YouTube Short — rejects long-form videos (≤3 min only). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube Shorts URL, e.g. https://youtube.com/shorts/ID (≤3 min). Long-form videos return HTTP 422 — use the matching /v1/youtube/… endpoint instead. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and handles it well. It discloses cost ('Costs 1 credit'), failure policy ('Empty results and failures are never charged'), caching behavior ('free 24h cache hit' vs 'default always fresh'), and the long-form rejection behavior. These are meaningful operational traits beyond what the schema reveals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: purpose, duration constraint, cost, failure policy, cache behavior, and default. It is front-loaded with the core action and differentiator, and contains no filler or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description covers the key decision factors: what the tool does, when it fails, what it costs, how caching works, and where to route long-form videos. Combined with 100% parameter coverage, nothing essential is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 extra value by explaining credit cost, cache semantics, and that cache=true yields a free hit while default is always fresh. It also reinforces the URL platform-matching constraint found in the schema, though it doesn't add new meaning for the language parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact purpose — 'Transcript for a YouTube Short' — and immediately adds a distinguishing constraint: 'rejects long-form videos (≤3 min only)'. This clearly separates it from general youtube_transcript and other video transcript tools without requiring schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is explicit: it tells the agent this tool only accepts Shorts under 3 minutes, and the URL parameter description directs long-form videos to 'the matching /v1/youtube/… endpoint instead'. It also warns against cross-platform URLs, leaving no ambiguity about when this tool should or shouldn't be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_summarizeAInspect
AI summary from YouTube's published captions — same source as /transcript. Flat 3 credits; caption-miss 404 is free. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a good job on the operational side: flat 3-credit cost, free caption-miss 404, no charge for empty results or failures, and cache-hit behavior. What is missing is output behavior—it never says what the summary output looks like (length, format, language of output), which matters for a summarization tool. Still, the billing/caching/error transparency is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it is redundant: 'Flat 3 credits' and 'Costs 3 credits' state the same fact twice, and the cache point partially repeats the schema. Sentences earn their place individually but the repetition costs it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should ideally explain the return value. It thoroughly covers cost, caching, and error charging, but omits any description of the summary output itself, which is the core of a summarization tool. Adequate but with a clear gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, cache, and language. The description reinforces the cache parameter ('free 24h cache hit, default always fresh') but adds little beyond the schema, and says nothing extra about url or language. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: an 'AI summary from YouTube's published captions'. It also clarifies provenance by equating the source with '/transcript', which helps distinguish it from the youtube_transcript sibling. It does not, however, differentiate from video_summarize or youtube_shorts_summarize, leaving some sibling ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is implied rather than explicit: by saying the source is the 'same source as /transcript', an agent can infer that this is the summarized counterpart to youtube_transcript. There is no explicit when-to-use/when-not, no mention of the shorts/long-form distinction, and no alternative routing guidance. Most of the text is pricing rather than usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_transcriptAInspect
YouTube's published captions with timestamps — not speech-to-text. Flat 1 credit; 404 is free. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| language | No | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No hay anotaciones, por lo que la descripción asume toda la responsabilidad de transparencia. Aporta información útil sobre costos ('Flat 1 credit; 404 is free'), ausencia de cargos por fallos/resultados vacíos, y comportamiento de caché ('Pass cache=true for a free 24h cache hit'). Falta mencionar detalles como el formato exacto de retorno o posibles límites, pero cubre bien los aspectos clave de comportamiento.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
La descripción es breve (tres frases) y va al grano: primero define qué es, luego el costo y finalmente el comportamiento de caché. No hay relleno y cada oración contribuye a la comprensión del funcionamiento de la herramienta.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
La herramienta tiene 3 parámetros, no tiene output schema ni anotaciones. La descripción cubre el tipo de datos, el costo, el manejo de errores y el caché. Sería más completa con una nota sobre el formato de respuesta o una referencia a alternativas para otras plataformas (p.ej., video_transcript), pero en general es suficiente para un uso correcto.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
La cobertura del esquema es del 100%, por lo que el baseline es 3. La descripción no añade significado adicional a los parámetros: el parámetro 'cache' ya se explica en el schema ('0 credits on hit') y la descripción solo repite esa información. No aporta contexto nuevo sobre 'url' o 'language'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Descripción comienza con 'YouTube's published captions with timestamps — not speech-to-text', identificando claramente el recurso (subtítulos publicados de YouTube) y el formato (con marcas de tiempo). Diferencia de speech-to-text, aunque no distingue explícitamente de hermanos como youtube_shorts_transcript o video_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
La frase 'not speech-to-text' proporciona una indicación de cuándo no usar esta herramienta, sugiriendo que otras herramientas (como youtube_audio_transcript) son para audios transcritos. Sin embargo, no se nombran alternativas explícitas ni se dan reglas claras de selección entre los múltiples transcriptores de la lista de herramientas hermanas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_trending_shortsAInspect
YouTube Shorts recommendation sequence — fixed window per call (no cursor), not a global chart. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional topic seed for the Shorts recommendation sequence. Omit (or pass trending/shorts) for the default reel feed — not a keyword search. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| limit | No | Max items to return (default 20, max 100). Returns a single window; use limit to size it. No cursor. Flat 2 credits per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses the 2-credit cost, free 24h caching behavior, default fresh fetch, no-cursor fixed-window design, and that empty results/failures are not charged. It doesn't describe rate limits or the exact failure mode, but the most material behaviors are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and every sentence adds distinct value: scope, pagination model, pricing, failure billing, and caching. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Operational context is strong—pricing, cache, failures, and pagination are covered—but with no output schema, the description does not explain what the returned recommendation items look like (e.g., video IDs, titles, URLs). That is a meaningful gap for an agent deciding whether the result satisfies a request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mostly restates information already in the schema (cache behavior, no cursor, cost). It adds a little color around 'topic seed' but does not materially improve on the schema's own parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as "YouTube Shorts recommendation sequence" and clarifies a key distinction: it is not a global chart and not a keyword search. This is specific enough to separate it from siblings like youtube_channel_shorts or youtube_search, though it lacks an explicit verb like 'returns' or 'fetches'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context for when to use the tool: it serves a fixed recommendation window, not a global chart, and the q parameter is a topic seed, not a keyword search. It doesn't name alternative sibling tools explicitly, but the exclusions are clear enough to guide an agent toward appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_video_detailsAInspect
YouTube video metadata + stats. Always includes degraded / degradedReason — retry when degraded is true. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does an excellent job: it discloses degraded-response behavior with retry guidance, credit costs, no-charge policy for empty/failed results, and cache semantics. This goes well beyond a basic one-line tool description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: purpose, degraded behavior, credit cost, no-charge policy, and cache usage. It is tight, front-loaded, and avoids boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers the key operational contexts: when to retry, cost implications, and caching trade-offs. It does not enumerate returned metadata/stats fields beyond degraded/degradedReason, but the high-level 'metadata + stats' plus the explicit operational details are sufficient for the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The in-schema url and cache descriptions are extensive and self-sufficient; the tool description mostly restates cache behavior without adding materially new parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes the tool clearly as 'YouTube video metadata + stats,' which distinguishes it from YouTube sibling tools focused on transcripts, summaries, or audio. The impied verb is 'fetch details,' so the purpose is understandable, but it does not explicitly name the siblings it is not or define an exclusion boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: if an agent needs YouTube video metadata and stats, this is the tool. It also gives operational guidance such as retrying when degraded is true and using cache=true for free cached results. However, it does not explicitly state when to choose this over sibling tools like youtube_video_transcript or youtube_video_summarize.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_video_sponsorsBInspect
SponsorBlock community segments — free while the CC BY-NC-SA commercial-use exception is pending. Costs 0 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public YouTube video URL, e.g. https://youtube.com/watch?v=ID. Not a TikTok/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. | |
| cache | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. | |
| minVotes | No | Minimum SponsorBlock votes to keep a segment. Default 0 (drops community-rejected votes < 0). | |
| categories | No | Comma-separated categories. Default sponsor,selfpromo,interaction. Also intro,outro,preview,music_offtopic,poi_highlight,filler. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: it is free, empty/failed calls are not charged, and cache=true gives a 24-hour hit while the default is always-fresh. It does not cover response format, pagination, or any output semantics, but the cost and freshness model is a genuine beyond-schema contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core resource before behavioral details. Some redundancy exists ('free...', 'Costs 0 credits', 'free 24h cache hit') and the first fragment is not a complete sentence, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description gives enough to invoke it but not enough to deeply interpret results. It omits what a SponsorBlock segment looks like and any guidance on limitations or licensing implications. The cost/cache focus is useful, but overall context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description mostly repeats cache and credit behavior already present in the schema. It adds no new meaning for url, minVotes, or categories. This is acceptable but not value-adding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (SponsorBlock community segments for a YouTube video) and the unique domain, making the purpose fairly clear from name plus content. However, it lacks a concrete verb such as 'retrieve' or 'list' and does nothing to distinguish itself from the many youtube_* siblings. The url parameter and category names help, but the purpose is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to prefer this tool over alternatives such as youtube_video_details, video_summarize, or youtube_transcript; it only discusses pricing and caching. The schema's URL warning is a constraint, not a selection guideline. An agent is left to infer when SponsorBlock segments are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
facebook_ad_library_company_ads3 fields changed- added
Input schema / properties / end_dateAdded value: +{ + "description": "Only ads shown (delivered) on or before this date (YYYY-MM-DD).", + "type": "string" +} - added
Input schema / properties / sort_byAdded value: +{ + "description": "Meta sort mode: total_impressions or relevancy_monthly_grouped. Omit for Meta's default ranking (top ads by impressions first).", + "type": "string" +} - added
Input schema / properties / start_dateAdded value: +{ + "description": "Only ads shown (delivered) on or after this date (YYYY-MM-DD). Delivery-date window, not a start-date filter: an ad that started earlier but was still running in the range is included.", + "type": "string" +}
- Changed
facebook_ad_library_search2 fields changed- changed
Input schema / properties / end_date / descriptionPrevious value: -"Only ads with delivery start on/before this date (YYYY-MM-DD)."New value: +"Only ads shown (delivered) on or before this date (YYYY-MM-DD)." - changed
Input schema / properties / start_date / descriptionPrevious value: -"Only ads with delivery start on/after this date (YYYY-MM-DD)."New value: +"Only ads shown (delivered) on or after this date (YYYY-MM-DD). Delivery-date window, not a start-date filter: an ad that started earlier but was still running in the range is included."
- Changed
rumble_channel_videos1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Rumble channel URL, e.g. https://rumble.com/c/name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."New value: +"Rumble channel or user URL, e.g. https://rumble.com/c/name or https://rumble.com/user/name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble."
1 tool update
- Changed
pinterest_search2 fields changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the SERP window (max 40)."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the search window (max 40)." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 25, max 200). Billed per result."New value: +"Max items to return (default 25, max 200). Flat 2 credits per call."
1 tool update
- Changed
kick_clip1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Channel mode only — max recent clips to return (default 30, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — Kick returns a single page."New value: +"Channel mode only — max recent clips to return (default 20, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — one response holds up to limit clips."
1 tool update
- Changed
threads_user_posts1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 100). Threads exposes only a short window of recent public posts on this surface. limit caps what you receive; it cannot increase what Threads returns. Flat 2 credits on every successful path (native and extended)."New value: +"Max items to return (default 20, max 100). Threads exposes only a short window of recent public posts on this surface. limit caps what you receive; it cannot increase what Threads returns. Flat 2 credits on every successful call."
2 tool updates
- Changed
facebook_marketplace_search2 fields changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Opaque pagination cursor from a previous nextCursor."New value: +"Opaque pagination cursor from a previous nextCursor. A cursor this endpoint did not issue is 400 INVALID_CURSOR." - changed
Input schema / properties / details / descriptionPrevious value: -"When true, adds description/condition/coordinates/full photo gallery/seller/distanceMiles — billed as 2 + 2 credits per listing. Default false → flat 2 credits; cover photo is still in image."New value: +"When true, adds description/condition/coordinates/full photo gallery/seller/distanceMiles — billed as 2 + 2 credits per enriched listing (listings the 90s deadline did not reach ship as search cards with truncatedReason=enrich_deadline and are not billed the extra 2). Default false → flat 2 credits; cover photo is still in image."
- Changed
google_maps_business_search1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max businesses to return (default 20, max 100). Not a page cursor — there is no next page. Flat 2 credits on every successful call, including zero businesses."New value: +"Max businesses to return (default 20, max 100). Not a page cursor — there is no next page. Flat 2 credits per call; zero businesses is 0 credits."
5 tool updates
- Changed
tiktok_channel_posts1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Native serves cost a flat 2 credits; extended serves scale with returned posts — 1 credit per 20, minimum 2 (200 posts = 10 credits)."New value: +"How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per successful call."
- Changed
tiktok_popular_creators1 field changed- changed
Input schema / properties / follower_count / descriptionPrevious value: -"Optional range on the For You / fallback path: 10k-100k, 100k-1m, 1m-10m, >10m."New value: +"Optional range on the For You ranking: 10k-100k, 100k-1m, 1m-10m, >10m."
- Changed
tiktok_search_by_hashtag1 field changed- changed
Input schema / properties / region / descriptionPrevious value: -"Two-letter ISO 3166-1 country our request is sent from. Default US. Does not filter results by country."New value: +"Two-letter ISO 3166-1 country code. Default US. Accepted for compatibility; does not filter results by country."
- Changed
tiktok_search_users1 field changed- changed
Input schema / properties / fallback / descriptionPrevious value: -"Opt into the slower fallback path when native search is unavailable (~2 min, capped at 100 s, degraded-empty on timeout). Default false — return an empty degraded page (0 credits) instead."New value: +"Deprecated — no effect, removed on 2026-12-17. Sending it adds an X-Captapi-Warning response header. When native search is unavailable the response is an empty degraded page (0 credits)."
- Changed
youtube_search1 field changed- changed
Input schema / properties / sortBy / descriptionPrevious value: -"relevance | date | views | rating (alias: popular→views)."New value: +"relevance | views (alias: popular→views). date and rating answer 400 SORT_NOT_SUPPORTED: YouTube no longer orders search by upload date (use uploadDate) or by rating. With type=shorts only relevance is supported."
1 tool update
- Changed
google_maps_business_search1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"Place name as City,Region,Country, for example Austin,Texas,United States. When set, locationCode is not used and is left out of the response. A free-text city alone (austin) is not a place name."New value: +"Place name: City, Country or City, Region, Country — for example Austin, TX, Istanbul, Turkey, Paris, France, or a country such as Germany. Case, accents, US state codes, and country aliases (USA, UK, Turkey) are handled. A city name shared by several places (Paris) returns 400 with suggestions. When set, the locationCode parameter is ignored."
4 tool updates
- Changed
facebook_group_posts1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 200). Flat 2 credits per call."New value: +"Max posts to return (default 20, max 200; up to 80 per call — above that you get 80 with truncatedReason per-call-cap). Billed 1 credit per returned post, minimum 2."
- Changed
tiktok_popular_hashtags1 field changed- changed
Input schema / properties / query / descriptionPrevious value: -"Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (25s); a miss falls through to related tags for fyp (source=niche_fallback) and opens a service-wide chart circuit. Later default calls skip the chart (chartStatus=skipped_circuit_open) until the cooldown expires. Any other value skips the chart."New value: +"Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (10s cap); a miss falls through to related tags for fyp (source=niche_fallback) and opens a chart circuit for that country/period/page/industry. Later calls with the same chart parameters skip the chart (chartStatus=skipped_circuit_open) until the cooldown expires. Any other value skips the chart."
- Removed
tiktok_popular_songs - Changed
tiktok_search_by_hashtag1 field changed- changed
Input schema / properties / q / descriptionPrevious value: -"Single hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/search/top for a keyword query."New value: +"Single hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/top-search for a keyword query."
1 tool update
- Changed
tiktok_music_posts1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 200). Flat 2 credits per call."New value: +"Most videos to return (default 20, 1–50; outside that range is a 400). TikTok serves this feed in short pages, so a call can return fewer than limit with a nextCursor to continue. Flat 2 credits per call."
2 tool updates
- Changed
linkedin_company_posts2 fields changed- changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 100 posts)."New value: +"Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 5). A null nextCursor means the end of the list. Only the recent posts LinkedIn shows logged-out visitors (about 10) are available." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 100). 1 credit when served natively; when the fallback path contributes rows, 0.8 credits per post returned, rounded up, minimum 2."New value: +"Max items to return (default 20, max 100). Only the ~10 posts the public page shows are available. Flat 1 credit."
- Changed
linkedin_search_posts1 field changed- changed
Input schema / properties / sort / descriptionPrevious value: -"relevance (default, search-engine rank — dates can span years) or date (recency)."New value: +"relevance (default, search-engine rank — dates can span years) or date (found posts newest first)."
5 tool updates
- Changed
amazon_shop_page1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max products to include (default 20, max 200; 0 = seller metadata only). Billed per storefront page — 1 credit per ~16 products."New value: +"Max products to include (default 20, max 200; 0 = seller metadata only). Billed per 16-product storefront page: ceil(limit / 16) credits, minimum 1 — the default 20 costs 2."
- Changed
instagram_profile_search1 field changed- changed
Input schema / properties / q / descriptionPrevious value: -"Account name, @handle, or profile URL to resolve (min 2 characters). A leading _ is stripped. Not a niche keyword search."New value: +"Account name, @handle, or profile URL to resolve (min 2 characters). A leading _, accents (misión → mision), spaces and URL query strings (?igsh=…) are stripped. A q with no usable username characters is 400 BAD_REQUEST. Not a niche keyword search."
- Changed
linkedin_company_posts1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 100). Flat 1 credit per call."New value: +"Max items to return (default 20, max 100). 1 credit when served natively; when the fallback path contributes rows, 0.8 credits per post returned, rounded up, minimum 2."
- Changed
tiktok_ad_library_search1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 200). Flat 2 credits per call."New value: +"Max items to return (default 20, max 200). Does not change the price: 2 credits native, 5 via the fallback path, 0 when empty."
- Changed
tiktok_shop_products1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 200). Flat 2 credits per call."New value: +"Max items to return (default 20, max 200). 2 credits when served natively (limit ≤ 30); above 30, or when the native page misses, the fallback path bills 2.8 credits per product returned, rounded up, minimum 2."
6 tool updates
- Changed
spotify_search1 field changed- changed
Input schema / properties / raw / descriptionPrevious value: -"Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs Apify scraper shapes differ — see FAQ."New value: +"Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs fallback-path shapes differ — see FAQ."
- Changed
tiktok_ad_library_top_ads1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 20, max 20). One Creative Center leaderboard page is ~20 rows; limit only trims that pool — it cannot scan more candidates. Flat 2 credits on Decodo-native; Apify ~1 credit per returned ad (min 2)."New value: +"Max items to return (default 20, max 20). One Creative Center leaderboard page is ~20 rows; limit only trims that pool — it cannot scan more candidates. Flat 2 credits on the native path; the fallback path ~1 credit per returned ad (min 2)."
- Changed
tiktok_popular_creators1 field changed- changed
Input schema / properties / follower_count / descriptionPrevious value: -"Optional range on FYP/Apify fallthrough: 10k-100k, 100k-1m, 1m-10m, >10m."New value: +"Optional range on the For You / fallback path: 10k-100k, 100k-1m, 1m-10m, >10m."
- Changed
tiktok_search_users1 field changed- changed
Input schema / properties / fallback / descriptionPrevious value: -"Opt into the scraper actor when native search is unavailable (~2 min, capped at 100 s, degraded-empty on timeout). Default false — return an empty degraded page (0 credits) instead."New value: +"Opt into the slower fallback path when native search is unavailable (~2 min, capped at 100 s, degraded-empty on timeout). Default false — return an empty degraded page (0 credits) instead."
- Changed
video_summarize1 field changed- changed
Input schema / properties / language / descriptionPrevious value: -"ISO-639-1 Whisper language hint, e.g. \"en\" or \"tr\". Omit to auto-detect."New value: +"ISO-639-1 language hint, e.g. \"en\" or \"tr\". Omit to auto-detect."
- Changed
video_transcript3 fields changed- changed
Input schema / properties / language / descriptionPrevious value: -"ISO-639-1 Whisper language hint, e.g. \"en\" or \"tr\". Omit to auto-detect."New value: +"ISO-639-1 language hint, e.g. \"en\" or \"tr\". Omit to auto-detect." - changed
Input schema / properties / timestampGranularity / descriptionPrevious value: -"segment (default) or word — word-level timings when Whisper exposes them."New value: +"segment (default) or word — word-level timings when the transcription model exposes them." - changed
Input schema / properties / translate / descriptionPrevious value: -"When true, translate speech to English (Whisper translations API). Default false."New value: +"When true, translate speech to English. Default false."
1 tool update
- Changed
google_maps_business_search1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"Place name as City,Region,Country, for example Austin,Texas,United States. When set, locationCode is ignored. A free-text city alone (austin) is not a place name."New value: +"Place name as City,Region,Country, for example Austin,Texas,United States. When set, locationCode is not used and is left out of the response. A free-text city alone (austin) is not a place name."
1 tool update
- Added
google_maps_business_search
1 tool update
- Changed
tiktok_channel_posts1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per call."New value: +"How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Native serves cost a flat 2 credits; extended serves scale with returned posts — 1 credit per 20, minimum 2 (200 posts = 10 credits)."
1 tool update
- Changed
tiktok_ad_library_top_ads1 field changed- changed
Input schema / properties / adFormat / descriptionPrevious value: -"Optional format filter: spark or non_spark."New value: +"Optional format filter: spark or non_spark. Served only by the extended fetcher — while it is disabled, adFormat returns 503 filter_unavailable (retryable false, not billed). Omit adFormat for the native leaderboard."
Related MCP Connectors
Public social media data: Instagram, TikTok, YouTube, X, Reddit, LinkedIn and 30+ more platforms.
Real-time public data from 157 platforms for AI: posts, comments, profiles and engagement from TikTok, Reddit, Instagram, X, YouTube, Xiaohongshu, Douyin and more. Pay per use.
Real-time public data from 157 platforms for AI: posts, comments, profiles and engagement from TikTok, Reddit, Instagram, X, YouTube, Xiaohongshu, Douyin and more. Pay per use.
Public Instagram and TikTok data: profiles, posts, reels, stories, comments, hashtags and places.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables AI agents to search, describe and call 239 social data endpoints across Instagram, TikTok, LinkedIn, Facebook, YouTube, X, Reddit, Threads and Pinterest through a single API key, covering profiles, posts, comments, followers, hashtags, ads and transcripts with one unified schema. Full responses are saved server-side and can be re-sliced for free with jq, fields or size outlines, so agents pull only the data they need into context.379 npmMIT
Monocrawl MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to retrieve live public data from 70+ platforms — profiles, posts, comments, transcripts, products, prices, reviews, listings, jobs, ads and search results — plus website crawls and live browser sessions through 650+ endpoints in one response format. Includes free cost previews, per-call credit caps, safe retries, refunded failures and scheduled monitoring.8 npm10MIT
SocialCrawlofficial
AlicenseAqualityDmaintenanceSocialCrawl provides the "best" quality public web data on the internet. Access 65+ real-time social media, e-commerce and public web data from a single API with a single schema.5215 npm27MIT- AlicenseAqualityDmaintenanceProvides AI agents with unified access to 21 social media platforms and 105 endpoints for retrieving profiles, posts, comments, search results, trending content, and analytics without per-platform authentication.4215 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.