API Direct
Server Details
Search social media, news, forums and Google Maps: LinkedIn, X, Reddit, TikTok, YouTube.
- Status
- Healthy
- Uptime
- 100.0% over 40 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 102 tools
Tools are cleanly separated by platform prefix and resource (e.g., twitter_user_followers vs twitter_user_following, instagram_post_details vs instagram_post_comments). A few pairs overlap in purpose, such as search_facebook_posts vs facebook_group_posts vs facebook_page_posts, but descriptions clarify the scope differences. The volume of tools creates some selection overhead, but boundaries are generally distinct.
Most tools follow a consistent snake_case pattern of <platform>_<resource>_<action> (amazon_product_details, twitter_user_followers) or search_<platform> for queries. Minor deviations exist: get_skill and get_youtube_comments use a get_ prefix, place_* tools omit a google_ prefix, and batch_requests/google_ai_mode don't fit the platform pattern. Overall, the naming is predictable and readable.
At 102 tools, this is far beyond what an agent can conveniently navigate or select from, even for a multi-platform data API. The breadth per platform is justified, but the server should likely be split into per-platform MCP servers. As-is, the count is overwhelming and creates unnecessary context and selection burden.
As a read-only data retrieval API, the coverage is broad: search, profile details, posts, and engagement metrics across 15+ platforms, plus batch and skill orchestration. Obvious gaps exist (e.g., no YouTube comment replies, no Reddit user feeds, no Facebook event details, no write operations), but these are minor relative to the enormous scope. Core workflows for each platform are well covered.
Available Tools
102 toolsamazon_best_sellersAInspect
Get Amazon best-seller rankings for a category — Best Sellers, New Releases, Movers & Shakers, Most Wished For, or Gift Ideas. Each item includes rank, rank change, ASIN, title, price, and rating. Each page returns up to 50 ranked items (rankings typically cover the top 100).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1 or 2 (default: 1). Each page returns up to 50 items; rankings cover the top 100. | |
| type | No | Ranking type | best_sellers |
| country | No | Marketplace country code (default: "us") | us |
| category | Yes | Category slug, e.g. electronics or software (see /docs/amazon-categories) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses pagination behavior ('each page returns up to 50 ranked items'), the typical top-100 coverage, and the fields included in each item. It does not mention authentication, rate limits, or error behavior, but for a read-only rankings tool the disclosed behavior 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?
Two tight sentences deliver the core action, the supported ranking types, the return fields, and pagination constraints. There is no fluff or repetition of obvious 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 no output schema or annotations, the description does a good job of explaining what the response contains and how pagination works. It could be more complete by noting valid country-code values or potential limitations, but the essential information for selecting and 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. The description adds meaningful context beyond the schema by explaining page size, top-100 coverage, and what each returned item contains. It reinforces the enum values and category slug concept, though it does not add much detail for the country 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 starts with a specific verb and resource: 'Get Amazon best-seller rankings for a category.' It enumerates the supported ranking types and clarifies that the result is a ranked list, which clearly distinguishes it from sibling product-search and product-detail tools like search_amazon_products and amazon_product_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 makes the tool's purpose immediately evident: use when you need category best-seller rankings rather than product details or free-form product searches. It does not explicitly name alternatives or state when not to use it, but the context is clear enough that an agent can route appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_product_detailsAInspect
Get full details for an Amazon product by ASIN (the 10-character code returned by search_amazon_products). Returns pricing, buy box with seller_id, availability, condition, photos, videos, specs, about bullets, description, rating breakdown per star, and top reviews.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | 10-character Amazon ASIN (e.g. B07ZPKN6YR) | |
| country | No | Marketplace country code (default: "us") | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. It uses a clear read verb ('Get') and discloses a detailed return payload including pricing, buy box seller_id, availability, condition, media, specs, rating breakdown, and reviews. It does not discuss error/not-found behavior, but the read-only nature 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?
Two sentences with no wasted words: the first delivers the purpose and input source, the second packs a comprehensive list of return fields. 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?
No output schema exists, so the detailed return field list is essential and is provided. The parameter schema covers the only required input and the optional country default. Minor omissions like invalid-ASIN handling or country-specific behavior do not prevent 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% and both parameters are documented, so the baseline is 3. The description adds value by explaining that the asin is the 10-character code produced by search_amazon_products, which clarifies the expected input more concretely than the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: "Get full details for an Amazon product by ASIN." It also enumerates the returned fields, which distinguishes it clearly from sibling search tools like search_amazon_products. Mentioning that the ASIN comes from search_amazon_products further disambiguates the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: after search_amazon_products returns an ASIN, when full product details are needed. It does not explicitly name alternatives to exclude, but the ASIN provenance guidance and the detail-focused purpose provide enough routing context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_seller_productsAInspect
Get the catalog of products sold by an Amazon seller by seller ID. Returns the same product objects as search_amazon_products plus the seller's total catalog size. Each page returns ~16 results; sortable by price, reviews, newest, or best sellers.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-50 (default: 1). Each page returns ~16 results. | |
| country | No | Marketplace country code (default: "us") | us |
| sort_by | No | Sort order | relevance |
| seller_id | Yes | Amazon seller 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 adds useful behavioral context: pagination of ~16 results per page, sortability by price/reviews/newest/best sellers, and that it returns the same product objects as search_amazon_products plus total catalog size. It does not mention error handling or rate limits, but for a read-only catalog fetch this is reasonably 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?
Two sentences with no filler. The core action and required identifier are front-loaded, and the second sentence adds relevant comparison and pagination/sort behavior. 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?
For a paginated catalog tool with no output schema, the description covers what is returned, the relationship to search_amazon_products, page size, and sortability. It does not explain error behavior for invalid seller IDs or country-specific nuances, but those are typically not required for tool selection and invocation. The required parameter, pagination, and sorting are all addressed.
Complex tools with many parameters or behaviors need more documentation. Simple 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 semantic value by summarizing sort options as 'price, reviews, newest, or best sellers,' but the schema already documents every parameter, enum, and default. No parameter meaning is missing.
Input schemas describe structure but not intent. Descriptions should explain 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 verb and resource: 'Get the catalog of products sold by an Amazon seller by seller ID.' It distinguishes itself from the sibling search_amazon_products by noting it returns the same product objects plus the seller's total catalog size, avoiding confusion with other Amazon 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 when to use this tool: when you have a seller ID and need all products from that seller. It explicitly references search_amazon_products as the related alternative and clarifies the difference, though it does not state explicit exclusion cases or say 'use search_amazon_products for keyword searches.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_seller_profileAInspect
Get an Amazon seller's profile by seller ID (from a product's main_buy_box.seller_id). Returns seller name, logo, about text, registered business name and address, average rating, total ratings, positive-feedback percentage, and a feedback breakdown over 30 days / 90 days / 12 months / lifetime.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Marketplace country code (default: "us") | us |
| seller_id | Yes | Amazon seller ID (e.g. A2L77EE7U53NWQ) |
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 clearly discloses the operation as a read (Get) and enumerates the returned data (name, logo, ratings, feedback breakdown). It does not mention error cases, rate limits, or marketplace-specific variations, but for a simple profile lookup the behavior is well specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste: the first sentence states the action and input source; the second lists the full return payload. The information is front-loaded and 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?
The description fully enumerates return fields, compensating for the missing output schema, and provides the input-source context. It does not address possible failure modes (e.g., invalid seller_id, unsupported country) or clarify that seller_id is marketplace-specific, but for a low-complexity two-parameter tool it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful context above the schema by explaining that seller_id comes from a product's main_buy_box.seller_id, giving the agent a concrete extraction path. The country parameter is already self-explanatory 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 ('Get'), a specific resource ('Amazon seller's profile'), and the exact input ('seller ID'). It also explicitly differentiates from sibling tools like amazon_seller_products and amazon_seller_reviews by focusing on profile attributes (name, logo, business address, ratings, feedback).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 the intended use case: when you have a product's main_buy_box.seller_id and need the seller's profile details. It does not, however, explicitly contrast against sibling tools like amazon_seller_products or amazon_seller_reviews, or state when not to use it. The source-of-ID hint provides strong contextual usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_seller_reviewsAInspect
Get customer feedback for an Amazon seller by seller ID. Each review includes author name, text, star rating, date, and whether the seller responded. Filter by star rating (5_stars..1_stars) or positive/critical sentiment; paginate with page until has_next_page is false.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-50 (default: 1) | |
| country | No | Marketplace country code (default: "us") | us |
| seller_id | Yes | Amazon seller ID | |
| star_rating | No | Star rating filter | all |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 discloses the pagination mechanism ('paginate with page until has_next_page is false'), the filtering options, and the get_sentiment surcharge behavior. It does not mention rate limits or error cases, but the core behavioral traits 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 description is two sentences with no filler. The first sentence front-loads the core purpose and return fields; the second sentence packs filtering and pagination 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 read-only retrieval tool with 100% schema coverage and no output schema, the description covers the essential call pattern: what it returns, how to filter, and how to paginate. It does not describe the output structure, but since there is no output schema and the return fields are listed in the description, an agent has enough to invoke it correctly. Minor gaps like rate limits or error handling prevent a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters. The description adds value by explaining the pagination loop ('until has_next_page is false') and the sentiment surcharge, which are not fully captured in the schema. It does not repeat parameter names, so it complements rather than duplicates 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 ('Get'), a specific resource ('customer feedback for an Amazon seller by seller ID'), and enumerates the exact data fields returned (author name, text, star rating, date, seller response). It is clearly distinguishable from sibling tools like amazon_seller_profile or amazon_seller_products, which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool: when you need customer feedback for a seller, with filtering by star rating or sentiment, and pagination instructions. It does not explicitly name alternatives or state when not to use it, but the context is strong enough for an agent to select it correctly among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_requestsAInspect
Execute up to 100 API Direct requests in a single call — any mix of the other tools' endpoints (e.g. 50 twitter_user_profile lookups + 50 instagram_user_profile lookups). Items run concurrently server-side and each returns its own status and body, in input order. The batch call itself is free; each item bills at its endpoint's normal rate. Not supported inside a batch: /v1/web/ai-mode. Large batches can take several minutes. See /docs/batch.
| Name | Required | Description | Default |
|---|---|---|---|
| requests | Yes | 1-100 items to execute. Each item's params are exactly the query parameters that endpoint accepts when called directly (string or number values). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the behavioral burden. It discloses concurrency, per-item status/body, input-order preservation, separate billing per item, unsupported endpoint inside a batch, potential latency for large batches, and a docs link. This is comprehensive and gives the agent confidence in side effects and cost 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 sentences deliver all essential information: definition, example, concurrency and order, billing, exclusion, latency, and docs reference. No fluff, every sentence earns its place, and key facts are front-loaded. The structure is logical 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?
Given the tool has no output schema and no annotations, the description covers the critical context: what the tool does, how many items, mixing, concurrency, per-item result format, billing, limitation, potential long duration, and a link to full docs. This is complete enough for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage of the only parameter, describing items, endpoint, params, and tag. The description adds an example and reiterates the mix of endpoints but doesn't provide new parameter-level semantics beyond the schema. Per the rubric, baseline 3 is appropriate when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain 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 phrase 'Execute up to 100 API Direct requests in a single call' and clearly identifies the resource as a batch aggregation of other endpoints. It distinguishes from siblings by explaining it can mix any of the other tools' endpoints, with a concrete example (50 twitter_user_profile + 50 instagram_user_profile). This 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?
It clearly states the primary use case (batching multiple API requests) and the limitations (no /v1/web/ai-mode, large batches can take minutes). However, it doesn't explicitly contrast with using individual endpoint tools directly, though the example and wording strongly imply the alternative. A direct statement like 'For single requests, use the specific endpoint tool' would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_post_commentsAInspect
Get the replies to a Bluesky post. Billed $0.003 per request. Provide exactly one of url or post_id.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). | |
| post_id | No | The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses billing ('Billed $0.003 per request') and the exclusivity requirement ('exactly one of url or post_id'), which are useful behavioral details. However, with no annotations provided, the description carries the full burden. It does not mention pagination, rate limits, or what happens if both parameters are provided. The billing disclosure is a positive, but the lack of pagination/error behavior leaves a 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 two sentences with no wasted words. It front-loads the core action, then adds the billing and parameter constraint. 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 read tool with three well-documented parameters, the description is mostly complete. However, there is no output schema and no mention of pagination or result structure, which an agent might need to know for a comments endpoint. The billing and exclusivity details are helpful, but the lack of pagination/response info keeps this at a 3.
Complex tools with many parameters or behaviors need more documentation. Simple 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 three parameters thoroughly. The description adds the 'exactly one of' constraint, which is valuable, and mentions the sentiment surcharge. However, it does not add much beyond the schema's own parameter descriptions. 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 states a specific verb and resource: 'Get the replies to a Bluesky post.' This clearly distinguishes it from sibling tools like bluesky_post_likes, bluesky_post_quotes, and bluesky_post_reposts, which retrieve different engagement data. It could be slightly stronger by explicitly naming a sibling, but the resource and action 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 provides a clear usage constraint: 'Provide exactly one of url or post_id.' This tells the agent how to invoke the tool correctly. It does not explicitly state when to choose this over alternatives, but the tool name and description make the use case obvious (fetching comments/replies for a Bluesky post).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_post_detailsAInspect
Get a single Bluesky post by URL or ID. Billed $0.003 per request. Provide exactly one of url or post_id.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). | |
| post_id | No | The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 discloses the per-request cost and the exclusivity constraint, and the verb 'Get' implies a read-only operation. However, it does not mention error handling, response format, or what happens if both or neither identifier is supplied.
Agents need to know what a tool does to the 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 concise sentences front-load the core purpose and immediately follow with cost and a critical usage constraint. Every sentence contributes useful information with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-post retrieval tool with no output schema and no annotations, the description adequately covers the core need: how to identify the postregation and what to expect. It could be more complete by noting the return shape or error behavior, but this is a minor gap given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 guidance by explicitly stating that exactly one of url or post_id must be provided, which is not encoded in the schema's required fields.
Input schemas describe structure but not intent. Descriptions should explain 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 'Get a single Bluesky post by URL or ID', identifying a specific verb, resource, and input method. It is distinct from sibling tools like bluesky_post_comments or bluesky_user_posts, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this tool to fetch one specific post using either a URL or an AT URI. It also provides a crucial usage rule—'Provide exactly one of url or post_id'—but does not explicitly discuss when to choose this over sibling post-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_post_likesAInspect
Get the users who liked a Bluesky post, newest first. Billed $0.003 per page. Provide exactly one of url or post_id.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned. | |
| post_id | No | The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). |
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 ordering, the exact per-page cost, and the need to supply exactly one identifier. It does not mention auth or error behavior, but for a read-style list tool the key operational 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 short sentences: purpose, cost, and usage constraint. The core behavior is front-loaded and every clause adds new information without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 paginated read with three parameters, the description plus schema covers how to call it, how ordering works, and the cost model. It might have mentioned what account fields are returned, but there is no output schema and the list nature is already implied by 'users who liked.'
Complex tools with many parameters or behaviors need more documentation. Simple 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, pages, and post_id. The description adds the important relational constraint that url and post_id are mutually exclusive and that one is required, which is not visible in the schema's required list.
Input schemas describe structure but not intent. Descriptions should explain 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 'Get the users who liked a Bluesky post' – a specific verb and resource – and adds 'newest first.' In a sibling set that includes comments, reposts, quotes, and details for the same post type, this clearly names the exact operation and object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a strict invocation condition ('Provide exactly one of url or post_id') but does not say when to choose this tool over, say, bluesky_post_reposts or bluesky_post_comments. Usage is reasonably implied by the resource being 'users who liked,' but no explicit alternatives or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_post_quotesAInspect
Get the posts that quote a Bluesky post, newest first. Billed $0.003 per page. Provide exactly one of url or post_id.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned. | |
| post_id | No | The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that results are sorted newest first, which is a behavioral trait not in annotations (none provided). It also mentions billing per page, adding cost transparency. However, it doesn't describe what the response contains (e.g., post details, author info) or whether it includes nested data, but with no annotations, this is a moderate 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 concise, with two sentences. The first sentence states the core purpose and ordering, and the second provides a crucial usage constraint (exactly one of url or post_id). It is front-loaded with the action, though it could be slightly more structured with explicit use-case guidance, but overall it's 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 is fairly complete for this tool: it tells the agent what it does, the ordering, the essential parameter constraint, and cost implications. With no output schema and no annotations, it doesn't describe return structure, but that is a minor gap. It adequately covers the necessary context 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 coverage is 100%, so all parameters are described in the schema. The description adds the mutual exclusivity (exactly one of url or post_id) which is useful beyond the schema. It also mentions the default pages behavior indirectly via schema, but the description doesn't further clarify parameter formatting beyond what's in 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 retrieves quote posts for a Bluesky post, ordered newest first, and specifies the input requirement (exactly one of url or post_id). It is distinct from siblings like bluesky_post_details (which gets individual post details) and bluesky_post_comments (which gets comments), so an agent can select it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 to provide exactly one of url or post_id, which is a key usage rule. It also includes a note about billing per page, which helps agents understand usage context. However, it doesn't mention when to use this tool over alternatives like bluesky_post_likes or bluesky_post_reposts, though the naming and purpose are fairly clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_post_repostsAInspect
Get the users who reposted a Bluesky post, newest first. Billed $0.003 per page. Provide exactly one of url or post_id.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned. | |
| post_id | No | The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). |
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 adds concrete behavioral details: results are ordered newest first, and the tool is billed per page. It does not mention auth requirements or response shape, but for a read-only listing tool the disclosed details are reasonably complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero filler. The purpose is front-loaded, followed by billing and the key parameter constraint. 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 listing tool with no output schema and no annotations, the description covers the inputs, the core behavior, ordering, and cost. It is missing only explicit guidance on what response shape to expect, but that is largely inferable from 'users who reposted.'
Complex tools with many parameters or behaviors need more documentation. Simple 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 meaningful constraint information beyond the schema: exactly one of url or post_id must be provided. It also ties billing cost to the pages parameter, which helps agents reason about usage cost.
Input schemas describe structure but not intent. Descriptions should explain 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 the users who reposted a Bluesky post.' It also adds ordering ('newest first'), and the term 'reposted' clearly differentiates it from sibling tools like bluesky_post_likes and bluesky_post_comments. This is unambiguous and immediately actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear parameter usage guidance ('Provide exactly one of url or post_id') and billing context, but it does not explicitly state when to choose this tool over alternatives. Usage is implied by the tool's name and purpose rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_user_followersAInspect
Get the followers of a Bluesky user, newest first. Billed $0.003 per page. Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned. | |
| username | No | Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses billing ($0.003 per page) and ordering (newest first), but does not mention rate limits, error behavior, or explicitly confirm it is read-only. These disclosures add meaningful context beyond the raw schema, but gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states action, resource, and ordering; the second covers billing and the parameter rule. Everything earns its place and 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 simple read-only list tool with no output schemaaca, the description captures purpose, ordering, cost, and the parameter exclusivity rule. The schema handles details like page size and defaults. The only minor omissions are rate-limit or auth notes, which are uncommon in this 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?
The schema already documents all three parameters with 100% coverage, establishing a baseline of 3. The description adds the crucial exclusive-or constraint ('exactly one of username or url'), which is not present in the schema, and clarifies the output ordering. This extra meaning raises the score 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 states a specific verb ('Get') and resource ('followers of a Bluesky user') with ordering ('newest first'). This clearly distinguishes it from the sibling tool bluesky_user_following, which retrieves the opposite relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 alternatives such as bluesky_user_following or search_bluesky_users. The only directive, 'Provide exactly one of username or url', is a parameter constraint, not a tool-selection guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_user_followingAInspect
Get the accounts a Bluesky user follows, newest first. Billed $0.003 per page. Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts; you are billed per page returned. | |
| username | No | Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description carries the full burden because no annotations are present. It transparently discloses billing per page, newest-first ordering, and the need to provide exactly one identifier, which goes beyond the schema. It does not mention error behavior or response shape, but for a straightforward read operation this is reasonably complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: two short sentences pack purpose, ordering, cost, and the critical input constraint with no filler. Each sentence contributes distinct 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?
All three parameters are fully described in the schema, and the description covers purpose, ordering, cost, and input constraints. It lacks explicit error behavior and output shape, but given the simplicity of the tool and the absence of an output schema, the definition provides enough context 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 baseline is 3. The description adds valuable semantics by stating the mutual-exclusivity rule for username and url, which the schema alone does not enforce or explain, and it reinforces the billing implication of the pages 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 action ('Get the accounts ... follows') on a well-defined Bluesky resource, and clarifies the result ordering ('newest first'). This clearly distinguishes it from the sibling bluesky_user_followers by indicating the direction of the relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 such as bluesky_user_followers or other user-related Bluesky endpoints. The only usage rule, 'Provide exactly one of username or url,' concerns parameter selection rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_user_likesAInspect
Get the posts a Bluesky user has liked, newest first. Billed $0.003 per page. Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned. | |
| username | No | Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It reveals ordering ('newest first') and cost ('Billed $0.003 per page'), and 'Get' implies a read operation. However, it does not mention authorization requirements, rate limits, or error behavior, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. It front-loads the main purpose, then adds billing and parameter constraint. Every part 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 the core purpose, output ordering, cost, and the key invocation constraint. The remaining parameter behaviors (pages, get_sentiment) are in the schema. Minor gaps like authentication or error handling do not prevent 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 parameter descriptions are already complete. The description adds a crucial constraint beyond the schema: 'Provide exactly one of username or url', which prevents invalid calls. This is meaningful semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain 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 ('posts a Bluesky user has liked'), and adds ordering ('newest first'). It clearly distinguishes from sibling tools like bluesky_user_posts (posts by a user) and bluesky_post_likes (likes on a post) without needing to inspect 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 context for when to use the tool: retrieving liked posts for a user. It does not explicitly name alternatives or exclusions, but the purpose is unambiguous enough for an agent to select it over 'bluesky_user_posts' or 'bluesky_post_likes'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_user_postsAInspect
Get a user's feed by handle: their posts, replies, and reposts in feed order (the pinned post first, then newest first), each flagged with is_reply, is_repost, and is_pinned. Billed $0.003 per page. Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned. | |
| username | No | Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the feed ordering, flags, billing per page, and the input constraint. It does not mention error cases, rate limits, or authentication, but for a read-only tool these are minor. It adds useful 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 a single, densely packed sentence that front-loads the purpose and includes key flags and billing. No wasted words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description conveys the output content (posts, replies, reposts with flags) adequately. It misses potential error behavior or what happens when both username and url are provided, but for a simple feed tool it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well documented. The description adds the essential 'exactly one of username or url' rule, which is not captured in the schema, and clarifies billing implications for pages. This adds meaningful value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get'), the resource ('a user's feed by handle'), and the specific content ('posts, replies, and reposts' with flags). It distinguishes itself from siblings like bluesky_user_profile (profile info) and post-specific tools by focusing on the 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?
The description gives a critical usage constraint ('Provide exactly one of username or url') and mentions billing per page, but it does not explicitly name alternatives or specify when to use this tool over siblings. The context is clear, but no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bluesky_user_profileAInspect
Get a Bluesky user's full profile by handle, DID, or profile URL. Billed $0.003 per request. Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). | |
| username | No | Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). |
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 does add useful behavior context: the per-request cost ('Billed $0.003 per request') and the exclusivity requirement ('Provide exactly one of username or url'). However, it does not disclose potential error conditions, rate limits, data freshness, or whether the operation is read-only, leaving meaningful gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff: the first states the core operation and accepted identifiers, the second states cost and input constraint. The most important information is front-loaded, and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema and no annotations, the description gives enough to invoke correctly: what it returns ('full profile'), how to specify inputs, and cost. It lacks error-handling and output-format details, but these are minor for a straightforward 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, but the description adds meaningful semantic constraints beyond the schema. The schema lists both parameters as optional, while the description explicitly requires exactly one of them, and clarifies that the username parameter can be a handle, DID, or with/without leading '@'—the latter echoed in the schema but the exclusivity rule is new.
Input schemas describe structure but not intent. Descriptions should explain 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'), resource ('a Bluesky user's full profile'), and input methods ('by handle, DID, or profile URL'). It clearly distinguishes this from sibling tools like bluesky_user_posts or bluesky_user_followers, which target different aspects of a user's data. The platform and scope are immediately 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?
There is no guidance on when to prefer this tool over alternatives such as search_bluesky_users or bluesky_user_followers. It does not mention when not to use it or name sibling tools. The only usage instruction—'Provide exactly one of username or url'—is about input constraints, not tool selection, so the tool-choice guidance is effectively absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_group_detailsBInspect
Get Facebook group details including name, description, members count, and privacy setting.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook group URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It only states 'Get', which implies a read-only operation, but provides no details about authentication requirements, rate limits, error behavior, or whether the group must be public. This lack of behavioral disclosure is a significant gap for a tool with no 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 a single, clear sentence that immediately states the tool's purpose and key outputs. Every word 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 1-parameter read tool, the description gives a fair overview but omits an exhaustive list of return fields (uses 'including'), and does not mention edge cases like invalid URLs or access restrictions. Given the absence of an output schema, the description is minimally viable but has clear gaps in behavioral and output completeness.
Complex tools with many parameters or behaviors need more documentation. 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 by describing 'url' as 'Facebook group URL'. The description adds no extra meaning about the parameter, such as URL format or validation rules. Since schema coverage is high, the baseline is 3, and the description does not exceed that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' with the resource 'Facebook group details' and explicitly lists the key attributes returned (name, description, members count, privacy setting). This clearly distinguishes it from sibling tools like facebook_page_details or facebook_group_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 guidance on when to use this tool versus alternatives. It does not mention scenarios where this tool is appropriate (e.g., retrieving metadata for a specific group) or when to prefer sibling tools like facebook_group_posts. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_group_postsBInspect
Get posts from a public Facebook group.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-15, default 1). Billed per page. | |
| sort_by | No | Sort order: most_recent or relevance (default: most_recent) | most_recent |
| group_id | Yes | Facebook group ID (numeric) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure, but it only mentions 'public' as a limitation. It does not warn about pagination/billing per page, return format, rate limits, or any side effects, even though 'pages' is documented as billed per page in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is efficient, though it leans heavily on the schema and sibling names for context; slightly more detail would not be padding but useful elucidation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 four parameters, no annotations, and no output schema, the description is too thin to be complete. It does not mention that output is a paginated list of posts, how sorting or sentiment affect results, or what fields are returned, leaving agents to infer too much from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple 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 little parameter meaning beyond implying that group_id is the target group; it does not clarify how pages, sort_by, or get_sentiment affect the results 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 states a specific verb ('Get'), resource ('posts'), and scope ('public Facebook group'), clearly distinguishing it from sibling tools like facebook_group_details and facebook_page_posts. The qualifier 'public' also adds immediate selection context that the tool only works with publicly accessible groups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 about when to use this tool versus alternatives such as search_facebook_posts, facebook_page_posts, or facebook_post_comments. No exclusions, prerequisites, or contextual cues are provided beyond the bare statement of what the tool does.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_page_detailsAInspect
Get detailed information about a Facebook page including name, followers, categories, contact info, and verification status.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Facebook page URL (e.g. https://www.facebook.com/facebook) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It implies a read-only operation via 'Get' and lists return fields, but does not explicitly mention that it has no side effects, handles invalid URLs, or requires authentication. The description adds some value but lacks explicit safety or error 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 a single sentence, immediately front-loaded with the verb and resource, and lists all relevant output fields without redundancy. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema, the description adequately conveys what it does and returns. It does not mention error behavior or explicit read-only status, but given the low complexity and clear focus, it is 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% with a single 'url' parameter well-described in the schema (including an example). The tool description does not add extra parameter semantics beyond the schema, which is acceptable given full schema coverage. 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 states the action ('Get') and resource ('detailed information about a Facebook page'), listing specific fields (name, followers, categories, contact info, verification status). This distinguishes it from sibling tools like facebook_page_posts and facebook_page_photos, 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?
The description provides clear context about what information this tool retrieves, making it obvious for page metadata. While it does not explicitly mention alternatives or exclusions, the field list (e.g., followers, contact info) differentiates it from content-specific siblings, so the usage intent is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_page_photosCInspect
Get photos from a Facebook page.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-15, default 1). Billed per page. | |
| page_id | Yes | Facebook page ID (numeric) |
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 not mention pagination behavior, the fact that pages are billed per page, authentication needs, rate limits, or what the returned data looks like. The 'pages' parameter hints at pagination but the description itself is silent.
Agents need to know what a tool does to the 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, clear sentence with no filler or redundancy. It front-loads the core action and resource immediately, making it easy 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?
The description is minimal and lacks information an agent would need for effective use: no mention of pagination implications, billing, return value shape, or relationship to page_id requirements. Even for a simple getter, a sentence about pagination or the meaning of 'pages' would meaningfully improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple 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 parameter descriptions already document page_id and pages clearly. The tool description itself adds no extra semantic meaning about the parameters, but this is acceptable because the schema carries that burden.
Input schemas describe structure but not intent. Descriptions should explain 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 operation ('Get photos') and the resource (a Facebook page). It is distinguishable from sibling tools like place_photos or search_facebook_pages because the target platform and resource type are explicit, though it does not contrast itself with any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, nor does it mention any exclusions, prerequisites, or context in which a different tool would be more appropriate. The only implied usage is the literal action stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_page_postsAInspect
Get recent posts from a Facebook page by page ID.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-15, default 1). Billed per page. | |
| page_id | Yes | Facebook page ID (numeric) | |
| end_date | No | Filter posts until this date | |
| start_date | No | Filter posts from this date | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden. It communicates a non-destructive 'get' operation and a recency/ordering behavior, but it omits details like pagination behavior, billing per page, and return shape—though some of those appear in parameter 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?
A single, front-loaded sentence contains the core action, resource, and required parameter with no filler. It is as concise as possible while remaining informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 gives the minimum needed for selection and invocation, and the schema handles parameter meaning. However, with no output schema and no annotations, the agent is left without explicit information about returned post fields or response structure.
Complex tools with many parameters or behaviors need more documentation. Simple 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. The tool description adds no new parameter-level detail but does not need to, given the rich 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?
States a specific action (Get), a resource (recent posts from a Facebook page), and the required identifier (by page ID). This clearly distinguishes it from sibling tools like facebook_page_photos or facebook_page_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?
The intended use is implied by the description: an agent should call this when it needs recent page posts for a given page_id. However, there is no explicit when-not-to-use guidance or named alternatives, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_page_reelsBInspect
Get reels from a Facebook page. Requires the reels_page_id from the page details endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-10, default 1). Billed per page. | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. | |
| reels_page_id | Yes | Reels page ID (from page details endpoint) |
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 reveals one dependency (reels_page_id from page details) but says nothing about pagination behavior, billing per page, the sentiment surcharge, authentication, rate limits, or error conditions. Billing details appear only in the parameter schema, not in the 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?
The description is concise and front-loaded, with no filler or redundancy. It could still use its spare capacity to mention a sibling alternative or expected output, but as a standalone action statement it is appropriately 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 simple three-parameter fetch with no output schema, the description identifies the resource and the required ID source. However, without annotations it leaves return shape, pagination expectations, and billing/cost implications unstated except in the parameter schema, and it does not help the agent choose between this and facebook_page_videos.
Complex tools with many parameters or behaviors need more documentation. Simple 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 all three parameters adequately. The description merely restates that reels_page_id is required and its source, adding no meaning beyond the schema. Baseline 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?
Description names the specific action ('Get reels') and resource ('Facebook page'), which is clear and generally distinct from sibling tools like facebook_page_posts or facebook_page_photos. However, it does not explicitly differentiate reels from the closely related facebook_page_videos, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit prerequisite: the reels_page_id must come from the page details endpoint, which usefully tells the agent to call facebook_page_details first. However, it never states when to prefer this tool over alternatives or adds exclusions, 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.
facebook_page_reviewsAInspect
Get reviews for a Facebook page.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-15, default 1). Billed per page. | |
| page_id | Yes | Facebook page ID (numeric) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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, yet it only says 'Get reviews' and reveals nothing about pagination, billing per page, or the shape of the returned data. The read-only nature is implied but not substantiated by any behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or redundant restatement of the tool name. Every word contributes to the core purpose, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 operation, the description plus a fully documented schema is minimally viable, but no output schema exists and the description doesn't hint at return contents or optional features like sentiment. An agent can call the tool correctly, but would need to infer expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains page_id, pages, and get_sentiment, including billing and sentiment behavior. The description adds no parameter meaning beyond mapping the tool to page_id, which is why the schema 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 action ('Get reviews') and a clear resource ('a Facebook page'), which distinguishes it from sibling tools like facebook_page_posts or facebook_page_photos. Even without reading the schema, an agent knows exactly what this tool retrieves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when an agent needs Facebook page reviews, but it provides no explicit conditions, exclusions, or comparisons to sibling tools. There is no guidance on when to prefer this over facebook_page_details or place_reviews, so usage context is only inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_page_videosBInspect
Get videos from a Facebook page. Requires the delegate_page_id from the page details endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-15, default 1). Billed per page. | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. | |
| delegate_page_id | Yes | Delegate page ID (from page details endpoint) |
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 a prerequisite (delegate_page_id) but doesn't mention pagination behavior, rate limits, billing implications beyond the schema's 'Billed per page' note, or what the response contains. The description adds minimal 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 two sentences with no fluff. The core action is front-loaded, and the prerequisite is stated concisely. It earns a 4 because it's efficient, though it could have added a bit more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 is thin. It doesn't explain what the returned videos look like, how pagination works, or how this differs from facebook_page_reels. An agent would need to infer a lot or inspect the schema. The prerequisite is helpful but not enough for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple 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 three parameters. The description adds the origin of delegate_page_id ('from the page details endpoint'), which is useful. However, it doesn't add meaning beyond the schema for pages or get_sentiment, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Get videos from a Facebook page.' It distinguishes itself from siblings like facebook_page_posts and facebook_page_photos by naming the resource type (videos). However, it doesn't explicitly differentiate from facebook_page_reels, which is a close sibling, so it's not a perfect 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 mentions a prerequisite: 'Requires the delegate_page_id from the page details endpoint.' This gives some usage context. However, it doesn't explicitly state when to use this tool versus alternatives like facebook_page_reels or search_facebook_videos, nor does it provide exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facebook_post_commentsAInspect
Get comments on a Facebook post by post ID. Returns each comment's text, author details, reaction and reply counts, date, and any attachment.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-20, default 1). Billed per page. | |
| post_id | Yes | Facebook post ID (pfbid or numeric, from facebook_page_posts, facebook_group_posts, or search_facebook_posts) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 communicates a read-style operation ('Get') and specifies the response contents, including reaction/reply counts and any attachment. Pagination and auth are not discussed, but the core behavior and return shape are transparent enough for a straightforward 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 a single front-loaded sentence with no filler. It states the primary action first and then lists the return fields efficiently, earning every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 a fully documented schema and no output schema, the description provides enough return-value detail to make the tool usable without ambiguity. 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 descriptions cover 100% of parameters, including pages, post_id, and get_sentiment, so the baseline is 3. The description adds little parameter-level meaning beyond the schema, though it reinforces that post_id is the required key and suggests the post_id source.
Input schemas describe structure but not intent. Descriptions should explain 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 operation and resource: 'Get comments on a Facebook post by post ID.' It also enumerates the returned data (text, author details, reaction and reply counts, date, and attachment), making the tool's purpose concrete and distinguishable from platform-specific sibling comment 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 clearly indicates when to use the tool: when comments are needed for a known Facebook post ID. The post_id parameter further contextualizes by naming the upstream Facebook post sources. It does not explicitly list exclusions, but there is no competing same-platform comment fetch tool among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skillAInspect
Get a ready-made skill's step-by-step playbook with your inputs filled in, then follow it. Returns an ordered recipe of tool calls to execute. PREFER running a matching skill over improvising raw searches — skills encode the filters and sequencing that produce far better results. If the user names a skill (e.g. "use the local-buying-intent-capture skill"), pass that as skill_id directly; otherwise call list_skills first to find the right id.
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | The skill's inputs as key/value pairs, e.g. {"competitor": "Notion"}. Optional — omit and the playbook will tell you what to ask the user for. | |
| skill_id | Yes | The skill id from list_skills, e.g. "competitor-conquest-radar". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It explains the tool fills in user inputs, returns an ordered recipe to execute, and tells the agent to ask the user for inputs if omitted. It doesn't elaborate on return format or execution semantics, but covers the core behavior well.
Agents need to know what a tool does to the 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 serving a distinct purpose: definition, return value, usage preference, and parameter routing. The front-loaded sentence captures the essence, and the structured guidance is dense without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 compensates by explicitly stating the return value ('ordered recipe of tool calls') and the workflow with list_skills. It prepares the agent to execute the playbook and handle unnamed skills, covering all functional 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 baseline is 3. The description adds value by giving a concrete example of inputs and skill_id, and clarifies that inputs are optional and what happens if omitted — going beyond the schema's static 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+resource: 'Get a ready-made skill's step-by-step playbook' and clarifies it returns an 'ordered recipe of tool calls'. This clearly distinguishes it from sibling data-fetching/search tools and positions it as a meta-tool that produces executable instructions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 says 'PREFER running a matching skill over improvising raw searches' and provides a decision tree: if the user names a skill, pass the skill_id directly; otherwise call list_skills first. This is textbook usage guidance with clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_youtube_commentsAInspect
Get comments from a YouTube video. Returns each comment's text, author, like count, reply count, date, a direct link, and up to 5 preview replies. Billed $0.005 per page.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube video URL or 11-character video ID | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to ~100 comments. | |
| sort_by | No | Sort order: most_recent (newest first) or relevance (default: relevance) | relevance |
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 a notable operational trait—billing $0.005 per page—and the limitation that only up to 5 preview replies are returned. This goes beyond a bare operation statement, though it does not discuss error cases, rate limits, or access prerequisites.
Agents need to know what a tool does to the 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 dense sentences with no filler. The primary action and return contents are front-loaded, and the cost caveat is placed at the end. 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 absence of an output schema raises the burden on the description, and it does enumerate the returned fields and reply preview limit. It also tells the agent about cost, while the schema covers paging and sort options. Missing are the top-level response shape and any failure modes, but these are minor for a simple 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 description coverage is 100%, so the baseline is 3 even without parameter details in the description. The description does not add new meaning for url, pages, or sort_by beyond what the schema already says; it only reinforces pagination through the per-page billing mention.
Input schemas describe structure but not intent. Descriptions should explain 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: 'Get comments from a YouTube video.' This clearly targets comments rather than video metadata, distinguishing it from youtube_video_details and search tools, and the listed return fields (text, author, likes, replies, date, link) make the exact purpose 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 provides clear context: use this tool when you need the comment feed of a YouTube video, including preview replies. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5, but the wording leaves little ambiguity against sibling comment tools for other platforms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ai_modeAInspect
Send a prompt to Google's AI Mode and get back a structured conversational reply (reply_parts: paragraphs, headings, lists, images) with reference_links citations. Use session_token from a previous response to continue the conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | The AI Mode prompt (max 12000 characters) | |
| country | No | 2-letter country code (default: "us") | us |
| language | No | 2-letter language code (default: "en") | en |
| session_token | No | Token from a prior response to continue the conversation |
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 context about the response format (paragraphs, headings, lists, images, citations) and session continuation, but it omits details about rate limits, authentication, or potential side effects. The added transparency is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and output, followed by essential continuation guidance. Every sentence earns its place and there is zero 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's moderate complexity and absence of output schema/annotations, the description covers the core input (prompt) and output structure explicitly. It also explains conversational state via session_token. Minor gaps remain, such as optional parameter behavior or error handling, but the description is largely sufficient 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?
The schema description coverage is 100%, so the baseline is 3. The description adds no additional parameter-level meaning beyond what the schema already states; session_token is mentioned in both, but no new semantics (e.g., formatting, constraints) are introduced 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?
The description states a specific verb ('Send a prompt') and resource ('Google's AI Mode') and clearly defines the output (structured conversational reply with reply_parts and reference_links). It distinguishes itself from sibling search tools by emphasizing conversational context and structured citations, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool provides usage context by describing how to continue conversations via session_token, but it does not explicitly explain when to choose this tool over sibling search tools like search_web. Usage is implied rather than stated with alternatives or exclusions, so it only partially meets the bar for clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_comment_repliesAInspect
Get the replies to one Instagram comment (its thread) by post URL or shortcode plus the comment ID from instagram_post_comments. Returns each reply's text, author details (including whether Instagram labels the commenter as an AI-generated profile), like count, date, link, and the comment it replies to. Billed per page. Returns an empty list when the comment has no replies. Provide exactly one of url or code.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram post or reel URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters) | |
| code | No | The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters) | |
| pages | No | Number of pages to fetch, 1-10 (default: 1) | |
| comment_id | Yes | The comment's numeric ID, from instagram_post_comments (comment_id) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 billing behavior ('Billed per page'), the empty-result edge case ('Returns an empty list when the comment has no replies'), the mutual exclusivity of url/code, and notable return content (including the AI-generated profile label). It stops short of mentioning auth requirements, rate limits, or behavior on invalid comment IDs, 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 compact, front-loaded with the core purpose, and every sentence earns its place: identification method, return shape, billing/edge case, and parameter constraint. It is slightly loose in combining the final short sentences, but overall it is well-structured for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 compensates well by detailing the return shape (text, author details, like count, date, link, parent comment) and edge behavior. It covers the essential calling constraints but leaves minor gaps around pagination mechanics relative to the pages parameter and no mention of authentication 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 baseline is 3, but the description adds meaning beyond the schema: it clarifies that url and code are mutually exclusive alternatives (a constraint the schema does not encode), and it specifies that comment_id comes from instagram_post_comments. This elevates the parameter semantics above the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Get the replies to one Instagram comment (its thread)') and precisely scopes how to identify the target ('by post URL or shortcode plus the comment ID from instagram_post_comments'). It is clearly distinguishable from siblings like instagram_post_comments (comments on a post) and instagram_post_likes (likes on a post), and it names its prerequisite 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?
The description provides clear context: this is for fetching the reply thread beneath a single comment, and it establishes the workflow by noting the comment ID comes 'from instagram_post_comments'. It also enforces the operational constraint 'Provide exactly one of url or code'. However, it does not explicitly state when not to use this tool or compare it against alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_hashtag_postsAInspect
Get Instagram posts and reels for a hashtag. Returns the same post objects as search_instagram (captions, engagement metrics, media URLs, author metadata, hashtags, mentions, AI detection method) plus the hashtag's total post count, up to about 30 new posts per page (billed per page). sort_by picks the hashtag page tab: top (default), recent, or reels.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-10 (default: 1). Each page adds up to about 30 posts (repeats across pages are removed) | |
| hashtag | Yes | Hashtag, with or without the leading # (max 100 characters), e.g. summer | |
| sort_by | No | Hashtag tab: top (default), recent (newest first), or reels (Reels only) | top |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 pagination behavior ('up to about 30 new posts per page'), billing implications ('billed per page'), the tab-selection mechanism of sort_by, and the exact composition of returned objects. For a read-only retrieval endpoint, this is strong disclosure, though rate limits and auth requirements are not mentioned.
Agents need to know what a tool does to the 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 the core purpose front-loaded and each sentence earning its place: return-format grounding, pagination/billing disclosure, and tab control. The enumerated field list is slightly verbose but justified since no output schema exists to define the return shape.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 100% schema coverage, no annotations, and no output schema, the description covers purpose, output composition, pagination, billing, and sort behavior. It even enumerates the returned fields to compensate for the missing output schema. Minor omissions like rate limits and authentication are the only gaps, making this substantially 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 description adds marginal value beyond the schema: it clarifies that sort_by selects the 'hashtag page tab' and adds billing-per-page context for the pages parameter that the schema omits. But the schema already documents hashtag formatting, page ranges, enum options, and the sentiment surcharge, so the description is not doing 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 opens with a specific verb+resource+scope construction: 'Get Instagram posts and reels for a hashtag.' It also anchors the return format to a named sibling ('Returns the same post objects as search_instagram'), which immediately distinguishes this hashtag-scoped tool from user-scoped siblings like instagram_user_posts and search-scoped search_instagram. An agent can tell what it does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its use case through the hashtag scope and the sort_by tab mechanics (top/recent/reels), but it never explicitly states when to choose this over alternatives or when not to use it. The reference to search_instagram is about return shape, not routing ('use this for hashtags, use search_instagram for keyword search'). Usage context is clear but exclusions and alternative routing are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_highlight_storiesAInspect
Get the stories saved in one Instagram highlight by highlight ID (from instagram_user_highlights) or highlight URL. Returns the highlight's title and cover plus every story's media URLs, post time, link stickers, mentions, tagged users, location, audio, and Instagram's AI detection method. Media URLs are temporary (~6-24 hours).
| Name | Required | Description | Default |
|---|---|---|---|
| highlight_id | Yes | Highlight ID, e.g. 17987606483520330 (also accepts highlight:17987606483520330), or a highlight URL like https://www.instagram.com/stories/highlights/17987606483520330/ |
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 a useful operational trait: media URLs are temporary (~6-24 hours). It also enumerates the returned fields, giving the agent a clear expectation of behavior. It stops short of mentioning privacy, authentication, or rate limits, but is solid for a read-style retrieval 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 three sentences with no filler. It front-loads the core action, then enumerates return details, then adds the temporary-URL caveat. 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, so the description must explain return values, and it does so in detail: highlight title/cover and each story's media URLs, timestamps, stickers, mentions, tags, location, audio, and AI detection. It also covers the practical expiry of media URLs, making it complete for a single-parameter 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 the schema already documents the highlight_id parameter. The description reinforces that the value can be an ID or URL and points to instagram_user_highlights as the source, but it adds little beyond the schema's own parameter 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 a specific verb and resource: 'Get the stories saved in one Instagram highlight' by ID or URL. It clearly lists the returned data and names the source function 'instagram_user_highlights', distinguishing this tool from sibling highlight/story 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 tells the agent to pass a highlight ID from instagram_user_highlights or a highlight URL, establishing the workflow and indicating when this tool is relevant. It does not explicitly mention exclusions such as 'use instagram_user_stories for non-highlight stories', but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_post_commentsAInspect
Get the comments on an Instagram post or reel by post URL or shortcode. Returns each comment's text, author details (including whether Instagram labels the commenter as an AI-generated profile), like and reply counts, date, and link, up to 15 per page (billed per page), sorted by popular (default, includes pinned) or recent. Use instagram_comment_replies to fetch a comment's replies. Provide exactly one of url or code.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram post or reel URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters) | |
| code | No | The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters) | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 15 comments | |
| sort_by | No | Sort order: popular (default, includes pinned comments) or recent | popular |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite having no annotations, the description discloses pagination (up to 15 per page), billing behavior (per page), sort modes, pinned-comment inclusion, and a full list of returned fields including the unusual 'AI-generated profile' label. It does not discuss error handling, authentication, or rate limits, so it falls just short of complete 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?
Every sentence in the description carries operational value—scope, return payload, pagination/billing, sort behavior, alternative tool, and input constraint. It is front-loaded with the core purpose and contains no filler or repeated 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?
The description is complete for an agent to call this tool: it specifies how to identify the target (URL or code), what fields to expect, how pagination and sorting work, cost implications, and which sibling to use for replies. No output schema exists, but the description covers the key response content.
Complex tools with many parameters or behaviors need more documentation. Simple 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 each parameter; the baseline is 3. The description adds meaningful extra constraints: url and code are mutually exclusive, pages are billed per page, and the default sort includes pinned comments, which goes 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 ('Get') and resource ('comments on an Instagram post or reel') and identifies access modes (URL or shortcode). It clearly distinguishes itself from sibling tools like instagram_comment_replies and instagram_post_likes by describing exactly what it 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?
Explicitly tells the agent when to use it: to fetch comments on a post/reel, and directs it to instagram_comment_replies for a comment's replies. Also gives an input-selection rule ('Provide exactly one of url or code'), leaving no ambiguity about invocation choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_post_detailsAInspect
Get full details for a single Instagram post, reel, or IGTV video by post URL or shortcode. Returns the caption, like/comment/share/view counts, media URLs, carousel slides, audio track info, tagged users, location, author details, and Instagram's AI label. Provide exactly one of url or code.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram post, reel, or story URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters) | |
| code | No | The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 well: it enumerates the exact fields returned (caption, counts, media URLs, carousel slides, audio info, tagged users, location, author details, AI label) and imposes the exactly-one input constraint. It does not disclose error behavior, rate limits, or what happens if both/neither url and code are supplied, 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?
Two focused sentences with no filler. The first sentence states what the tool gets and how to specify the target; the second sentence enumerates the return payload. Everything 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?
Even though there is no output schema, the description enumerates the expected return fields, giving the agent a solid mental model of the response. The input selection rule is explicit, and the tool is a simple single-post fetch, so nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description adds value above the schema by stating 'Provide exactly one of url or code' — an exclusivity constraint the schema does not enforce. It also reinforces the semantics of url/code by saying 'by post URL or shortcode.' It does not elaborate on get_sentiment, but the schema already documents that 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 opens with a specific verb ('Get full details') and a precise resource ('a single Instagram post, reel, or IGTV video'), then names the input forms (URL or shortcode). It clearly differentiates from sibling tools like instagram_post_comments and instagram_post_likes by promising the full post payload rather than a subset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 makes the selection context clear: this is the 'full details' tool for any single Instagram post, as opposed to the comments, likes, or user-posts siblings. It also gives the key invocation rule, 'Provide exactly one of url or code,' which is operational guidance. It does not explicitly name sibling alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_post_likesAInspect
Get the users who liked an Instagram post or reel by post URL or shortcode. Returns username, full name, user ID, verification and privacy status, and profile picture for every liker Instagram exposes (typically several hundred), plus the post's total like count, in a single request. Provide exactly one of url or code.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram post or reel URL, e.g. https://www.instagram.com/p/CxYQJO8xuC6/ (max 500 characters) | |
| code | No | The post's shortcode, e.g. CxYQJO8xuC6, or numeric media ID (max 50 characters) |
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 goes beyond the schema by stating the scope ('every liker Instagram exposes'), typical volume ('typically several hundred'), and that results arrive 'in a single request.' It does not discuss rate limits or authentication, but for a read-only retrieval tool the key behavioral 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?
Three efficient sentences cover the action, the returned data, and the input constraint. There is no filler and no repetition of schema field descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description sufficiently explains what the caller will receive: username, full name, user ID, verification and privacy status, profile picture, and total like count. It also resolves the one-of parameter ambiguity. Nothing essential for making the call 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 url and code with 100% coverage, so the baseline is 3. The description adds the crucial mutually-exclusive rule ('Provide exactly one of url or code') and clarifies that the tool accepts both posts and reels, which is not captured by the schema's empty required list.
Input schemas describe structure but not intent. Descriptions should explain 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: 'Get the users who liked an Instagram post or reel,' and states the two accepted input forms, URL or shortcode. It clearly distinguishes itself from sibling tools like instagram_post_comments and instagram_post_details by focusing on the list of likers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 clear: call this when you need the users who liked a specific Instagram post or reel. It does not explicitly name alternatives or exclusion conditions, but the purpose is specific enough that an agent can infer when it applies and when a sibling like instagram_post_details would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_followersAInspect
Get an Instagram user's followers by username or profile URL. Returns username, full name, user ID, verification and privacy status, and profile picture for each follower, 50 per page (billed per page returned). Verified (blue checkmark) accounts return only their first ~50 followers; extra pages are not billed. Pass query to search the followers instead (up to 50 matches, one request). Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters) | |
| pages | No | Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 followers; verified accounts return the first page only | |
| query | No | Optional keyword to search this user's followers by username or name (max 100 characters). Returns up to 50 matches in a single request; pages is ignored | |
| username | No | Instagram username, with or without leading @ (max 100 characters) |
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 it excels: it discloses pagination size (50 per page), billing behavior ('billed per page returned'), the verified-account first-page-only limitation, and that query mode ignores pages. These are non-obvious behavioral traits an agent needs to avoid unwanted costs or incorrect 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?
Five compact sentences, front-loaded with the core purpose and followed by return-field, pagination, billing, and query-mode details. Every sentence carries operationally relevant information without filler or repetition of schema 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 4-parameter tool with no output schema, the description covers input selection, mode selection, return fields, pagination, billing, and a critical limitation. There is no output schema, so the explicit list of returned fields is essential and provided. Nothing an agent needs 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?
Schema coverage is 100%, so the baseline is 3. The description adds significant semantic value beyond the schema by stating 'Provide exactly one of username or url' — critical because no parameters are required in the schema. It also reinforces that query mode replaces pagination, though this 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?
Description opens with 'Get an Instagram user's followers by username or profile URL,' naming a specific verb and resource. It also lists the exact returned fields (username, full name, user ID, verification/privacy status, profile picture), making it unmistakable from siblings like instagram_user_following or instagram_user_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 gives clear context on how to use query mode vs paginated browsing ('Pass query to search the followers instead'), the verified-account limitation, and the mutual-exclusion constraint ('Provide exactly one of username or url'). It does not explicitly compare against sibling tools such as instagram_user_following, but the purpose wording makes the differentiation evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_followingAInspect
Get the accounts an Instagram user follows, by username or profile URL. Returns username, full name, user ID, verification and privacy status, and profile picture for each account, 50 per page (billed per page returned). Pass query to search the following list instead (up to 50 matches, one request). Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters) | |
| pages | No | Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 accounts | |
| query | No | Optional keyword to search the accounts this user follows by username or name (max 100 characters). Returns up to 50 matches in a single request; pages is ignored | |
| username | No | Instagram username, with or without leading @ (max 100 characters) |
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 billing per page returned, pagination of 50 per page, and the distinct behavior of the query parameter (single request, ignores pages). It does not mention rate limits or errors, but the core behavioral aspects relevant to selection and invocation 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 concise and front-loaded, with the primary purpose stated first. Each sentence adds useful information (fields returned, pagination, billing, query alternative, parameter constraint). 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 4 parameters, no output schema, and no annotations, the description covers the key operational aspects: required parameter choice, pagination, billing, and query behavior. It does not specify error scenarios or access prerequisites, but these are not essential for basic invocation and are not expected given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds meaning beyond the schema by explaining the mutual exclusivity of username/url, the interaction of query with pages, and the pagination semantics. This helps the agent understand how to combine parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain 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 retrieves the accounts an Instagram user follows, by username or URL, and lists the returned fields. This distinguishes it from siblings like instagram_user_followers (which gets followers) and instagram_user_profile (which gets a single user's 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 gives explicit usage constraints: 'Provide exactly one of username or url' and clarifies that the query parameter searches within the following list, with pages ignored. It does not name sibling tools as alternatives, but the tool's purpose is self-evident from its name and description, so the context is clear without explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_highlightsAInspect
Get an Instagram user's story highlights tray by username or profile URL. Returns each highlight's ID, title, story count, cover image, created / updated dates, and link. Use instagram_highlight_stories with a highlight_id to fetch the stories inside a highlight. Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters) | |
| username | No | Instagram username, with or without leading @ (max 100 characters) |
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. It clearly discloses the operation type ('Get'/'Returns') and lists the returned fields (ID, title, story count, cover image, dates, link), which conveys read-only behavior and output shape. It does not mention edge cases like private accounts or rate limits, but for a simple read tool this is reasonably 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?
Three short sentences with no filler. The action and input method are front-loaded, then return fields are listed, and the sibling-tool routing and the one-of constraint are stated last. Everything 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-only tool with 100% schema coverage, the description covers what the tool does, its inputs, its output fields, and the relationship to the companion tool. No critical information needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already explains URL and username formats. The description adds meaningful value by specifying the mutually exclusive requirement 'exactly one of username or url,' which is not encoded as a required field in the schema. This reduces ambiguity about how to select between the two 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 uses a specific verb and resource: 'Get an Instagram user's story highlights tray by username or profile URL.' It clearly distinguishes from the sibling instagram_highlight_stories by noting that the tray is the top-level collection and referencing the sibling for stories inside a highlight.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states exactly when to use the alternative: 'Use instagram_highlight_stories with a highlight_id to fetch the stories inside a highlight.' It also enforces an input rule with 'Provide exactly one of username or url,' making the calling contract explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_postsAInspect
Get a single Instagram user's recent posts and reels (their feed) by profile URL or username. Returns captions, engagement metrics (likes, comments, shares, views), author metadata, hashtags, mentions, and Instagram's AI label. Up to 12 posts per page; billed per page. Provide exactly one of url or username.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters) | |
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 12 posts | |
| username | No | Instagram username, with or without leading @ (max 100 characters) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 substantial work: it discloses pagination ('Up to 12 posts per page'), billing ('billed per page'), identifier exclusivity ('Provide exactly one'), and the specific content fields returned. It does not mention rate limits or authentication, but the core behavior is 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 compact and front-loaded, starting with the action and resource, then listing return fields, then pagination/billing, then the exclusivity constraint. Every sentence adds operational value, and there is no fluff 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?
Despite having no output schema or annotations, the description provides enough to invoke the tool correctly: how to identify the user, what is returned, pagination limits, cost implications, and the required one-of constraint. No critical operational detail is missing for making the 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 coverage is 100%, so the baseline is 3, but the description adds a critical constraint not present in the schema: 'Provide exactly one of url or username.' It also clarifies page-level behavior and cost, going slightly beyond the schema's individual 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 states a clear action ('Get') and a specific resource: a single Instagram user's recent posts and reels. It lists the identifier options (profile URL or username) and enumerates the returned data, making it readily distinguishable from sibling tools like instagram_user_profile or instagram_user_stories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 use: fetching one user's feed, with posts and reels, by URL or username. It does not explicitly name alternative tools or when not to use this one, but the scope is clear enough for an agent to select it over profile, story, highlight, or hashtag tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_profileAInspect
Get the full profile for a single Instagram user by username or profile URL. Returns biography, follower / following counts, media count, category, external link, verification status, country the account is based in, join date, verification date, former usernames, and whether Instagram labels the account as an AI-generated profile. Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters) | |
| username | No | Instagram username, with or without leading @ (max 100 characters) |
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 clearly conveys this is a read operation, enumerates the returned profile fields in detail, and warns that exactly one identifier must be supplied. It does not discuss rate limits or error cases, but for a read-only profile lookup the behavioral expectations are well conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and resource, then delivers a compact but complete list of return fields and a clear usage constraint in only two sentences. No verbose or redundant wording 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?
Given the simple two-parameter schema and no output schema, the description covers the input constraint and enumerates the key return fields, which is sufficient for an agent to invoke the tool and understand the response. It does not specify behavior for private/deactivated profiles or error handling, but these are minor gaps for this straightforward lookup.
Complex tools with many parameters or behaviors need more documentation. 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 both parameters with 100% coverage, so the baseline is 3. The description adds meaningful semantic value by specifying that exactly one of username or url is required and framing the url as a profile URL, which helps an agent choose between the two parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Get the full profile for a single Instagram user') and clearly distinguishes this from sibling tools like instagram_user_followers or instagram_user_posts by focusing on the complete profile. It also names the accepted input forms, username or profile URL, making the tool's scope 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 for when to use the tool: fetching a single user's profile data. It also provides an explicit usage rule, 'Provide exactly one of username or url,' which prevents ambiguous calls, though it does not explicitly name alternative tools for scenarios like follower lists or posts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instagram_user_storiesAInspect
Get an Instagram user's currently active stories (last 24 hours) by username or profile URL. Returns each story's media URLs (image or video), post time and expiry, link stickers, mentions, tagged users, location, audio, and Instagram's AI detection method. Media URLs are temporary (~6-24 hours). Returns an empty list when the user has no active stories. Provide exactly one of username or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters) | |
| username | No | Instagram username, with or without leading @ (max 100 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden and does well: it discloses the return fields, states that media URLs are temporary (~6-24 hours), and explains the empty-list behavior for users without active stories. It does not mention error cases for private accounts or invalid username/URLs, but the provided disclosures are substantive 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 yet information-dense: it states the main action, result contents, temporal constraints, the empty-list case, and the key parameter rule in four sentences. Every sentence contributes actionable information without repetition or 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?
For a two-parameter read tool with no output schema, the description fully covers the essential invocation context: input format ('username or profile URL'), required parameter exclusivity, returned data fields, URL expiry, and empty-result behavior. An agent has enough information to select and call 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?
The input schema already documents both parameters with useful examples)Skip, so baseline is 3. The description adds meaningful semantic value by stating 'Provide exactly one of username or url,' which establishes mutual exclusivity not present in the schema. This clarifies a likely edge case and helps the agent invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain 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 clearly states the tool retrieves currently active Instagram stories from the last 24 hours by username or profile URL. The phrase 'currently active stories' distinguishes it from permanent or archived stories (e.g., instagram_highlight_stories, instagram_user_highlights). It also enumerates the returned content, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear temporal context—stories are only those active in the last 24 hours—and notes the empty-list case, which helps an agent decide when to call this tool. However, it does not explicitly name alternatives like instagram_highlight_stories or instagram_user_highlights for non-active stories, so it stops short of full 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.
linkedin_company_detailsAInspect
Get detailed information about a LinkedIn company page by URL. Returns company name, description, employee count, locations, specialities, industry, website, and similar companies.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn company page URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It lists the exact return fields, which is useful, but it does not disclose potential failure scenarios (e.g., invalid URL, missing data) or whether any special permissions are required. The behavior is a simple read, but edge cases are not addressed.
Agents need to know what a tool does to the 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, front-loaded sentence that directly states the action and lists the return fields. Every word contributes to understanding, with no 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?
For a simple tool with one parameter and no output schema, the description adequately covers input (URL) and output (specific fields). It does not mention error handling or the need for prior search, but given the low complexity, the description is sufficiently 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?
The input schema already provides 100% coverage for the url parameter with a description ('LinkedIn company page URL'). The tool description merely repeats 'by URL' without adding extra meaning, such as URL format examples or constraints. Since schema fully documents the parameter, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Get detailed information about a LinkedIn company page by URL' and enumerates the specific fields returned (name, description, employee count, etc.). This clearly distinguishes it from siblings like linkedin_company_posts (posts) and search_linkedin_companies (search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 the use case: you need a LinkedIn company URL to retrieve detailed metadata. It mentions the URL requirement but does not explicitly contrast with alternatives such as search_linkedin_companies or note when not to use the tool. Context is clear, but exclusions are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_company_postsBInspect
Get recent posts from a LinkedIn company page by URL. Returns posts with engagement metrics (likes, comments, shares, reactions).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn company page URL | |
| page | No | Page number, 1-50 (default: 1). 10 posts per page | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 disclosure burden. It states that the tool returns engagement metrics, which is useful, but it does not disclose URL format requirements, ordering of posts, meaning of 'recent', rate limits, authentication needs, or error behavior. For a read operation this is a moderate gap, but not a complete black box.
Agents need to know what a tool does to the 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 redundancy. The core action, input, and output summary are all front-loaded in the first sentence, and the second sentence adds relevant detail about the returned engagement metrics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 relatively simple with one required parameter and schema-covered optional parameters, but there is no output schema and no annotations. The description partially covers return values by listing engagement metrics, yet it leaves ambiguity around pagination semantics, the meaning of 'recent', and expected URL format. Sufficient for a straightforward call, 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 documents all three parameters and their defaults. The description adds minor context by indicating the result focuses on engagement metrics, but it does not meaningfully expand on the meaning of page or get_sentiment beyond what the schema already states. 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 uses a specific verb ('Get') and resource ('recent posts from a LinkedIn company page by URL'), clearly distinguishing this from sibling tools like linkedin_company_details, linkedin_person_posts, and linkedin_post_details. The 'by URL' qualifier reinforces exactly what input is expected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 about when to use this tool versus alternatives. It does not mention that company details should use linkedin_company_details, that individual posts should use linkedin_post_details, or that person posts should use linkedin_person_posts. Any such distinction is only implied by the tool name and resource wording, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_job_detailsAInspect
Get detailed information about a specific LinkedIn job listing by URL or numeric job ID. Returns title, company, location, posting date, job type, experience level, workplace type, industry, salary, benefits, and full description.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn job URL (e.g. https://linkedin.com/jobs/view/1234567890) or numeric job 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. It discloses that the tool returns a comprehensive set of fields (title, company, location, date, type, etc.), giving the agent a clear picture of the response behavior. The word 'Get' implies a read-only operation, though it does not explicitly state non-destructiveness or error conditions. Still, it provides substantial 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 a single, focused sentence that front-loads the action ('Get detailed information') followed by the resource and a concise list of returned fields. Every word adds value, with no redundant or verbose phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 single-parameter read tool with no output schema and no annotations. The description fully covers what the tool does, how it is invoked (URL or ID), and what it returns (all major job attributes). For its complexity level, the description is complete and self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the url parameter already described as 'LinkedIn job URL ... or numeric job ID.' The tool description adds no new parameter semantics beyond repeating that the input can be a URL or numeric ID. This meets the baseline for parameters already well-documented in the schema, but does not elevate 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 description uses a specific verb and resource: 'Get detailed information about a specific LinkedIn job listing.' It clearly differentiates from sibling tools like search_linkedin_jobs by focusing on a specific listing by URL or ID. It also enumerates the returned data fields, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when you have a LinkedIn job URL or numeric job ID and need detailed information. It does not explicitly mention alternatives or exclusions, but the 'by URL or numeric job ID' qualifier provides clear context that this is for retrieving a single job's details, not for searching or listing jobs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_person_postsAInspect
Get recent posts authored by a LinkedIn person by profile URL or public slug. Returns posts with engagement metrics (likes, comments, shares, reactions), author info, images, videos, and articles.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn profile URL or public slug (e.g. williamhgates) | |
| page | No | Page number, 1-30 (default: 1). 20 posts per page — up to ~600 of the person's most recent posts. | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains the return payload (posts, engagement metrics, author info, images, videos, articles), which gives a reasonable model of a read-only list endpoint. However, it does not disclose limitations such as how 'recent' is defined, rate limits, pagination bounds beyond the schema, or failure 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?
A single dense sentence front-loads the action and resource, then efficiently lists the return contents. There is no filler or redundant phrasing, so every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity list endpoint with a fully documented schema, the description covers the core inputs and gives an adequate summary of the output shape since no output schema exists. It is missing minor edge-case context like authentication or error behavior, but is not critically 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 url, page, and get_sentiment. The description mostly restates the url parameter ('profile URL or public slug') and adds no meaningful parameter semantics beyond the schema, which is the baseline case.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Get'), resource ('recent posts authored by a LinkedIn person'), and method of identification ('profile URL or public slug'). It clearly differentiates from sibling tools like linkedin_company_posts (company vs person) and linkedin_post_details (single post vs list of recent 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?
The description establishes a clear usage context: use this when you need recent posts from a specific LinkedIn person and have their profile URL or slug. It does not explicitly state exclusions or name alternative tools, but the context 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.
linkedin_post_detailsAInspect
Get detailed information about a specific LinkedIn post by URL. Returns full post text, author details, and engagement metrics (likes, comments, shares, reaction breakdowns).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | LinkedIn post URL | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It does convey that this is a retrieval operation and previews the return payload, which is useful. However, it does not mention authentication requirements, rate limits, public-post accessibility, or failure behavior, leaving a moderate transparency gap for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no filler. It front-loads the core purpose and immediately specifies what the caller can expect in the response. Every part 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 straightforward two-parameter retrieval endpoint, the description combined with the schema is largely sufficient: it names the required input, scopes the target, and describes the expected output categories. It omits edge-case caveats such as URL validity or privacy restrictions, but these are not essential for basic tool selection and 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?
The schema already covers both parameters at 100%: 'url' has a direct description and 'get_sentiment' has a detailed explanation. The tool description adds little beyond restating the URL requirement and does not clarify sentiment behavior. With full schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action and resource: 'Get detailed information about a specific LinkedIn post by URL.' It also enumerates the return contents, which distinguishes it from event-like siblings such as linkedin_company_posts or search_linkedin. The scope is unambiguous and immediately actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: call this when you already have a LinkedIn post URL and need post-level detail. However, it does not name alternatives or explain when not to use it, such as when looking for company posts or person posts. The 'by URL' condition provides context, but explicit routing guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_skillsAInspect
START HERE for common goals. Lists the ready-made API Direct skills — expert playbooks that chain these tools (with non-obvious filters like author_title, mentions_company, author_company, freshness windows and AI sentiment) to deliver a concrete outcome: find leads, intercept a competitor's unhappy customers, source talent, monitor brand/reputation, detect just-raised startups, build a local acquisition list, run due diligence, and more. Whenever the user's request looks like lead-gen, competitor/brand monitoring, recruiting, due diligence, deal sourcing or market research, call this FIRST to check for a matching playbook before improvising your own searches. Returns each skill's id, name, category, what it does, and its inputs. Then call get_skill to run one.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional: filter to a category substring, e.g. "sales", "recruiting", "investing", "crisis". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It explains that the tool lists skills and details the return contents (id, name, category, description, inputs), plus it clarifies that the tool is a starting point and that skills are playbooks. It does not disclose potential pagination, rate limits, or error behavior, but for a simple listing tool, the behavioral transparency is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with 'START HERE' and clearly structured in four sentences covering purpose, usage, return value, and next step. It is somewhat verbose due to long enumerations of outcomes and use cases, but every sentence contributes value, so it earns a 4 rather than 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 description is complete for a simple tool: it explains what the tool does, when to use it, what it returns, and how to proceed (via get_skill). Since there is no output schema, the description's explicit mention of return fields adequately compensates. The guidance about common goals and playbooks adds rich 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?
The schema description fully covers the only optional parameter 'category' with examples ('sales', 'recruiting', etc.), so schema coverage is 100%. The main description does not add anything about the parameter, but the baseline of 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool 'Lists the ready-made API Direct skills' and explicitly enumerates what it returns ('each skill's id, name, category, what it does, and its inputs'). It also distinguishes itself from siblings by positioning as the entry point and referencing get_skill for running a skill, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'Whenever the user's request looks like lead-gen, competitor/brand monitoring, recruiting, due diligence, deal sourcing or market research, call this FIRST to check for a matching playbook before improvising your own searches.' It names an alternative (improvising searches) and suggests a follow-up action (get_skill), though it does not explicitly state when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_detailsAInspect
Get full details for a Google Maps place by place_id (the ChIJ... value returned by search_places). Returns name, address, phone, website, rating, review counts per star, opening hours, photos sample, coordinates, plus codes, menu link, owner info, and an emails / phones / social profile scrape of the place's website.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | 2-letter country code (default: "us") | us |
| language | No | 2-letter language code (default: "en") | en |
| place_id | Yes | Google place_id (e.g. ChIJifIePKtZwokRVZ-UdRGkZzs) |
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 the read-only nature ('Get'), and details the return payload including a website scrape, photos sample, owner info, and more, giving a transparent 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?
One sentence, front-loaded with the core purpose, followed by a detailed yet relevant list of return fields. Every clause adds value and the length is justified by the tool's comprehensive nature.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 or annotations, the description is exceptionally complete: it enumerates the return fields, mentions the website scrape, and ties the input to search_places. This is sufficient 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%, so baseline is 3. The description adds valuable semantics by explaining that place_id is the ChIJ... value from search_places, clarifying how agents should source this parameter. It also implies that country and language affect the returned details.
Input schemas describe structure but not intent. Descriptions should explain 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 'Get full details for a Google Maps place by place_id', using a specific verb and resource. It clearly identifies the input (ChIJ... value from search_places) and distinguishes itself from sibling tools like place_photos and place_reviews by returning a comprehensive set of 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 states that place_id is the value returned by search_places, providing clear prerequisite context. It does not explicitly name alternative tools or when-not-to-use, but the 'full details' scope makes the tool's niche unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_photosAInspect
Get photos and videos for a Google Maps place by place_id. Returns photo URLs (both standard and large), coordinates, and capture timestamps. Photos and videos are returned together — filter by the type field client-side if you want one or the other. Use the pages parameter to fetch more — each page returns up to 10 items and is billed as one request.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-10 (default: 1). Each page returns up to 10 items and is billed as one request. | |
| country | No | 2-letter country code (default: "us") | us |
| language | No | 2-letter language code (default: "en") | en |
| place_id | Yes | Google place_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 reveals that photos and videos are returned together, that pagination works in pages of up to 10 items billed per request, and that results include URLs, coordinates, and timestamps. It stops short of discussing rate limits, authentication, or the meaning of 'type' values, but the disclosed behavior is substantial and accurate.
Agents need to know what a tool does to the 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 front-loaded. The first sentence states the primary purpose, the second details return fields and the media-type caveat, and the third explains pagination. 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?
Given the absence of an output schema, the description does well to mention the key returned fields (URLs, coordinates, timestamps) and clarify that the type field must be filtered client-side. It also explains pagination and billing. It could have added error conditions or examples of valid place_id, but for a read-only listing tool this is quite 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?
The input schema already provides 100% coverage for all four parameters, so the description's additional value on parameters is limited. It does reinforce the meaning of the pages parameter ('each page returns up to 10 items and is billed as one request'), but this information already exists in the schema description. Baseline 3 is appropriate when the schema is comprehensive.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Get') and resource ('photos and videos for a Google Maps place by place_id'), clearly differentiating from sibling tools like place_details or place_reviews. It also lists the main return fields (URLs, coordinates, timestamps), leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use: it is keyed by place_id, returns both photos and videos together, and instructs the client to filter by type. It also explains pagination behavior with the pages parameter. However, it does not explicitly state when to use this tool versus alternative media-fetching tools (e.g., if sibling tools also return media), though this is minor given the clear scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_reviewsAInspect
Get user reviews for a Google Maps place by place_id. Each review includes rating, review text, author info, timestamps, photos, and any owner response. Each page returns up to 10 reviews. The language parameter filters reviews to those originally written in that language (language=fr returns French reviews only, language=es returns Spanish only, etc.). Combine with sort_by (4 options) to surface a much larger pool.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages, 1-10 (default: 1). Each page returns up to 10 reviews and is billed as one request. | |
| country | No | 2-letter country code (default: "us") | us |
| sort_by | No | Sort order | most_relevant |
| language | No | 2-letter language code (default: "en"). Filters reviews to those originally written in this language. | en |
| place_id | Yes | Google place_id | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. | |
| translate_reviews | No | Translate the returned reviews into the requested language |
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 discloses pagination behavior (10 reviews per page), language filtering semantics (original language, not translation), and the effect of combining language with sort_by. It also mentions billing implications indirectly via the pages parameter description. It does not disclose rate limits or failure modes, but the disclosed behaviors are meaningful 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 description is three sentences and front-loads the core purpose. The first sentence states the verb, resource, and key input. The second adds return contents and pagination. The third explains language filtering and the sort_by tip. Every sentence earns its place, though the third sentence could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 and no annotations, the description covers the main behavioral aspects: what is returned, pagination, language filtering, and sort_by interaction. It doesn't describe the output structure in detail, but the absence of an output schema makes that a minor gap. The description is sufficient for an agent to call the tool correctly for common use 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 baseline is 3. The description adds value beyond the schema by explaining the practical effect of the language parameter (filters to original language, not translated) and the strategic tip to combine language with sort_by. It also clarifies the pagination/billing relationship. This exceeds the baseline but doesn't fully explain all parameter interactions.
Input schemas describe structure but not intent. Descriptions should explain 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 retrieves user reviews for a Google Maps place by place_id, and enumerates the review contents (rating, text, author info, timestamps, photos, owner response). It distinguishes itself from siblings like place_details and place_photos by focusing specifically on reviews, and from facebook_page_reviews/trustpilot_company_reviews by naming the Google Maps place context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 concrete usage guidance: it explains pagination (up to 10 reviews per page), how the language parameter filters reviews, and recommends combining language with sort_by to surface a larger pool. It does not explicitly state when not to use this tool versus place_details or search_places, but the context is clear enough for an agent to select it for review retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_amazon_productsAInspect
Search Amazon products by keyword across 24 marketplaces. Returns ASIN, title, price, original price, rating, ratings count, Prime status, sales volume, badges, and delivery info. Filter by category, price range, condition, brand, seller, Prime eligibility, deals, and rating floor. Each page returns ~16 results.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-20 (default: 1). Each page returns ~16 results. | |
| brand | No | Brand name(s), comma-separated for multiple | |
| query | Yes | Search keyword or a product ASIN (max 500 characters) | |
| country | No | Marketplace country code (default: "us"). One of: us, au, br, ca, cn, fr, de, in, it, mx, nl, sg, es, tr, ae, gb, jp, sa, pl, se, be, eg, za, ie | us |
| sort_by | No | Sort order | relevance |
| category | No | Numeric Amazon category node ID(s) from an Amazon URL's ?node= parameter, comma-separated | |
| is_prime | No | Only products with Prime-eligible offers | |
| max_price | No | Maximum price in the marketplace currency | |
| min_price | No | Minimum price in the marketplace currency | |
| seller_id | No | Only products from specific seller ID(s), comma-separated | |
| category_id | No | Category slug, e.g. electronics (see /docs/amazon-categories) | |
| four_stars_and_up | No | Only products rated 4 stars and up | |
| product_condition | No | Product condition filter | all |
| deals_and_discounts | No | Deals filter | none |
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. It discloses the return fields (ASIN, title, price, rating, Prime status, etc.), pagination behavior (~16 results per page), and available filters, which gives an agent a solid behavioral model of a read-only search operation. It does not go into rate limits or data freshness, but the disclosed behavior is substantially more than minimal.
Agents need to know what a tool does to the 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 tightly written sentences: what it does, what it returns, and what filters/pagination to expect. Every sentence adds value and the core action 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 the tool's complexity (14 parameters, no output schema), the description covers the key contextual gaps: return fields, marketplace scope, filters, and page size. It does not enumerate every parameter, but the schema already handles that. A short mention that queries can also be ASINs would have made it fully complete, but the current level is strong.
Complex tools with many parameters or behaviors need more documentation. Simple 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 14 parameters. The description provides a useful high-level summary of filter categories and page size, but it does not add meaning beyond what the schema already states, 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 opens with a specific verb and resource ('Search Amazon products by keyword') and adds a concrete scope ('across 24 marketplaces'). This clearly distinguishes it from sibling tools like amazon_product_details or amazon_seller_products, which target different lookup modes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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-based Amazon product discovery and lists filter capabilities, but it never explicitly states when to prefer this tool over alternatives like amazon_best_sellers or amazon_seller_products. There are no exclusions or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_blueskyBInspect
Search Bluesky posts by keyword. Billed $0.003 per page.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 posts; you are billed per page returned. | |
| query | Yes | Search keyword (max 500 characters). Bluesky search syntax works: "exact phrase", -exclude, from:handle, lang:en, #tag | |
| sort_by | No | Sort order: "most_recent" or "relevance" | most_recent |
| end_date | No | Only posts up to this date (format: YYYY-MM-DD) | |
| start_date | No | Only posts from this date onward (format: YYYY-MM-DD) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 disclose a cost behavior ('Billed $0.003 per page'), which is useful for an agent making economical calls, and the schema already documents pagination and page size. However, it omits other behavioral context like rate limits, auth requirements, or response shape. The cost signal is real but limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste; the core action is front-loaded and the billing caveat follows naturally. This is a model of concise, scannable tool description—every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema covers all parameter meanings, and the tool is a straightforward keyword search. However, with no output schema or annotation, the description does not tell the agent what fields/results to expect, nor does it mention any preconditions beyond the billing note. For a simple search tool this is minimally viable, but it leaves the return payload undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple 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 the six parameters and their formats. The description adds no parameter-specific semantics beyond the schema, such as query syntax or date formats, but it is not required to do so because the schema is complete. This aligns with the baseline 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 description states a specific verb, resource, and scope: 'Search Bluesky posts by keyword.' The resource 'posts' distinguishes it from the sibling search_bluesky_users, though it does not explicitly name the alternative. It is clear but lacks an explicit sibling differentiation, so it does not earn 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 provides no guidance on when to choose this tool over the many alternative search tools (e.g., search_bluesky_users, search_twitter). It does not state exclusions, prerequisites, or context that would help an agent decide between this and a sibling. The only extra signal is billing, which is cost-related rather than usage-direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bluesky_usersBInspect
Search Bluesky users by keyword. Billed $0.003 per page.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 users; you are billed per page returned. | |
| query | Yes | Search keyword (max 500 characters) |
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. It adds the per-page billing detail, which is useful and not present in the schema's exact form, and 'Search' implies a read operation. However, it does not describe response contents, pagination limits beyond the schema, or any side effects or rate-limit considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with the core action first and the cost signal second. There is no redundant or filler language; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity and its schema covers parameters well, but there is no output schema or annotation, and the description does not explain what a returned page of users contains or how this differs from the generic search_bluesky tool. It is sufficient for invoking correctly but lacks full operational 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?
The input schema already documents both parameters fully, including default, max length, page size, and billing per page. The description adds no new parameter-level meaning beyond restating that the search is by keyword.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Search Bluesky users') and clearly identifies the target as user accounts rather than posts or profiles. It does not explicitly name a sibling tool it replaces, but the platform/resource scope is enough to avoid most 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?
No guidance is given about when to use this tool instead of similar siblings such as search_bluesky, bluesky_user_profile, or search_twitter_users. There are no exclusions, preconditions, or distinguishing use cases beyond what the name already implies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_facebook_eventsAInspect
Search Facebook events by keyword. Optionally scope results to a place with location_id (resolve one via the search_facebook_locations tool).
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-15, default 1). Billed per page. | |
| query | Yes | Search keyword (max 500 characters) | |
| end_date | No | Filter events until this date (YYYY-MM-DD) | |
| start_date | No | Filter events from this date (YYYY-MM-DD) | |
| location_id | No | Facebook location ID (from search_facebook_locations) to scope results to a place |
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 communicates keyword search and optional place scoping, but says nothing about pagination/billing behavior, date filtering, result format, ordering, or limits. For a search tool with no output schema, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence that front-loads the primary action ('Search Facebook events by keyword') and then adds the single most important optional modifier. Every word earns its place with no 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?
For a 5-parameter tool with no output schema and no annotations, the description covers the core query and optional location scoping but omits the date-range options, pagination semantics, and what the response looks like. It is minimally viable but not fully complete for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple 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. The description adds value for location_id by directing the agent to search_facebook_locations, though the schema already says the same thing, so it contributes limited new semantic 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 states a specific verb ('Search'), a clear resource ('Facebook events'), and the matching criterion ('by keyword'). It also distinguishes itself from sibling Facebook search tools (pages, posts, videos, locations) by naming 'events' and by pointing to the companion location tool for place-scoped searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 invocation context: search by keyword, and optionally scope to a place using location_id resolved via search_facebook_locations. It doesn't explicitly state when not to use this tool or contrast it with other facebbook search siblings, but the event-specific resource and location resolution guidance make the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_facebook_locationsAInspect
Resolve a place name (city, region, or country) to Facebook location IDs. Use the returned id as the location_id argument to search_facebook_posts or search_facebook_events to scope a search to that place.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Place name to resolve, e.g. "London" or "Paris, France" (max 500 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description is the only behavioral disclosure. It explains the output's purpose but does not mention handling of ambiguous names, multiple matching locations, no-result cases, or exact return format—important gaps for a resolver.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, purpose first, every word earns its place. It is brief and highly 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 single-parameter resolver, the description fully covers purpose, input scope, and output usage via downstream tool references. No output schema is needed when the description points to the exact consumers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already defines 'query' with a description and max length. The description adds semantic narrowing by specifying accepted entity types (city, region, country), which is extra value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Resolve' and clearly states the resource (place name to Facebook location IDs). It distinguishes this from sibling content-search tools by framing it as a preparatory lookup step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 tells when to use the tool (to obtain a location ID for scoping searches) and names two direct consumer tools (search_facebook_posts, search_facebook_events). This provides clear integration context and implicitly contrasts with alternative search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_facebook_pagesCInspect
Search Facebook pages by keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-15, default 1). Billed per page. | |
| query | Yes | Search keyword (max 500 characters) |
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 only says 'Search Facebook pages by keyword' and does not mention result shape, pagination behavior, rate limits, or scope limitations like public pages only. This is a minimal statement rather than a transparent behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler and the core action is front-loaded. It is structurally efficient, though slightly under-specified for the broader selection context; still, this is a genuine conciseness strength rather than a verbosity problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 behavioral context available. It omits what returned page results look like, how results are ordered, and when this search should be preferred over neighboring Facebook search tools. This is too thin for confident tool selection among many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already documented and the baseline is 3. The description's 'by keyword' vaguely maps to the query parameter but adds no new information about pages, pagination, or billing. It neither improves nor harms 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 clearly identifies the action: search Facebook pages by keyword. It is unambiguous about the resource type, but it does not differentiate this tool from siblings like search_facebook_posts, search_facebook_videos, or search_facebook_events, so an agent may need extra inference to pick the right one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as search_facebook_posts, facebook_page_details, or search_facebook_locations. The description only restates the operation and provides no context, exclusions, or routing hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_facebook_postsBInspect
Search Facebook posts by keyword across all of Facebook. Optionally scope results to a place with location_id (resolve one via the search_facebook_locations tool).
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-15, default 1). Billed per page. | |
| query | Yes | Search keyword (max 500 characters) | |
| sort_by | No | Sort order: most_recent or relevance (default: relevance) | relevance |
| end_date | No | Filter posts until this date | |
| start_date | No | Filter posts from this date | |
| location_id | No | Facebook location ID (from search_facebook_locations) to scope results to a place | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 not mention any side effects, rate limits, pagination behavior, output structure, or whether the search is read-only. The schema already covers parameter descriptions, but the description adds no information about what happens when calling the tool (e.g., result format, potential errors, billing implications beyond what schema mentions).
Agents need to know what a tool does to the 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, front-loaded with the primary purpose. The optional location scoping is placed second, and the pointer to the sibling tool is efficient. There is no fluff or redundant 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?
With 7 parameters, no output schema, and no annotations, the description is too sparse. It does not state what the returned data looks like (list of posts with fields), how pagination works (pages param is billed per page but no indication of what a page contains), or any caveats about sentiment analysis. The agent would have to guess the response format, which is a significant 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 coverage is 100%, so all 7 parameters already have descriptions. The description adds value only for location_id by pointing to search_facebook_locations as the resolver, which is helpful but not present in the schema. It does not explain date formats, pagination semantics, or how sort_by interacts with date filters. Baseline 3 is appropriate since the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain 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 action ('search Facebook posts'), the scope ('across all of Facebook'), and the optional location scoping via location_id, which also points to the sibling search_facebook_locations tool. This distinguishes it from other Facebook search tools (pages, videos, events) 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?
The description gives one explicit usage hint: use location_id to scope results, and resolve it via search_facebook_locations. However, it does not explain when to choose this tool over alternatives like facebook_page_posts (for a specific page) or search_facebook_videos. The 'across all of Facebook' phrase implicitly contrasts with page-specific tools, but it is not explicit about exclusions or preferred contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_facebook_videosBInspect
Search Facebook videos by keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-15, default 1). Billed per page. | |
| query | Yes | Search keyword (max 500 characters) | |
| sort_by | No | Sort order: most_recent or relevance (default: relevance) | relevance |
| end_date | No | Filter videos until this date | |
| start_date | No | Filter videos from this date | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 only says 'Search Facebook videos by keyword' and does not mention pagination behavior, billing per page (though the pages parameter description mentions billing), rate limits, or what happens with invalid dates or empty results. The schema's pages parameter notes 'Billed per page,' which is useful, but the main description adds no 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 a single, concise sentence that front-loads the core action and resource. It is efficient and not padded, though it could add a brief usage hint without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 six parameters and no output schema, the description is thin. It does not explain what fields the results contain, how pagination works, or how the sentiment option affects output. The schema covers parameter semantics, but the overall tool behavior and result shape are left unspecified, which is a notable gap for an agent deciding whether and how to 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 schema already documents all six parameters. The description itself adds no parameter-level meaning beyond the schema, but the schema's parameter descriptions are fairly clear (e.g., pages, sort_by, get_sentiment). Baseline 3 is appropriate because the description doesn't need to compensate for missing 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 'Search Facebook videos by keyword' clearly states the action (search) and resource (Facebook videos), and the query parameter is the primary input. It is distinguishable from siblings like facebook_page_videos (which targets a specific page's videos) and search_facebook_posts (which targets posts), though it doesn't explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for keyword-based search across Facebook videos, and the schema provides sort/date/sentiment options that clarify how to refine a search. However, it does not explicitly state when to choose this over search_facebook_posts or facebook_page_videos, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_forumsCInspect
Search forum posts across the web.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-10 (default: 1). 10 posts per page | |
| time | No | Time filter: "any", "hour", "day", "week", "month", or "year" | any |
| query | Yes | Search keyword (max 500 characters) | |
| country | No | 2-letter ISO country code, e.g. "us", "gb" | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 conveys a read-only web search, but gives no operational detail about result format, pagination, rate limits, platform coverage, or the sentiment-analysis surcharge mentioned in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one sentence with no filler, and the core action is front-loaded. It is suitably lean, though slightly under-specified for a tool with five parameters and many closely related sibling search tools.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 explain more about what the agent can expect and how to choose this tool. It omits behavioral context, result expectations, and any differentiation from the many other search_* siblings, leaving the description incomplete for reliable tool 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%, and each parameter already has a clear description (page range, time filter, country code, query length, sentiment option). The tool description adds no extra parameter-level meaning, 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?
States a specific action ('Search'), a resource ('forum posts'), and a scope ('across the web'), making the core function clear. However, it does not explicitly distinguish itself from overlapping siblings like search_reddit or search_web, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use search_forums versus alternatives such as search_reddit, search_news, or search_web. The description only implies the use case through the resource name and provides no exclusions, prerequisites, or routing hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_instagramBInspect
Search Instagram posts by keyword. Each post includes Instagram's AI label (ai_label: label text such as "AI content" plus detection_method).
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| query | Yes | Search keyword (max 500 characters) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 one useful behavioral detail (each post includes an AI label), but says nothing about pagination behavior, rate limits, authentication, or the overall structure of results. This is minimal for a tool with no annotation safety net.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both purposeful: the first states the core action and resource, the second highlights a distinctive output field. 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?
With no output schema and no annotations, the description is the only source of behavioral context. It covers the core function and one output detail, but omits what a typical result set looks like, whether pagination is automatic, and how errors are surfaced. Adequate for a simple search tool, but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters (query, pages, get_sentiment), so the baseline is 3. The description adds no additional parameter-level 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 states a specific verb and resource: 'Search Instagram posts by keyword.' This clearly distinguishes it from sibling tools like search_instagram_users and instagram_hashtag_posts. The added detail about AI labels further clarifies 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 gives no guidance on when to use this tool versus alternatives. It does not mention exclusions (e.g., hashtag searches should use instagram_hashtag_posts) or any context that would help an agent choose between this and other Instagram search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_instagram_usersBInspect
Search Instagram users by keyword. Returns username, full name, verification status, profile picture, and whether Instagram labels the account as an AI-generated profile.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword (max 500 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden of behavioral disclosure. It usefully discloses that the result includes verification status and AI-generated profile labeling, which is more than a generic search description. However, it does not mention pagination, result limits, authentication requirements, or any other runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-formed sentence communicates the action and the key output fields without any filler. Every phrase earns its place and the core purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter search tool with no output schema, the description is fairly complete: it specifies the input and summarizes the return fields. It could be more complete by noting result count or pagination behavior, 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?
The input schema already covers the single query parameter at 100%, including the max length. The description adds little beyond calling it a keyword, so the baseline of 3 is appropriate; no additional meaning 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 states a specific action, 'Search Instagram users by keyword,' and even lists the returned fields, making the tool's purpose obvious. However, it does not distinguish itself from sibling tools like search_instagram or instagram_user_profile, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to choose this tool over alternatives such as search_instagram, instagram_user_profile, or the other platform search tools. The description states what the tool does but not the conditions, prerequisites, or exclusions that should drive selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_linkedinAInspect
Search LinkedIn posts. Provide a query and/or a filter below. Powerful filters: author (posts BY a person), author_title (posts by people with a given job title, e.g. Founder/CEO — applies alongside a query), author_company (posts by employees of a company id), from_company (posts by a company page id), mentions_company (posts that MENTION a company id), mentions_member (posts that mention a person), author_industry. Returns post content, engagement metrics, attached media, a has_content_entities repost flag, and optional AI sentiment.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-25 (default: 1). 20 posts per page | |
| query | No | Search keyword (max 500 characters). Optional if you supply a filter below. | |
| author | No | Posts authored by this person — profile URL, public slug (e.g. williamhgates), or member URN. Comma-separate for multiple. | |
| sort_by | No | Sort order: "most_recent" or "relevance" | most_recent |
| author_title | No | Posts by authors whose job title matches this free text (e.g. "CEO", "Founder"). Applies alongside a query. | |
| from_company | No | Posts authored by a company page. Numeric company id(s), comma-separated. | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. | |
| author_company | No | Posts by people who work at this company. Numeric LinkedIn company id (from search_linkedin_companies). | |
| author_industry | No | Posts by authors in these numeric LinkedIn industry id(s), comma-separated. Advanced; applies alongside a query. | |
| mentions_member | No | Posts that mention this person (profile URL, public slug, or member URN). | |
| mentions_company | No | Posts that mention this company. Numeric company id. |
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 it meets it reasonably well by stating exactly what the tool returns: post content, engagement metrics, attached media, a repost flag, and optional sentiment. This is a read/search operation, so the absence of auth/rate-limit notes is less critical; the description conveys the observable behavior of the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the action, the query-or-filter requirement, the most useful filters, and the return payload are all stated in two sentences. Every clause adds usable information, with no filler or repetition of schema 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 an 11-parameter search tool with no output schema and no annotations, the description supplies the key missing context: what the tool searches, how filters work, and what the response contains. It does not mention pagination or the sentiment surcharge, but those are available in the input schema, so the overall package is strong but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. 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 11 parameters with 100% coverage, so the baseline is 3. The description adds value beyond the schema by grouping parameters into 'powerful filters' and clarifying semantic distinctions such as posts BY vs posts that MENTION a company or person, which helps an agent choose the right filter for the intended search.
Input schemas describe structure but not intent. Descriptions should explain 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: 'Search LinkedIn posts.' It goes on to list the distinct filter types (author, author_title, company, mentions, industry) and the returned fields, so an agent can unambiguously identify this as the post-search tool and distinguish it from siblings like search_linkedin_companies or linkedin_company_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?
The description gives clear operational guidance: provide a query and/or a filter, and explains how filters apply (e.g., author_title 'applies alongside a query'). It does not explicitly name alternative tools or exclusion criteria, but the usage context is sufficiently clear for selecting and invoking this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_linkedin_companiesAInspect
Search LinkedIn companies by keyword. Returns company name, description, followers, and logo.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-100 (default: 1). 10 results per page. | |
| query | Yes | Search keyword (max 500 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral disclosure burden. It mentions return fields (name, description, followers, logo) but omits key behavioral traits such as whether the operation is read-only, authentication requirements, rate limits, or pagination specifics beyond the schema. The word 'search' implies read-only, but no explicit safety guarantees are 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?
The description is two concise yet informative sentences. It front-loads the action and return summary without any filler or redundant details, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-param search tool, the description is minimally adequate: it states what is searched, how (by keyword), and what is returned. However, it lacks usage guidance and behavioral transparency, which leaves gaps in selection confidence and invocation safety. No output schema exists, so the return field enumeration is helpful but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple 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 params (query and page) already well-documented in the input schema. The description adds minimal value for parameter understanding, only indirectly reinforcing the role of 'query' as a keyword. Baseline 3 applies due to complete 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 uses a specific verb ('Search') and resource ('LinkedIn companies'), with the keyword-based scope clearly stated. It is easily distinguished from sibling tools like search_linkedin (general) and search_linkedin_jobs (jobs), and its functionality 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 keyword-based company searches but provides no explicit guidance on when to prefer this tool over alternatives like search_linkedin or linkedin_company_details. No when-not-to-use conditions or alternative suggestions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_linkedin_jobsAInspect
Search LinkedIn job listings by keyword. Returns title, company (with company_id), location, posting date, job type, experience level, workplace type, industry, salary, and full description. Filter by recency, job type, company, and location — useful as a hiring/expansion/funding signal.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-40 (default: 1). 25 jobs per page | |
| query | Yes | Search keyword (max 500 characters) | |
| sort_by | No | Sort order: "most_recent" or "relevance" (default: relevance) | |
| job_type | No | Job type filter: full_time, part_time, contract, temporary, volunteer, internship, other. Comma-separated for multiple. | |
| posted_ago | No | Maximum job age: "1h", "24h", "7d", or "30d" (default: all time) | |
| company_ids | No | Filter by company — comma-separated numeric LinkedIn company id(s) (from search_linkedin_companies). | |
| location_id | No | Filter by location — a numeric LinkedIn location id (see the Job Location IDs doc). |
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. It explains what the tool returns and that it supports filters, which is useful, but it does not mention pagination behavior, rate limits, authentication requirements, or how the 25-per-page limit behaves. The description is accurate but leaves some operational behavior undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the primary action is front-loaded, followed by return fields and filter capabilities, then a use-case signal. Every clause adds value without repetition or 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?
The description covers the main return fields, filter dimensions, and a practical use case, which is strong given that all parameters are fully documented in the schema. It does omit pagination details and the relationship with companion tools like linkedin_job_details or search_linkedin_companies, but the schema and sibling names partially compensate. Overall it is nearly complete for an agent selecting this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameter meanings and defaults. The description adds context by grouping filter types and by tying the tool to hiring/expansion/funding signals, but it does not add parameter-level detail 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 searches LinkedIn job listings by keyword, naming the specific resource and primary action. It lists return fields and filters, which makes its function obvious. It does not explicitly contrast with sibling tools like linkedin_job_details or search_linkedin_companies, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: for job searches by keyword with filtering and for hiring/expansion/funding signals. It does not explicitly state when not to use it or mention alternatives such as linkedin_job_details for retrieving a specific job's details. The context is present but not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_newsBInspect
Search news articles from thousands of sources worldwide.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results, 1-100 (default: 10) | |
| query | Yes | Search keyword (max 500 characters) | |
| source | No | Filter by news source domain, e.g. "bbc.com" | |
| country | No | 2-letter country code (default: "us") | us |
| language | No | 2-letter language code (default: "en") | en |
| time_published | No | Time filter: "anytime", "1h", "1d", "7d", or "1y" | anytime |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It only states what is searched, but doesn't disclose any behavior beyond that, such as how results are returned, whether filters apply by default, or any limitations like rate limits or source diversity.
Agents need to know what a tool does to the 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, front-loaded with the verb, and contains no extraneous information. It is appropriately sized for a straightforward search 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?
The description is minimal but sufficient for a simple search tool. It could benefit from mentioning the type of results returned or that filters exist, but the schema compensates by documenting all parameters. Given no output schema or annotations, a bit more context would be ideal, but it remains 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 description coverage is 100% with each parameter having its own description. The tool description adds no parameter-specific meaning, so the baseline of 3 applies. It doesn't hinder understanding, but also doesn't provide any extra semantic clarity.
Input schemas describe structure but not intent. Descriptions should explain 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 with a specific verb and resource: 'Search news articles'. This distinguishes it from siblings like search_web or search_reddit, but doesn't explicitly name alternatives. The addition of 'thousands of sources worldwide' adds 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 usage guidance is provided. The description doesn't explain when to choose this tool over other search tools, nor does it offer any alternatives or exclusions. The agent gets no help in deciding between search_news and search_web for a query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_placesAInspect
Search Google Maps places (local businesses, points of interest) by free-text query. Returns place_id, name, address, phone, website, rating, review count, opening hours, coordinates, and more. Optionally bias results by geographic center (lat/lng/zoom). Each page returns up to 10 results.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Center latitude for geographic bias (use with lng) | |
| lng | No | Center longitude for geographic bias (use with lat) | |
| zoom | No | Map zoom level 1-20 (default: 13). Smaller widens radius. | |
| pages | No | Number of pages, 1-20 (default: 1). Each page returns up to 10 results and is billed as one request. | |
| query | Yes | Search keyword, e.g. "coffee shops brooklyn" (max 500 characters) | |
| country | No | 2-letter country code (default: "us") | us |
| language | No | 2-letter language code (default: "en") | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses pagination behavior ('Each page returns up to 10 results'), optional geographic biasing, and the return data fields. This is solid coverage for a read-only search tool, though it omits details like rate limits or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly three sentences, front-loaded with the tool's purpose, and every sentence adds value. It lists return fields, notes geographic biasing, and states pagination in a compact, readable format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 7 parameters and no output schema, so the description must compensate. It lists the key return fields, explains the optional bias mechanism, and notes page size. It does not cover edge cases or limits, but for a search tool this is adequate 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?
The schema already covers 100% of parameters with descriptions, so the baseline is 3. The description adds a modest group-level semantic for lat/lng/zoom ('bias results by geographic center') and reiterates pagination, but does not introduce 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 clearly states the tool searches Google Maps places (local businesses, points of interest) via free-text query, and enumerates the return fields. This specific verb-resource-scope pairing distinguishes it from sibling tools like search_web or place_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 usage for finding places on Google Maps, and the geographic bias option gives a clear use case. It does not explicitly mention alternatives or exclusions, but the context is strong enough that an agent would know when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_redditCInspect
Search Reddit posts.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-12 (default: 1). 20 posts per page | |
| query | Yes | Search keyword (max 500 characters) | |
| sort_by | No | Sort order: "most_recent", "relevance", "hot", or "top" | most_recent |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 of behavioral disclosure. It only repeats the tool's name with no mention of pagination, rate limits, read-only nature, result shape, or any side effects. This is a tautological description that adds no behavioral information.
Agents need to know what a tool does to the 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 concise—only four words—but this is under-specification rather than effective conciseness. It lacks the minimal structure needed to convey scope, alternatives, or 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?
With four parameters, no annotations, and no output schema, the description is too thin to be complete. It does not explain what results look like, how pagination works, or when to use sorting options. An agent would have to infer all context from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple 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 with types, defaults, and explanations. The description adds zero parameter information, but the baseline of 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Search') and resource ('Reddit posts'), making the tool's basic purpose obvious. It implicitly distinguishes from sibling tools like search_reddit_comments and search_reddit_users by scoping to posts, though it offers no explicit differentiation wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 about when to use this tool versus alternatives such as search_reddit_comments, search_reddit_users, or search_forums. The description gives no context for choosing this tool, making the decision entirely up to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_reddit_commentsDInspect
Search Reddit comments.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-10 (default: 1) | |
| query | Yes | Search keyword (max 500 characters) | |
| sort_by | No | Sort order: "most_recent", "relevance", or "top" | most_recent |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 discloses nothing about rate limits, pagination behavior, result format, or the optional sentiment analysis feature. The description is behaviorally empty.
Agents need to know what a tool does to the 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 short, which might be considered concise, but it is under-specified. It contains no information beyond the tautological purpose, so it does not earn its place in the way a helpful description would.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 four parameters and no output schema or annotations, this description is severely incomplete. An agent would not know what results to expect, how to control pagination, or that sentiment analysis is available. The description is inadequate for safe and 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 schema already documents all four parameters. The description adds no parameter-level information 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?
The description 'Search Reddit comments' is a direct restatement of the tool name 'search_reddit_comments' with spaces instead of underscores. It adds no new information beyond what the name already conveys, making it a tautology rather than a meaningful 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?
No guidance is provided about when to use this tool versus alternatives. With siblings like search_reddit (presumably for posts) and search_reddit_users, an agent is left to guess which search tool fits a given task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_reddit_usersAInspect
Search Reddit users by keyword. Returns profile data including username, karma scores, account age, and bio.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword (max 500 characters) |
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 disclosure. It states that profile data is returned (username, karma, account age, bio), but does not mention whether this is a read-only operation, rate limits, pagination, or any side effects. For a simple search tool, the basic return info is useful but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the main purpose. No filler or redundancy; every word adds 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 simple one-parameter search tool, the description is fairly complete: it states the action, the target resource, and the returned fields. However, it lacks mentions of result limits, sorting, or potential ambiguity (singular vs. plural profiles), which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. 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 has 100% coverage: the 'query' parameter is described as 'Search keyword (max 500 characters)'. The description's 'by keyword' adds little beyond the schema. Baseline 3 applies because schema adequately documents the 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?
Description clearly states the action ('Search Reddit users by keyword') and the resource ('Reddit users'). It distinguishes from siblings like 'search_reddit' (posts) and 'search_reddit_comments' by specifically targeting user profiles, and lists return fields (username, karma, account age, bio) for additional clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 vs alternatives (e.g., search_reddit for posts, search_reddit_comments for comments). The description implies usage for finding Reddit users but does not mention any conditions, exclusions, or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_threadsAInspect
Search Threads (Meta's Threads app) posts by keyword. Returns post text, author, engagement metrics, media, and post permalinks. Billed $0.006 per request.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword (max 500 characters) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 adds useful context about billing cost and the returned data fields, but omits pagination, result limits, rate limits, auth requirements, and ordering. This is a clear gap for a search 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 short sentences, front-loaded with purpose, then returned data, then cost. No filler or redundant restatement of schema fields; 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 search tool the description is adequate, but it is not complete: it lacks pagination/result-limit information, rate limits, auth notes, and output structure details. It covers the core purpose, return content, and base cost, which are the most immediately needed facts.
Complex tools with many parameters or behaviors need more documentation. Simple 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 schema already fully documents query and get_sentiment. The description mentions 'keyword' but adds little beyond the schema, and does not clarify operational details like pagination or surcharge amounts.
Input schemas describe structure but not intent. Descriptions should explain 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 resource (Threads posts) and action (keyword search), and enumerates returned content types. It differentiates from sibling tools like search_threads_users and threads_user_posts by confirming this searches posts by keyword rather than by user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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-based Threads post search, but it does not explicitly mention when to use this tool versus related siblings such as search_threads_users or threads_user_posts. No exclusions or alternatives are provided, leaving routing largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_threads_usersAInspect
Search Threads (Meta's Threads app) users by keyword. Returns username, full name, verification status, and profile picture. Billed $0.006 per request.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword (max 500 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It discloses the return fields (username, full name, verification status, profile picture) and the per-request cost, but it does not mention result limits, pagination, or rate limits. These omissions leave some behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the tool's purpose. The first sentence states the action and resource, and the second adds valuable return fields and pricing. 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?
For a simple one-parameter tool with no output schema, the description adequately covers purpose, return fields, and cost. It could be more complete by specifying result count or pagination, but these are not critical for a basic search operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the only parameter ('query' with max 500 characters), achieving 100% coverage. The description adds no additional semantic detail beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and resource ('Threads users'), clarifying that it searches user profiles on Meta's Threads app. This distinguishes it from sibling tools like search_threads (likely posts) and other user 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 description clearly indicates this tool is for keyword-based user search, which implies usage context. However, it does not explicitly state when not to use it or mention alternatives like threads_user_profile for exact-username lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tiktokBInspect
Search TikTok videos by keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-10 (default: 1) | |
| query | Yes | Search keyword (max 500 characters) | |
| region | No | 2-letter region code, e.g. "us", "gb", "jp" | |
| sort_by | No | Sort order: "relevance", "most_recent", or "most_liked" | relevance |
| publish_time | No | Time filter: 0=ALL, 1=24h, 7=week, 30=month, 90=3months, 180=6months | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 only restates the action and does not mention pagination, rate limits, authentication, output format, or any side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, waste-free sentence with the core action front-loaded. It is appropriately terse, though the extreme brevity leaves behavioral and contextual details 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?
With no output schema and no annotations, the description should provide more context about what a successful search returns, how pagination works, and any constraints. The schema documents parameters well, but the tool's behavior and results are left largely 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 every parameter already has a clear description. The tool description adds only the generic 'keyword' notion, which maps to the query parameter and provides no additional semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb, resource, and search mode: 'Search TikTok videos by keyword.' The 'videos' scope clearly distinguishes it from sibling tools like search_tiktok_users and tiktok_video_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 keyword-search context is implied by the phrasing, and the video scope hints at when this tool applies. However, there is no explicit guidance about when to choose this over alternatives like search_tiktok_users or tiktok_video_details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tiktok_usersAInspect
Search TikTok users by keyword. Returns username, bio, follower/following counts, likes, and video count.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-10 (default: 1) | |
| query | Yes | Search keyword (max 500 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden. It discloses the return fields and the search-by-keyword behavior, which is useful. However, it does not mention pagination behavior (though the pages parameter exists in schema), rate limits, or authentication requirements. The read-only nature is implied by 'search' but not explicitly stated.
Agents need to know what a tool does to the 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 consists of two short sentences that front-load the purpose and return information. There is no redundant or extraneous content, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity search tool with 2 parameters (1 required), no output schema, and no annotations, the description covers the core purpose and return values. It is missing some minor details like pagination behavior and potential rate limits, but these are partially addressed by the schema (pages parameter). Overall, it is sufficiently complete for an agent to select and invoke the 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% for both query and pages parameters, so the schema fully documents them. The tool description does not add any parameter-specific meaning beyond what the schema already provides, such as syntax or formatting. 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 'Search TikTok users by keyword' with a specific verb and resource, and lists the return fields (username, bio, follower/following counts, likes, video count). This distinguishes it from sibling tools like search_tiktok (which likely searches videos) and tiktok_user_profile (which retrieves a single 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 implies usage for keyword-based discovery of TikTok users but does not explicitly state when to use this tool versus alternatives such as search_tiktok or tiktok_user_profile. There is no mention of exclusions or preferred scenarios, so 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.
search_trustpilot_categoriesAInspect
Search Trustpilot categories by keyword. Returns up to 6 fuzzy matches with category_id and name; the search never returns zero matches, so check the names. Feed a category_id into trustpilot_category_companies or trustpilot_category_details.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Keyword (max 200 characters), e.g. 'bank' or 'shop' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the behavioral disclosure burden. It reveals important quirks: results are fuzzy matches capped at 6, and the search never returns zero matches, so callers must inspect returned names. This goes well beyond a generic search 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?
Three sentences deliver purpose, result constraints, and downstream usage without any filler. The most important scoping information is front-loaded 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 single-parameter search tool with no output schema, the description explains the return fields (category_id and name), the match limit, the fuzzy-match behavior, and the next-step usage. Nothing essential is missing for an agent to invoke the tool correctly and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the single 'query' parameter, including maximum length and examples, so schema coverage is 100%. The description reinforces that the tool searches by keyword but does not add substantial 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 states a specific verb and resource: 'Search Trustpilot categories by keyword.' It also specifies the result shape (up to 6 fuzzy matches with category_id and name), which clearly distinguishes it from sibling search tools like search_trustpilot_companies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 downstream guidance: 'Feed a category_id into trustpilot_category_companies or trustpilot_category_details.' It does not explicitly state when not to use this tool or name alternative search tools, but the keyword-based category search context is clearly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_trustpilot_companiesAInspect
Search Trustpilot companies by name or keyword. Each match includes business_unit_id, name, domain, website, Trustpilot page URL, logo, TrustScore rating, stars, review count, categories, and location. Also returns matching categories (feed a category_id into trustpilot_category_companies). 10 results per page; filter by minimum rating and minimum review count.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-500 (default: 1). Each page returns up to 10 results. | |
| query | Yes | Company name or keyword (max 500 characters) | |
| min_rating | No | Minimum TrustScore | |
| min_review_count | No | Minimum number of reviews |
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 adequately discloses output contents, pagination behavior (10 results per page), filtering options, and the fact that matching categories are also returned. It does not cover rate limits or error behavior, but those are not critical for this read-oriented 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 compact and front-loaded: it names the action and resource first, then lists useful output fields, a cross-reference, and pagination/filter behavior. Every sentence adds information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description appropriately enumerates the key fields returned for each match and notes that categories are also included. Combined with the schema's parameter documentation, an agent has enough context to select and call the tool correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple 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 query, page, min_rating, and min_review_count. The description adds only light extra context by restating the search purpose and filter/pagination behavior, which is sufficient but not substantially 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 ('Search') with a specific resource ('Trustpilot companies') and scopes it by 'name or keyword.' It also distinguishes itself from category-focused tools by naming trustpilot_category_companies for category_id follow-up, so an agent can tell it apart from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly sets the context: search for companies by name or keyword, with filtering and pagination. It gives an alternative path for category_id use via trustpilot_category_companies, but it does not explicitly state when not to use other related siblings such as trustpilot_company_reviews or search_trustpilot_categories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_twitterBInspect
Search Twitter/X posts.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| query | Yes | Search keyword (max 500 characters) | |
| sort_by | No | Sort order: "most_recent" or "relevance" | most_recent |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states the action but does not mention pagination behavior, rate limits, authentication needs, or what the response contains. The schema hints at pagination via 'pages' and sentiment analysis via 'get_sentiment', but the description itself adds no behavioral context beyond the basic search 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 a single short sentence that is front-loaded and to the point. It wastes no words and is appropriately sized for a simple search tool, though it could arguably include a bit more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 a well-documented schema, the description is minimally adequate. It lacks explicit guidance on result format, pagination limits, or when to use sibling tools, but the schema covers parameters and the tool's purpose is clear. Given no annotations and no output schema, a bit more context would improve completeness, but it is not critically 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 all four parameters. The description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate since the schema does the heavy lifting and 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 'Search Twitter/X posts' clearly states the verb (search) and resource (Twitter/X posts), which distinguishes it from sibling tools like search_twitter_users or twitter_tweet_details. It is concise and unambiguous, though it doesn't elaborate on scope or features beyond the basic 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?
The description implies usage for searching posts on Twitter/X, and the sibling list shows related tools like search_twitter_users and twitter_tweet_details, but there is no explicit guidance on when to choose this over alternatives. The schema parameters (query, pages, sort_by, get_sentiment) provide some context, but the description itself offers no when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_twitter_usersBInspect
Search Twitter/X users by keyword. Returns profile data including username, bio, follower counts, and verification status.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| query | Yes | Search keyword (max 500 characters) |
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. It does disclose the search-by-keyword behavior and what profile fields are returned, which is useful, but it omits details such as result limits, pagination effects, authentication requirements, or how missing/blocked profiles are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The main action is front-loaded, and the return-value highlights are clearly stated, making it easy for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity of the tool, this is serviceable but not fully complete. There is no output schema, so the description should clarify whether the result is a list of profiles and how the pages parameter affects the returned data; it only says 'Returns profile 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?
The input schema covers both parameters fully (query required, pages with default and range), so the baseline is 3. The description adds no additional parameter nuance beyond confirming that the keyword is used for searching.
Input schemas describe structure but not intent. Descriptions should explain 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 action ('Search Twitter/X users by keyword'), the resource (users), and the main output fields (username, bio, follower counts, verification status). It is specific enough to understand the tool's role, though it does not explicitly contrast with sibling tools such as search_twitter or twitter_user_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?
No guidance is provided on when to use this tool versus alternatives like search_twitter, twitter_user_profile, or twitter_user_followers. The description explains what it does but not the conditions that would make it the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_webAInspect
Search the web (Google organic results). Returns title, URL, snippet, source and domain for each result. Supports country and language targeting, time filters, city-level geo, and an optional Google AI Overview.
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | Time filter: "any", "hour", "day", "week", "month", or "year" | any |
| pages | No | Number of result pages to fetch, 1-10 (default: 1). 10 results per page. | |
| query | Yes | Search keyword (max 500 characters). Supports Google advanced operators (site:, inurl:, intitle:, etc.) | |
| device | No | Device profile: "desktop" or "mobile" | desktop |
| country | No | 2-letter country code (default: "us") | us |
| language | No | 2-letter language code (default: "en") | en |
| location | No | City-level geo location (e.g. "London,England,United Kingdom") | |
| include_ai_overview | No | Include Google AI Overview when available (+$0.002 flat surcharge) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses return fields (title, URL, snippet, source, domain) and supported targeting/filter options, giving a solid overview. However, it omits potential behavioral nuances like rate limits, blocking, or how the AI Overview affects results, so it is adequate but not highly 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 three sentences, front-loaded with the primary action. Each sentence provides distinct value: what it does, what it returns, and what features it supports. 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 there is no output schema, the description sufficiently explains return values by listing result fields. It covers core capabilities and parameter behavior. Minor gaps include lack of explicit pagination behavior beyond the schema's pages parameter and no detail on how the optional AI Overview is represented, but these are minor 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 summarizes features (country/language targeting, time filters, city geo) but does not add new meaning beyond what the schema already documents. It adds no extra detail on parameter formats or edge cases, so 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 clearly states the core function with a specific verb and resource: 'Search the web (Google organic results).' It distinguishes itself from sibling search tools by specifying 'Google organic results' and listing output fields, which differentiates it from platform-specific searches like search_reddit or search_news.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. The description focuses on what the tool does and its features, but does not state when to use it over alternatives or provide exclusions. Context from sibling names helps, but the description itself lacks clear 'when to use vs when not to use' direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_youtubeCInspect
Search YouTube videos.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| query | Yes | Search keyword (max 500 characters) | |
| upload_date | No | Filter by upload date: "last_hour", "today", "this_week", "this_month", or "this_year" | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 only restates the basic search operation and omits pagination behavior, sentiment-analysis surcharges, output format, or read-only safety. There is no misleading information, but also essentially no 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 extremely short, which is concise, but the single sentence adds little beyond the tool name. It does not provide new information that an agent could not infer from the name and schema, so it does not really earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description leaves return values, pagination behavior, and result semantics undescribed. The input schema covers parameters well, but the overall definition is too sparse for an agent to fully understand the tool's behavior and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters documented including defaults, an enum, and sentiment output details. The description itself adds no parameter-level information, so it meets the baseline of 3 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 states a specific action ('Search') and resource ('YouTube videos'), making the tool's core purpose clear. It also distinguishes it from the sibling 'search_youtube_channels' by focusing on videos rather than channels. However, it provides no detail about the shape of results or how it differs from youtube_video_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 alternatives such as search_youtube_channels or youtube_video_details. No exclusions, prerequisites, or alternative conditions are provided. The intended use is only implied by the tool name and minimal description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_youtube_channelsAInspect
Search YouTube channels by keyword. Returns channel name, description, subscriber count, and thumbnail.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| query | Yes | Search keyword (max 500 characters) |
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 disclose the return fields (channel name, description, subscriber count, thumbnail), which is useful, but it does not mention pagination behavior, result ordering, rate limits, or any access requirements. These are notable gaps 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 efficient sentence that states the action, target resource, and key output fields. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and return fields, and the schema fully documents both parameters. However, there is no output schema and the description does not explain pagination semantics beyond the schema default, nor does it route users to related channel-detail tools. This is adequate for a straightforward search tool but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple 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 query and pages parameters are already documented in the schema. The description adds no additional parameter-level meaning beyond what the schema provides, which warrants 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 description states a specific verb and resource: 'Search YouTube channels by keyword.' It clearly differentiates from sibling tools like search_youtube (likely videos) and youtube_channel_details (specific channel lookup) by focusing on channel search. The listed return fields further clarify the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for keyword-based discovery of YouTube channels, but it does not explicitly state when to prefer this tool over siblings such as search_youtube or youtube_channel_details. There are no exclusions or alternative routing hints, leaving the agent to infer usage from the tool name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_user_postsAInspect
Get a single Threads (Meta's Threads app) user's recent posts by username. Returns post text, engagement metrics, media, timestamps, and permalinks. Billed $0.006 per request.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Threads username, with or without leading @ (max 100 characters) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 explicitly states this is a read operation ('Get'), lists the returned content (post text, engagement metrics, media, timestamps, permalinks), and discloses the per-request cost. It does not mention auth, rate limits, or pagination, but the key behavioral facts for tool selection are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: the core action is front-loaded, the return fields are listed, and the billing note earns its place. There is no redundancy, filler, 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?
The description names the resource, returned fields, and cost, which is enough for basic selection. However, it does not specify how many posts are returned, the ordering, or any pagination behavior, and 'recent' is undefined—an important gap given there is no output schema to clarify the result 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 both parameters—username and get_sentiment—are already documented in the schema. The tool description adds no parameter-specific semantics beyond restating that the lookup happens by username, 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 uses a specific verb ('Get') and resource ('a single Threads user's recent posts') and names the lookup key ('by username'). It is clearly distinguishable from sibling tools such as threads_user_profile (profile data vs posts) and other platforms' user-post tools because it explicitly names Threads and post content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the context clearly: use this when you need one Threads user's recent posts by username. However, it does not name any alternatives or when-not-to-use cases, such as pointing to threads_user_profile for profile metadata or search_threads_users for user discovery, so the guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
threads_user_profileAInspect
Get the full profile for a single Threads (Meta's Threads app) user by username. Returns biography, bio links, follower count, verification status, and profile metadata. Billed $0.006 per request.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Threads username, with or without leading @ (max 100 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It adds useful context by listing the returned data fields and the billing cost per request. However, it does not disclose potential rate limits, authentication requirements, or any error behavior. For a read-only profile fetch, the return-value list is helpful but incomplete for full behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, followed by a concise list of return fields and the billing detail. Every sentence adds value without redundancy or fluff. It is highly scannable and appropriately sized for a simple 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?
Given the tool's simplicity (one parameter, no output schema), the description provides a complete enough overview: it states the purpose, the key return fields, and even billing cost. It does not explicitly note the absence of posts or recent activity, which could help distinguish from sibling tools, but that is a minor gap. The absence of an output schema is compensated by listing the main fields.
Complex tools with many parameters or behaviors need more documentation. 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 is fully described (coverage 100%), with 'username' having a clear description ('Threads username, with or without leading @'). The tool description adds minimal extra meaning beyond saying 'by username', which is already evident. Since the schema already provides strong semantics, the description neither enhances nor detracts significantly, earning 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 description uses a specific verb ('Get') and clearly identifies the resource ('full profile for a single Threads user by username'). It lists key return fields (biography, bio links, follower count, verification status), which distinguishes it from sibling tools like threads_user_posts or search_threads_users. 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 clearly implies usage context: when you need a full profile for a specific Threads username. It does not explicitly state when not to use it or mention alternatives, but the phrasing 'single Threads user by username' inherently distinguishes it from search tools and post-focused tools. No exclusions are provided, but for a simple lookup this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tiktok_user_profileAInspect
Get the full profile for a single TikTok user by username, numeric user ID, or profile URL. Returns bio, bio link, follower/following counts, total likes, video count, verification status, join date, and linked Instagram/X/YouTube accounts. Provide exactly one of username, user_id, or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters) | |
| user_id | No | Numeric TikTok user ID, as returned by search_tiktok_users | |
| username | No | TikTok username, with or without leading @ (max 100 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It clearly implies a read-only operation ('Get') and comprehensively lists the returned fields (bio, counts, verification, linked accounts), which goes beyond the schema. It also specifies the 'exactly one' input constraint. It does not disclose rate limits or error behavior, but this is a simple read operation and the description provides solid 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?
Three tight sentences: first states the action and identifiers, second enumerates the returned fields, third gives the exclusivity constraint. No filler or repetition. Every sentence adds value and the structure 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 single-profile read with three params and no output schema, the description is nearly complete: it covers inputs and outputs. It lacks only explicit error handling (e.g., user not found, multiple identifiers supplied) and any caveats about nested data or pagination, but the given information is sufficient for most agent invocations.
Complex tools with many parameters or behaviors need more documentation. 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 100% of parameters with good descriptions, so the baseline is 3. The description adds the crucial 'exactly one of username, user_id, or url' constraint, which is not captured in the schema's optional/required fields. This meaningful addition elevates the score to 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the full profile for a single TikTok user') and specifies the resource and input identifiers (username, user_id, or URL). It also lists the key fields returned, which distinguishes it from sibling tools like tiktok_video_details or search_tiktok_users.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 tool when you need a full profile for one known TikTok user, and you can provide one of three identifiers. However, it does not explicitly contrast with search_tiktok_users (e.g., 'use search to find users first') or mention when not to use this 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.
tiktok_video_detailsAInspect
Get full details for a single TikTok video by video URL or numeric video ID. Returns the caption, play/like/comment/share/save counts, watermark-free playback and download URLs, cover images, music track info, and author details. Provide exactly one of url or video_id.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | TikTok video URL, e.g. https://www.tiktok.com/@tiktok/video/7516594811734854943 (max 500 characters) | |
| video_id | No | Numeric TikTok video ID, as returned by search_tiktok |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly implies a read-only data-fetch operation and enumerates the specific data returned (caption, counts, URLs, cover images, music info, author details). It does not mention error cases like invalid IDs or what happens if both parameters are provided, but the core behavior is 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 sentences, front-loaded with the primary purpose, and every detail serves a purpose. No fluff 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 absence of an output schema, the description thoroughly covers return values by listing the data categories. It also addresses the parameter exclusivity and relates to a sibling tool. This is complete for a single-video lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes both parameters well. The description adds the crucial constraint 'Provide exactly one of url or video_id' and notes that video_id is 'as returned by search_tiktok', enriching the semantic meaning beyond the raw 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 states the tool gets full details for a single TikTok video, with specific verb and resource. It distinguishes itself from sibling tools like search_tiktok and tiktok_user_profile by focusing on single-video detail retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs the agent to provide exactly one of url or video_id, which is key usage guidance. However, it doesn't explicitly name alternative tools for search or user profile cases, relying instead on the tool's clear single-video scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trustpilot_category_companiesAInspect
List the companies in a Trustpilot category (20 per page, up to 500 pages) with name, domain, TrustScore, review count, categories and location, plus the category's size and subcategories. Filter by country, minimum rating and claimed status; sort by recommended or recently reviewed. Category IDs: see /docs/trustpilot-category-ids or search_trustpilot_categories.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-500 (default: 1). Each page returns up to 20 companies. | |
| claimed | No | Only companies that have claimed their Trustpilot profile | |
| country | No | 2-letter ISO 3166-1 country code (default: all countries) | |
| sort_by | No | Sort order | recommended |
| min_rating | No | Minimum TrustScore | |
| category_id | Yes | Trustpilot category slug (e.g. electronics_technology, bank) or a trustpilot.com/categories/... URL |
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 pagination limits (20 per page, up to 500 pages), the exact fields returned, and the category's size/subcategories. It also enumerates filtering and sorting options, although it does not cover rate limits or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences: action/results, filters/sorts, and category ID resolution. No filler, 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?
For a paginated listing endpoint with no output schema, the description explains the returned fields, pagination bounds, filter/sort capabilities, and how to find valid category IDs. 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 parameters are already documented; the description adds value by explaining pagination scope, the filter/sort dimensions, and how to resolve category_id. It complements rather than repeats 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 ('List the companies in a Trustpilot category') and includes concrete result details (name, domain, TrustScore, review count, categories, location, category size/subcategories). It clearly differentiates from sibling search tools by focusing on category-scoped listing rather than general search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 tells the agent how to obtain category IDs (docs or search_trustpilot_categories) and lists applicable filters/sorts, giving clear context for when this listing tool is appropriate. It does not explicitly name sibling alternatives like trustpilot_category_newest, but the category-scoped behavior is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trustpilot_category_detailsAInspect
Get a Trustpilot category: display name, number of businesses, parent category, and its subcategories with their ids and business counts. Works for top-level, second- and third-level category slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes | Trustpilot category slug (e.g. electronics_technology) or a trustpilot.com/categories/... URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It does disclose the output contents and the supported category depth, while 'Get' implies a read-only operation. It does not mention error handling, authentication, or rate limits, but for a simple read tool the disclosed scope is reasonably 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 short, front-loaded sentences that convey the action, the resource, the returned fields, and the supported input scope. There is no filler and no redundant repetition of schema 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 one-parameter read operation with no output schema, the description provides a clear inventory of returned fields and supported slug depths, which is enough for an agent to select and call the tool. It does not describe the exact response structure or failure behavior, but that is not essential 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?
The input schema already documents category_id as a slug or URL with 100% coverage, so the baseline is 3. The description adds meaningful parameter context by specifying that top-level, second-, and third-level slugs are supported, which goes slightly beyond the schema. No further parameter explanation is needed for a single-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' with a clear resource, 'a Trustpilot category', and enumerates the exact returned data: display name, business count, parent category, and subcategories with ids and counts. It also clarifies the supported slug depths, which helps distinguish it from sibling tools like trustpilot_category_companies or trustpilot_category_newest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 the tool—when category metadata is needed—and gives a useful supported-input constraint (top-level, second- and third-level slugs). However, it does not explicitly name alternatives or state when to use trustpilot_category_companies, trustpilot_category_newest, or search_trustpilot_categories instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trustpilot_category_newestAInspect
Get the newest companies added to a Trustpilot category (a short unpaginated list, often 0-10 entries) with name, domain, TrustScore, review count and location, plus the category's size and subcategories.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes | Trustpilot category slug (e.g. bank) or a trustpilot.com/categories/... URL |
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 goes beyond a generic 'get' by stating the list is unpaginated and often empty or near-empty, and by listing the exact data points returned. It does not cover error cases or rate limits, but for a simple read operation the disclosed pagination and scope traits are meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence packs all relevant details without filler or redundancy. It front-loads the core action ('Get the newest companies'), then economically adds the list-size caveat and return fields. 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 tool with one parameter, no output schema, and no annotations, the description is remarkably complete. It tells the agent what will be returned, the expected list size, and the lack of pagination. Nothing needed to call it correctly is missing; the schema handles the only required 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 baseline is 3. The description does not elaborate on the category_id parameter beyond what the schema already provides (slug or URL). It adds no new semantic meaning for the parameter, so it neither improves nor harms the agent's 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 ('Get') and resource ('newest companies added to a Trustpilot category'), and clearly scopes the output to a short unpaginated list. It also enumerates the returned fields (name, domain, TrustScore, review count, location, category size, subcategories), which distinguishes it from sibling tools like trustpilot_category_companies that likely return the full company 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 provides clear context: this tool is for retrieving the newest companies in a category, with an explicit caveat that the list is typically very short (0-10 entries). It does not name alternatives or state exclusions, but the 'newest' qualifier and list-size warning give the agent enough context to select it over broader category tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trustpilot_company_reviewsAInspect
Get a company's Trustpilot reviews plus its full profile (TrustScore, star rating, review counts, per-star breakdown, categories, claimed/verification status, reply behaviour, contact details). Each review has rating, title, text, dates, verification level, likes, author id/name/country and the company's reply. Filter by star rating, recency, language, verified-only, has-reply, or keyword. 20 reviews per page, up to 10 pages in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Pages to fetch, 1-10 (default: 1). Each page returns up to 20 reviews and is billed as one request. | |
| query | No | Only reviews matching this keyword | |
| domain | Yes | Company website domain (e.g. gossby.com) or its Trustpilot review-page URL | |
| rating | No | Only these star ratings, comma-separated 1-5 (e.g. '1,2') | |
| sort_by | No | Sort order | most_relevant |
| language | No | 2-letter ISO 639-1 language code (default: all languages) | |
| verified | No | Only verified reviews | |
| posted_ago | No | Only reviews from this period | |
| with_replies | No | Only reviews the company replied to | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the complete returned payload, the 20-per-page pagination, the 10-page cap, and all filtering dimensions, making the read-only nature and scope obvious. It does not cover error handling or rate limits, but those are secondary for a retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences: first states purpose and return contents, second lists per-review fields, third covers filters and pagination. All information is front-loaded and no word 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?
The tool has 10 parameters and no output schema, so the description must substitute for the missing return-structure documentation. It does so by explicitly listing profile fields (TrustScore, star rating, review counts, per-star breakdown, categories, claimed/verification status, reply behaviour, contact details) and per-review fields (rating, title, text, dates, verification level, likes, author info, company reply). Pagination, filters, and sort/sentiment options are also addressed, leaving an agent with enough detail 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 coverage is 100%, so the baseline is 3. The description adds the important operational detail that each page returns up to 20 reviews and that one call can span up to 10 pages, which is not present in the schema's '1-10' range. Filter names in prose map cleanly onto the schema properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('a company's Trustpilot reviews plus its full profile'), then enumerates the returned fields (TrustScore, star rating, review counts, per-star breakdown, etc.). This clearly separates it from sibling search_* and category tools that find companies or categories rather than fetch a specific company's reviews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: provide a company domain to retrieve that specific company's reviews and profile. It does not explicitly name alternatives or exclusion conditions (e.g., use search_trustpilot_companies first to find the domain), so it stops short of a full when/when-not statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trustpilot_user_profileAInspect
Get a Trustpilot reviewer's public profile (name, country, review count, verified, likes, reads) and the reviews they have written across all companies, 20 per page, each with the company name/domain, rating, title, text, dates and the company's reply. The user_id is a review's author_id.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-500 (default: 1). Each page returns up to 20 reviews. | |
| user_id | Yes | Reviewer ID (24 hex characters, a review's author_id) or a trustpilot.com/users/... URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It clearly indicates this is a read-only, public-profile lookup, lists the returned profile and review fields, and discloses 20-per-page pagination plus accepted user_id forms. It does not mention rate limits, errors, or authentication expectations, but the 'public profile' wording and 'Get' verb make the operation's safety reasonably evident.
Agents need to know what a tool does to the 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 but efficient: one long sentence carries the core behavior and field list, and a second short sentence clarifies the key input. Every included detail contributes to correct invocation, 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, read-only tool with no output schema, this description is complete enough for an agent to select and call it correctly. It covers the profile fields, review fields, pagination behavior, and where user_id comes from, leaving no critical invocation detail unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both page and user_id are already documented in the input schema. The description's note that 'user_id is a review's author_id' echoes the schema's own wording and adds no substantial new semantic information.
Input schemas describe structure but not intent. Descriptions should explain 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: 'Get a Trustpilot reviewer's public profile' and enumerates the exact profile and review fields returned. The phrase 'across all companies' helps distinguish this from the company-scoped sibling trustpilot_company_reviews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 clear: retrieve a reviewer's profile and all their written reviews, and the guidance that user_id is a review's author_id helps the caller find the input. However, there is no explicit comparison to alternatives or statement of when not to use this tool; the distinction from company-level Trustpilot review tools is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
truthsocial_user_postsAInspect
Get a single Truth Social user's recent posts (their feed) by username. Returns post text, engagement metrics (replies, reposts, likes), media attachments, hashtags, reply status, and permalinks. Up to 20 posts per page; billed $0.006 per page.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1). Each page returns up to 20 posts | |
| username | Yes | Truth Social username, with or without leading @ (max 100 characters) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 so well by disclosing pagination limits ('Up to 20 posts per page'), per-page billing ('$0.006 per page'), and the specific output fields returned. It does not cover failure behaviors or auth requirements, but for a read-style social feed endpoint this is reasonably 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 core action and resource, then efficiently lists output fields and usage constraints. 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?
Given that there is no output schema, the description compensates by enumerating the returned fields and specifying pagination and cost details. It is largely complete for an agent to call correctly, though it could additionally mention rate limits or error behavior. The minimal gaps do not undermine practical 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 description coverage is 100%, so the input schema already fully documents all three parameters, including the @-optional username format, pagination range, and sentiment surcharge. The description adds value by restating pagination and billing, but does not introduce meaning beyond the schema parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), a clear resource ('a single Truth Social user's recent posts'), and the input method ('by username'). It also lists the returned data fields, which makes the tool's purpose unambiguous and helps distinguish it from other platform-specific user_posts 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 a clear use case—fetching a single user's feed by username—but does not explicitly state when to choose this tool over alternatives or when not to use it. It also does not mention any exclusions or alternative sibling tools, so usage 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.
twitter_trendsAInspect
Get the current trending topics for a specific location on Twitter/X. Use woeid=1 for Worldwide.
| Name | Required | Description | Default |
|---|---|---|---|
| woeid | Yes | Where On Earth ID for the location. Use 1 for Worldwide. |
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 burden of behavioral disclosure. It only states that trends are 'current' and tied to a location; it does not mention authentication needs, rate limits, response format, or what happens with an invalid woeid. This is a gap for a tool with no 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 two sentences long, with the core purpose in the first sentence and a practical usage tip in the second. Every word earns its place; there is no wasted text 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 single-parameter read-only tool with no output schema, the description provides enough to understand what the tool does and how to invoke it. It lacks details like pagination or response structure, but the low complexity means these are not critical. It is nearly complete, though not exhaustive.
Complex tools with many parameters or behaviors need more documentation. 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 covers 100% of parameters and already documents woeid as 'Where On Earth ID for the location. Use 1 for Worldwide.' The description adds little beyond repeating the woeid hint. Since the schema does the heavy lifting, 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 clearly states the action ('Get'), the resource ('current trending topics'), and the scope ('for a specific location on Twitter/X'). This distinguishes it from sibling tools like twitter_user_tweets or search_twitter, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context by explaining that it retrieves trending topics for a location and includes a practical hint ('Use woeid=1 for Worldwide'). However, it does not explicitly mention when not to use this tool or name alternatives, 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.
twitter_tweet_commentsAInspect
Get the comments (replies) on a specific tweet.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| tweet_id | Yes | Numeric tweet ID | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 only says 'Get,' implying a read operation, but doesn't mention rate limits, authentication, pagination behavior beyond the schema, response format, or ordering. It adds no extra behavioral context beyond what the tool name already suggests.
Agents need to know what a tool does to the 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, front-loaded sentence with zero filler. Every word contributes to the purpose, making it an efficient and well-structured 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 simple read tool with full schema coverage, the description is adequate but thin. It doesn't describe the returned data structure or any caveats, and there is no output schema to fill that gap. Still, the purpose and parameters are clear enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters (tweet_id, pages, get_sentiment) with descriptions. The tool description adds no parameter-level meaning beyond this, 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 a specific verb and resource: 'Get the comments (replies) on a specific tweet.' The parenthetical clarifies the terminology and distinguishes it from sibling tools like twitter_tweet_quotes and twitter_tweet_retweets. An agent can immediately tell what this tool does without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case—when you need comments on a specific tweet—but provides no explicit when/when-not guidance or alternatives. It doesn't mention related tools like twitter_user_replies or twitter_tweet_quotes, leaving the agent to infer the boundary. This is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_tweet_detailsAInspect
Get detailed information for a single tweet by its ID. Returns full content, engagement metrics, and author info.
| Name | Required | Description | Default |
|---|---|---|---|
| tweet_id | Yes | Numeric tweet ID | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the behavioral burden. The verb 'Get' and the promise of returned data imply a read-only operation, and the output categories are disclosed. However, it does not address rate limits, authentication needs, deleted/private tweets, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences that are front-loaded with the core action and resource, followed by the return summary. No filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 only one required parameter and no output schema, the description adequately states the input and the high-level return contents. It could mention caveats like sentiment surcharge or error cases, but the schema already covers the optional sentiment 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 both tweet_id and get_sentiment. The description adds little parameter-level meaning beyond confirming the tool targets a single tweet by ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('detailed information for a single tweet by its ID'), and clarifies exactly what is returned: content, engagement metrics, and author info. This clearly separates it from sibling tools like twitter_tweet_comments, twitter_tweet_quotes, and twitter_tweet_retweets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: use this tool when you need details of a single tweet, including content, engagement, and author information. However, it does not explicitly mention alternatives or state when not to use it, leaving some selection burden on the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_tweet_quotesBInspect
Get the quote tweets for a specific tweet.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| tweet_id | Yes | Numeric tweet ID | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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. 'Get' implies a read-only operation, but the description does not mention pagination behavior, rate limits, authentication needs, or any side effects. The only additional behavioral hint (pages) appears in the schema, not the 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?
The description is a single, front-loaded sentence with no filler or repetition. It states exactly what the tool does in as few words as possible, which is ideal for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 and no annotations, the description is too sparse to be complete. It fails to mention what fields are returned, how pagination works beyond the schema's numeric range, or any edge cases/limitations. For a data-retrieval tool, this leaves important contextual 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 schema already documents all three parameters. The description itself adds no parameter-level meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('quote tweets for a specific tweet'), which clearly identifies the operation. It distinguishes this tool from sibling tools like twitter_tweet_retweets and twitter_tweet_comments, so an agent can tell them apart from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as twitter_tweet_retweets or twitter_tweet_comments. The description simply states the action without any context, exclusions, or scenarios, leaving all selection reasoning to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_tweet_retweetsBInspect
Get the users who retweeted a specific tweet.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| tweet_id | Yes | Numeric tweet 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 only states the basic retrieval operation and does not mention pagination behavior, output fields, rate limits, authentication requirements, or how the 'pages' parameter affects results.
Agents need to know what a tool does to the 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, front-loaded sentence with no wasted words. It communicates the verb and resource immediately and is appropriately sized for a simple retrieval 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?
The tool is simple and the schema fully documents the parameters, so it is minimally usable. However, with no annotations and no output schema, the description does not convey what the returned 'users' data will look like or how pagination behaves. It is adequate but leaves meaningful gaps for an 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%, and both parameters are already well documented in the input schema ('Numeric tweet ID' and 'Number of pages to fetch, 1-20'). The description adds no additional parameter-level 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 clearly states the action ('Get') and the exact resource ('the users who retweeted a specific tweet'). This distinguishes it from sibling tools like twitter_tweet_comments, twitter_tweet_quotes, and twitter_tweet_details by focusing specifically on retweeters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, and no exclusions or conditional scenarios are mentioned. The intended use is implied by the name and description, but the agent is left to infer when this is the right choice among the many twitter_* sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_user_followersBInspect
Get the followers of a specific Twitter/X user.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| username | Yes | Twitter username (without @, max 50 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only says 'Get' and reveals nothing about pagination behavior, rate limits, output shape, or whether authentication is required. The schema mentions paging, but the description itself does not add 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?
A single clean sentence, front-loaded with the action and resource, with no wasted words. It is appropriately sized for the tool's low complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 covers both parameters and the action is clear, so an agent can probably invoke it correctly. However, there is no output schema and the description does not describe what the response looks like or note pagination behavior, leaving minor but relevant gaps for a no-annotation 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 input schema already documents both username and pages adequately. The description adds no parameter-level meaning, 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 description states a clear verb ('Get') and resource ('followers of a specific Twitter/X user'), which names the action precisely. It does not explicitly contrast with siblings like twitter_user_following or twitter_verified_followers, so the agent must infer differentiation from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to choose this tool over near alternatives such as twitter_user_following, twitter_verified_followers, or search_twitter_users. There are no exclusions, prerequisites, or context cues beyond the action itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_user_followingAInspect
Get the accounts that a specific Twitter/X user is following.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-175 (default: 1). Each page returns ~50 accounts. | |
| username | Yes | Twitter username (without @, max 50 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states the core function without mentioning pagination behavior, response format, rate limits, or authentication requirements. The pages parameter is not mentioned in the description, leaving the agent without clarity on how data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy, clearly front-loaded with the action. It is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 only two parameters and no output schema, the description is sufficient for basic invocation but lacks details about the response structure, pagination, or any potential limitations. The schema covers the parameters well, but the description could add more context about what the returned accounts look like.
Complex tools with many parameters or behaviors need more documentation. Simple 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%, covering both username and pages parameters. The description itself adds no parameter-specific information, but the schema already provides detailed descriptions, 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 states the tool retrieves accounts followed by a specific Twitter/X user. The verb 'Get' and the explicit 'following' distinguish it from sibling tools like twitter_user_followers and twitter_user_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 states what the tool does but provides no explicit guidance on when to use it instead of alternatives. There are no references to sibling tools or exclusions, so the usage is only implied by the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_user_profileAInspect
Get detailed profile information for a Twitter/X user by username. Returns follower/following counts, bio, verification status, and account metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Twitter username (without @, max 50 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It clearly indicates a read operation and lists the return fields, but does not cover error handling, auth requirements, rate limits, or behavior when a user is not found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that packs in the action, resource, and key output details. No unnecessary words 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 one-parameter lookup tool, the description is adequate: it states what is returned and implies read-only behavior. It could be improved by noting error cases or that it only applies to Twitter/X usernames, but those are reasonably inferred. The absence of an output schema and annotations is offset by the explicit return list.
Complex tools with many parameters or behaviors need more documentation. 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 covers the single parameter fully (100% coverage), including format ('without @') and length constraint. The description only redundantly says 'by username', adding no additional 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 a specific verb ('Get') and resource ('detailed profile information for a Twitter/X user'), and further distinguishes itself from siblings by listing concrete data points (follower/following counts, bio, verification status, account 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?
Usage is implied: if you need profile details for a username, this is the tool. However, it does not explicitly contrast with sibling tools like twitter_user_followers or twitter_user_tweets, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_user_repliesBInspect
Get replies posted by a specific Twitter/X user.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| username | Yes | Twitter username (without @, max 50 characters) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 only states the basic read action ('Get replies') and does not disclose pagination behavior, rate limits, authentication requirements, or what 'replies' includes.
Agents need to know what a tool does to the 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, front-loaded sentence with no filler or redundancy. It is appropriately concise for a relatively simple fetch tool, though it arguably leaves behavioral details 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 tool is low-complexity with a well-documented parameter schema, but there is no output schema or annotated safety profile. The description does not mention response format or pagination behavior, leaving some ambiguity for the agent when invoking 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 input schema already documents username, pages, and get_sentiment. The main description adds no extra meaning about these parameters, which is acceptable given the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain 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 action ('Get') and the resource ('replies posted by a specific Twitter/X user'). It is distinguishable from related siblings like twitter_user_tweets, though it does not explicitly name or contrast 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?
The description implies the tool should be used when replies from a particular user are needed, but it provides no explicit guidance about when to choose this over similar tools like twitter_user_tweets or twitter_tweet_comments. There are no exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_user_tweetsBInspect
Get tweets posted by a specific Twitter/X user.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| username | Yes | Twitter username (without @, max 50 characters) | |
| get_sentiment | No | Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints. |
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 only restates the core action and offers no details about pagination behavior, tweet count per page, whether retweets are included, output format, authentication implications, or the surcharge for sentiment analysis. This is a minimal statement of function, not a behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes to identifying the tool's purpose. It is appropriately sized for a simple fetch operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain what the response contains, how pagination works (e.g., tweets per page), or how the returned data maps to the optional parameters. The many sibling tools and the sentiment option add context that is not addressed. For a tool with 3 parameters and no output schema, this is an incomplete picture.
Complex tools with many parameters or behaviors need more documentation. Simple 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 the username, pages, and get_sentiment parameters in reasonable detail. The description adds nothing about parameter semantics beyond what the schema provides, so with high coverage 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 uses a specific verb ('Get') and resource ('tweets posted by a specific Twitter/X user'), clearly distinguishing it from sibling tools like twitter_user_profile or twitter_user_replies. The 'Twitter/X' naming also grounds the platform. It is immediately clear what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With many sibling tools like twitter_user_replies, twitter_user_followers, or search_twitter, the description does not mention conditions or point to a different tool for related use cases. The context is entirely left to inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter_verified_followersAInspect
Get the verified (blue checkmark) followers of a specific Twitter/X user.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch, 1-20 (default: 1) | |
| username | Yes | Twitter username (without @, max 50 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description establishes a read-only operation and defines 'verified' as blue checkmark, which is useful. However, it does not disclose pagination behavior, rate limits, authentication expectations, or behavior for private or nonexistent 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?
One sentence, no filler, and the key scoping facts are front-loaded: verified status and target user.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a two-parameter read tool with fully documented schema, but there is no output schema and no description of the returned shape. The agent knows how to call it but not exactly what to expect 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 description coverage is 100%, so the schema already documents username and pages. The description adds no parameter-level detail, but it does not need to compensate for a coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: getting verified followers for a specific Twitter/X user. The parenthetical 'blue checkmark' disambiguates the criterion and distinguishes it from sibling tools like twitter_user_followers and twitter_user_following.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 about when to choose this over the sibling twitter_user_followers or when to use a different tool. The context is implied by the purpose, but there is no explicit when-to-use or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_channel_detailsAInspect
Get details for a YouTube channel: channel name, description, subscriber count, video count, total views, country, creation date, verification status, external links, profile picture, and banner. Provide exactly one of id, url, or name.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | YouTube channel ID (24 characters, starts with UC) | |
| url | No | Channel URL: youtube.com/channel/..., youtube.com/@handle, /c/ or /user/ forms | |
| name | No | Channel name or @handle (e.g. @mkbhd or Linus Tech Tips) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the returned fields and the input exclusivity rule, but does not mention possible errors, rate limits, or side effects. Since it is a read-only operation, this is adequate but not richly 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 exactly two sentences: one listing all output fields, the other stating the input constraint. It is well-structured, front-loaded with the tool's purpose, and contains no redundant or extraneous 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?
Though there is no output schema, the description lists all expected return fields, giving the agent a clear picture of the result. It also specifies the input rules. It could be more complete by describing error behavior, but for a simple getter tool it is adequately 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?
The input schema already documents each parameter with 100% coverage, giving an appropriate baseline of 3. The description adds value by clarifying that id, url, and name are mutually exclusive alternatives ('exactly one of'), which is not explicit in the schema. This improves 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 the specific verb 'Get details' with the resource 'YouTube channel' and enumerates the exact data fields returned (channel name, subscriber count, etc.). This clearly distinguishes it from sibling tools like search_youtube_channels or youtube_video_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 provides an explicit usage constraint: 'Provide exactly one of id, url, or name.' This tells the agent when to use the tool and the required input format. It lacks explicit exclusion of alternatives (e.g., 'use search_youtube_channels to find channels'), but the constraint is clear enough for basic 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
Get details for a YouTube video: title, full description, channel name and ID, publish date, duration in seconds, view count, category, keywords, and thumbnail. Works for regular videos, Shorts, and live streams.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube video URL (watch?v=, youtu.be/, /shorts/, /embed/ or /live/ forms) or 11-character video 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. It clearly implies a read operation ('Get details') and discloses the return field set and supported video formats. It does not mention error behavior, authentication, or rate limits, but those are less critical for a read-only details tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource, followed by a compact list of returned fields and supported video types. 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?
For a single-parameter read-only tool with no output schema, the description lists the key return fields and explicitly notes compatibility with regular videos, Shorts, and live streams. It is sufficient for an agent to select and invoke correctly, though it omits edge-case failure 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 schema already provides 100% parameter description coverage for the single 'url' parameter, listing all accepted URL forms and video ID format. The description adds no additional parameter semantics, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' with the resource 'details for a YouTube video' and enumerates the exact fields returned (title, description, channel, views, etc.). It also explicitly states coverage of regular videos, Shorts, and live streams, distinguishing it from channel or comment 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 retrieving metadata for a specific YouTube video but does not explicitly contrast with sibling tools like search_youtube, youtube_channel_details, or get_youtube_comments. No when-not guidance is provided.
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.
10 tool updates
- Changed
bluesky_post_comments2 fields changed- changed
Input schema / properties / post_id / descriptionPrevious value: -"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). Provide either url or post_id."New value: +"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters)." - changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). Provide either url or post_id."New value: +"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
- Changed
bluesky_post_details2 fields changed- changed
Input schema / properties / post_id / descriptionPrevious value: -"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). Provide either url or post_id."New value: +"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters)." - changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). Provide either url or post_id."New value: +"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
- Changed
bluesky_post_likes2 fields changed- changed
Input schema / properties / post_id / descriptionPrevious value: -"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). Provide either url or post_id."New value: +"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters)." - changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). Provide either url or post_id."New value: +"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
- Changed
bluesky_post_quotes2 fields changed- changed
Input schema / properties / post_id / descriptionPrevious value: -"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). Provide either url or post_id."New value: +"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters)." - changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). Provide either url or post_id."New value: +"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
- Changed
bluesky_post_reposts2 fields changed- changed
Input schema / properties / post_id / descriptionPrevious value: -"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters). Provide either url or post_id."New value: +"The post's AT URI as returned in post_id, e.g. at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l (max 200 characters)." - changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters). Provide either url or post_id."New value: +"Bluesky post URL, e.g. https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l (max 500 characters)."
- Changed
bluesky_user_followers2 fields changed- changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). Provide either username or url."New value: +"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)." - changed
Input schema / properties / username / descriptionPrevious value: -"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). Provide either username or url."New value: +"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
- Changed
bluesky_user_following2 fields changed- changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). Provide either username or url."New value: +"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)." - changed
Input schema / properties / username / descriptionPrevious value: -"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). Provide either username or url."New value: +"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
- Changed
bluesky_user_likes2 fields changed- changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). Provide either username or url."New value: +"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)." - changed
Input schema / properties / username / descriptionPrevious value: -"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). Provide either username or url."New value: +"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
- Changed
bluesky_user_posts2 fields changed- changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). Provide either username or url."New value: +"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)." - changed
Input schema / properties / username / descriptionPrevious value: -"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). Provide either username or url."New value: +"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
- Changed
bluesky_user_profile2 fields changed- changed
Input schema / properties / url / descriptionPrevious value: -"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters). Provide either username or url."New value: +"Bluesky profile URL, e.g. https://bsky.app/profile/bsky.app (max 500 characters)." - changed
Input schema / properties / username / descriptionPrevious value: -"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters). Provide either username or url."New value: +"Bluesky handle, e.g. bsky.app, with or without leading @, or the account's DID (max 100 characters)."
47 tool updates
- Changed
amazon_seller_reviews1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Added
bluesky_post_comments - Added
bluesky_post_details - Added
bluesky_post_likes - Added
bluesky_post_quotes - Added
bluesky_post_reposts - Added
bluesky_user_followers - Added
bluesky_user_following - Added
bluesky_user_likes - Added
bluesky_user_posts - Added
bluesky_user_profile - Changed
facebook_group_posts1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
facebook_page_posts1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
facebook_page_reels1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
facebook_page_reviews1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
facebook_page_videos1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
facebook_post_comments1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
instagram_comment_replies1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
instagram_hashtag_posts1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
instagram_post_comments1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
instagram_post_details1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
instagram_user_posts1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
linkedin_company_posts1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
linkedin_person_posts1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
linkedin_post_details1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
place_reviews1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Added
search_bluesky - Added
search_bluesky_users - Changed
search_facebook_posts1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_facebook_videos1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_forums1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_instagram1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_linkedin1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_reddit1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_reddit_comments1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_threads1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_tiktok1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_twitter1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
search_youtube1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
threads_user_posts1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
trustpilot_company_reviews1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
truthsocial_user_posts1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
twitter_tweet_comments1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
twitter_tweet_details1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
twitter_tweet_quotes1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
twitter_user_replies1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
- Changed
twitter_user_tweets1 field changed- changed
Input schema / properties / get_sentiment / descriptionPrevious value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
1 tool update
- Changed
instagram_user_followers1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 followers"New value: +"Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 followers; verified accounts return the first page only"
7 tool updates
- Added
search_trustpilot_categories - Added
search_trustpilot_companies - Added
trustpilot_category_companies - Added
trustpilot_category_details - Added
trustpilot_category_newest - Added
trustpilot_company_reviews - Added
trustpilot_user_profile
37 tool updates
- Changed
amazon_seller_products1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number, 1-20 (default: 1). Each page returns ~16 results."New value: +"Page number, 1-50 (default: 1). Each page returns ~16 results."
- Changed
amazon_seller_reviews1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number, 1-20 (default: 1)"New value: +"Page number, 1-50 (default: 1)"
- Changed
facebook_group_posts1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-15, default 1). Billed per page."
- Changed
facebook_page_photos1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-15, default 1). Billed per page."
- Changed
facebook_page_posts1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-15, default 1). Billed per page."
- Changed
facebook_page_reviews1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-15, default 1). Billed per page."
- Changed
facebook_page_videos1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-15, default 1). Billed per page."
- Changed
facebook_post_comments1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-20, default 1). Billed per page."
- Changed
get_youtube_comments1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1). Each page returns up to ~100 comments."New value: +"Number of pages to fetch, 1-20 (default: 1). Each page returns up to ~100 comments."
- Changed
instagram_post_comments1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1). Each page returns up to 15 comments"New value: +"Number of pages to fetch, 1-20 (default: 1). Each page returns up to 15 comments"
- Changed
instagram_user_followers1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 followers"New value: +"Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 followers"
- Changed
instagram_user_following1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-20 (default: 1). Each page returns up to 50 accounts"New value: +"Number of pages to fetch, 1-40 (default: 1). Each page returns up to 50 accounts"
- Changed
instagram_user_posts1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1). Each page returns up to 12 posts"New value: +"Number of pages to fetch, 1-20 (default: 1). Each page returns up to 12 posts"
- Changed
linkedin_company_posts1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number for pagination (default: 1)"New value: +"Page number, 1-50 (default: 1). 10 posts per page"
- Changed
linkedin_person_posts1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number, 1-5 (default: 1). 20 posts per page — up to ~100 of the person's most recent posts."New value: +"Page number, 1-30 (default: 1). 20 posts per page — up to ~600 of the person's most recent posts."
- Changed
search_facebook_events1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-15, default 1). Billed per page."
- Changed
search_facebook_pages1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-15, default 1). Billed per page."
- Changed
search_facebook_posts1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-15, default 1). Billed per page."
- Changed
search_facebook_videos1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch (1-10, default 1). Billed per page."New value: +"Number of pages to fetch (1-15, default 1). Billed per page."
- Changed
search_forums1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number for pagination (default: 1)"New value: +"Page number, 1-10 (default: 1). 10 posts per page"
- Changed
search_instagram1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
search_linkedin1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number for pagination (default: 1)"New value: +"Page number, 1-25 (default: 1). 20 posts per page"
- Changed
search_linkedin_jobs1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number for pagination (default: 1)"New value: +"Page number, 1-40 (default: 1). 25 jobs per page"
- Changed
search_reddit1 field changed- changed
Input schema / properties / page / descriptionPrevious value: -"Page number, 1-5 (default: 1)"New value: +"Page number, 1-12 (default: 1). 20 posts per page"
- Changed
search_reddit_comments1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-5 (default: 1)"New value: +"Number of pages to fetch, 1-10 (default: 1)"
- Changed
search_twitter1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
search_twitter_users1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
search_youtube1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
search_youtube_channels1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
truthsocial_user_posts1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1). Each page returns up to 20 posts"New value: +"Number of pages to fetch, 1-20 (default: 1). Each page returns up to 20 posts"
- Changed
twitter_tweet_comments1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
twitter_tweet_quotes1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
twitter_tweet_retweets1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
twitter_user_followers1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
twitter_user_replies1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
twitter_user_tweets1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
- Changed
twitter_verified_followers1 field changed- changed
Input schema / properties / pages / descriptionPrevious value: -"Number of pages to fetch, 1-10 (default: 1)"New value: +"Number of pages to fetch, 1-20 (default: 1)"
9 tool updates
- Added
instagram_comment_replies - Added
instagram_hashtag_posts - Added
instagram_highlight_stories - Added
instagram_post_comments - Added
instagram_post_likes - Added
instagram_user_followers - Added
instagram_user_following - Added
instagram_user_highlights - Added
instagram_user_stories
6 tool updates
- Added
amazon_best_sellers - Added
amazon_product_details - Added
amazon_seller_products - Added
amazon_seller_profile - Added
amazon_seller_reviews - Added
search_amazon_products
68 tool updates
- First observed
batch_requests - First observed
facebook_group_details - First observed
facebook_group_posts - First observed
facebook_page_details - First observed
facebook_page_photos - First observed
facebook_page_posts - First observed
facebook_page_reels - First observed
facebook_page_reviews - First observed
facebook_page_videos - First observed
facebook_post_comments - First observed
get_skill - First observed
get_youtube_comments - First observed
google_ai_mode - First observed
instagram_post_details - First observed
instagram_user_posts - First observed
instagram_user_profile - First observed
linkedin_company_details - First observed
linkedin_company_posts - First observed
linkedin_job_details - First observed
linkedin_person_posts - First observed
linkedin_post_details - First observed
list_skills - First observed
place_details - First observed
place_photos - First observed
place_reviews - First observed
search_facebook_events - First observed
search_facebook_locations - First observed
search_facebook_pages - First observed
search_facebook_posts - First observed
search_facebook_videos - First observed
search_forums - First observed
search_instagram - First observed
search_instagram_users - First observed
search_linkedin - First observed
search_linkedin_companies - First observed
search_linkedin_jobs - First observed
search_news - First observed
search_places - First observed
search_reddit - First observed
search_reddit_comments - First observed
search_reddit_users - First observed
search_threads - First observed
search_threads_users - First observed
search_tiktok - First observed
search_tiktok_users - First observed
search_twitter - First observed
search_twitter_users - First observed
search_web - First observed
search_youtube - First observed
search_youtube_channels - First observed
threads_user_posts - First observed
threads_user_profile - First observed
tiktok_user_profile - First observed
tiktok_video_details - First observed
truthsocial_user_posts - First observed
twitter_trends - First observed
twitter_tweet_comments - First observed
twitter_tweet_details - First observed
twitter_tweet_quotes - First observed
twitter_tweet_retweets - First observed
twitter_user_followers - First observed
twitter_user_following - First observed
twitter_user_profile - First observed
twitter_user_replies - First observed
twitter_user_tweets - First observed
twitter_verified_followers - First observed
youtube_channel_details - First observed
youtube_video_details
Related MCP Connectors
Live social media data for AI agents: X, LinkedIn, Instagram, TikTok, YouTube, Reddit, Facebook.
AI-powered social listening across Twitter, LinkedIn, Reddit, Facebook, and more.
8 social listening tools over one MCP endpoint: Reddit, X, Threads, YouTube, Google Trends, news.
YouTube, TikTok, Instagram, X, Reddit, LinkedIn and Threads: public data in one schema.
Related MCP Servers
- AlicenseAqualityBmaintenanceSocial media search and analytics across X, Reddit, Bluesky, YouTube, LinkedIn, Facebook, Instagram, and Weibo via the Rolli IQ AP3071 npm2MIT

Xpoz MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceSearch Twitter/X, Instagram, Reddit, and TikTok from AI agents. 52 tools for keyword and hashtag search, user profiles, posts, comments, follower connections, and tracking. Billions of posts indexed, natural-language queries, CSV export up to 500K rows. Remote server (Streamable HTTP) with OAuth sign-in, no API keys needed.12MIT- AlicenseBqualityCmaintenanceQuery social media data from Instagram, TikTok, Twitter/X, Threads, YouTube, Facebook, and Reddit directly through natural language commands. Retrieves profiles, posts, videos, and engagement metrics using the SociaVault API.1134 npm1MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol (MCP) server that empowers LLMs to search across specific social media platforms using the industry's best search engines.113 PyPIMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.