Skip to main content
Glama

Server Details

Get social media data from Instagram and TikTok: profiles, posts, videos, comments, and more.

Ownership verified
Status
Healthy
Uptime
57.1% over 41 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 71 tools

Disambiguation4/5

Each tool is scoped by platform prefix and specific entity/action, and descriptions clearly distinguish similar operations. However, multiple comment and post retrieval tools across different scopes (e.g., reddit_get_post_comments, reddit_get_subreddit_comments, reddit_get_user_comments) and overlapping search endpoints (instagram_search_media vs instagram_search_popular) could still cause minor selection hesitation.

Naming Consistency5/5

Every tool follows a consistent platform_verb_noun snake_case pattern (e.g., instagram_get_user, reddit_search_posts, tiktok_get_user_videos). The only variation is between 'get' and 'search', which is a meaningful semantic distinction, and no naming conventions are mixed.

Tool Count2/5

71 tools is far beyond the typical 3–15 range and exceeds the 25+ threshold for 'too many' in the rubric. While the server aggregates five distinct social platforms, each with many legitimate endpoints, exposing all of them as a single toolset is heavy and likely overwhelming for an agent without platform-level partitioning.

Completeness3/5

The server offers broad read coverage across platforms, but notable gaps exist: X lacks search and comment/reply retrieval, Instagram lacks user search and nested comment replies, and LinkedIn lacks search and dedicated comment endpoints. These omissions will limit some investigative workflows, though core retrieval for each platform is present.

Available Tools

71 tools
instagram_get_audio_reelsInstagram: Get reels by audioA
Read-onlyIdempotent
Inspect

Returns a paginated list of reels using a given audio/music track. Instagram always returns a fixed batch of 12 per page. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor
audioIdYesInstagram audio/music cluster ID (from instagram.com/reels/audio/{id}/)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's job is lighter. It adds useful behavioral context about pagination (fixed batch of 12 per page) and the availability of payload reduction options, which goes beyond the structured annotations without contradicting them.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose and pagination behavior. The second sentence adds relevant parameter guidance without waste. Every word earns its place.

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

Completeness4/5

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

For a tool with 5 parameters (1 required) and no output schema, the description provides sufficient context: it specifies the resource, the pagination behavior, and payload reduction options. It does not describe error cases or return structure in detail, but the annotations cover safety and the schema covers parameters, making this adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are already documented. The description mentions projection_preset, data_fields, and item_fields for payload reduction, but this only restates what the schema already provides. No additional semantic meaning is added beyond the schema.

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

Purpose5/5

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

The description clearly states the tool returns a paginated list of reels filtered by a specific audio/music track. It uses a specific verb ('returns') and resource ('reels'), and the audio-based distinction separates it from sibling tools like instagram_get_trending_reels or instagram_get_user_reels.

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

Usage Guidelines3/5

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

The description implies usage (when you have an audio ID) but does not explicitly state when to use this tool over alternatives or when not to use it. It mentions the fixed batch size but lacks explicit routing guidance to other reels tools, leaving the agent to infer the selection criteria.

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

instagram_get_highlight_storiesInstagram: Get highlight storiesA
Read-onlyIdempotent
Inspect

Returns all story items within a highlight reel, including images and videos. The highlight ID comes from the highlights list endpoint. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
highlightIdYesInstagram highlight ID
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already communicate readOnly, idempotent, non-destructive, and openWorld behavior, so the description does not need to re-cover safety. It adds useful context about media content and payload-reduction options, but does not mention pagination, response shape, or rate-limit behavior.

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

Conciseness5/5

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

The description is two sentences and front-loaded with the core behavior. The second sentence adds a prerequisite and a summary of payload-reduction options without unnecessary filler.

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

Completeness4/5

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

For a moderately simple read-only tool, the description covers what is returned and where the required ID comes from. No output schema exists, so a slightly fuller description of the response shape would help, but the overall context is sufficient for correct invocation.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents highlightId, projection_preset, data_fields, and item_fields. The description only restates the parameter names and the general purpose of payload reduction, adding limited meaning beyond the schema.

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

Purpose4/5

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

The description clearly states a specific verb and resource: 'Returns all story items within a highlight reel, including images and videos.' It does not explicitly name a sibling tool to distinguish from, but the mention that the ID comes from the highlights list endpoint helps separate this from list-style highlight tools.

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

Usage Guidelines3/5

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

The description implies the usage flow: obtain a highlight ID from the highlights list endpoint, then pass it here. It does not explicitly name the alternative endpoint/tool or state when not to use this tool, so guidance is present but inferred.

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

instagram_get_location_postsInstagram: Get posts by locationA
Read-onlyIdempotent
Inspect

Returns recent posts tagged at a location. Fixed page size of 21 (platform limit), single page only. The location ID is a numeric Facebook Places ID. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoPage size (fixed at 21 by the platform) Default: 21
cursorNoPagination cursor
locationIdYesInstagram/Facebook location ID (numeric)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond that: it discloses the fixed page size (21) and single-page limitation, which affects pagination expectations, and explains that projection_preset, data_fields, and item_fields serve payload reduction. This gives the agent a clear picture of what to expect without contradicting annotations.

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

Conciseness5/5

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

Three sentences, each earning its place. The first states the core purpose, the second discloses critical constraints (page size and pagination), and the third mentions the payload-reduction options. There is zero fluff, and the most important information (what it does and its limitations) is front-loaded.

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

Completeness4/5

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

For a read-only retrieval tool with 100% schema coverage and safety annotations, the description covers the essential aspects: purpose, constraints, and parameter purposes. It doesn't detail the return structure, but there is no output schema, and the description's mention of payload reduction implies a structured response. The only minor gap is that it doesn't explicitly state that count is ignored despite being in the schema, but the description and schema both note the fixed page size, so this is not a critical omission.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter already has a description. The description adds a small amount of meaning by framing projection_preset, data_fields, and item_fields as a group for payload reduction, which is not explicitly stated in the schema. However, it does not go beyond that; the ID type and count behavior are already in the schema. With full coverage, a baseline of 3 is appropriate.

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

Purpose5/5

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

The description states a clear verb ('Returns') and resource ('posts tagged at a location'), specifying the exact scope. It distinguishes itself from sibling tools like instagram_get_user_posts by focusing on location-based posts, and even clarifies the ID type (numeric Facebook Places ID). No ambiguity.

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

Usage Guidelines2/5

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

The description does not provide guidance on when to use this tool versus alternatives. It never mentions when-not-to-use, nor does it reference any sibling tools (e.g., instagram_search_media or instagram_get_user_posts) that might be better suited for different needs. The only context is a platform constraint (fixed page size, single page), which is behavioral, not usage guidance.

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

instagram_get_postInstagram: Get post detailsA
Read-onlyIdempotent
Inspect

Returns details for a single post by its shortcode, including media, captions, and engagement counts. Supports photos, videos, and carousels. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYesPost shortcode (from instagram.com/p/{shortcode}/)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the description does not need to restate safety. It does add useful behavioral context about supported media types and payload-reduction options, but it does not disclose failure modes, rate limits, or the exact response shape. No contradiction with annotations.

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

Conciseness5/5

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

Three focused sentences with no filler: the core purpose is front-loaded, then supported types, then payload options. Every sentence earns its place.

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

Completeness4/5

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

For a simple read-only getter with complete parameter schema and strong annotations, the description is nearly sufficient. It covers what is returned, supported media types, and the projection options, though the absence of an output schema leaves some ambiguity about the full response structure.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents postId, data_fields, and projection_preset. The description reinforces that postId is a shortcode and explains that projection_preset and data_fields reduce payload, but it adds little beyond what the schema already states.

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

Purpose5/5

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

The description states a specific verb and resource: 'Returns details for a single post by its shortcode,' and adds useful scope with media types and engagement counts. It is clearly differentiated from sibling tools like instagram_get_post_comments and instagram_get_user_posts.

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

Usage Guidelines3/5

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

Usage is implied through 'single post by its shortcode' and the supported media formats, but there is no explicit when-to-use versus alternatives guidance. It does not mention exclusions or direct the agent to a sibling tool under specific conditions.

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

instagram_get_post_commentsInstagram: Get post commentsA
Read-onlyIdempotent
Inspect

Returns top-level comments on an Instagram post. Fixed page size of 15 (platform limit). Includes comment text, author info, like counts, and timestamps. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoPage size (fixed at 15 by the platform) Default: 15
cursorNoPagination cursor
postIdYesPost shortcode (from instagram.com/p/{shortcode}/)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint=true, idempotentHint=true, destructiveHint=false). The description adds valuable behavioral context: fixed page size of 15 (platform limit), included fields (comment text, author info, like counts, timestamps), and support for projection_preset/data_fields/item_fields for payload reduction. No contradictions with annotations.

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

Conciseness5/5

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

Two sentences with no wasted words. The primary function is stated first, followed by key constraints and options. Highly concise and well-structured.

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

Completeness4/5

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

For a read-only tool with 6 parameters (1 required) and no output schema, the description covers the return contents, pagination limit, and payload reduction options. Missing details like error handling or authentication are not critical given annotations. The description is sufficient for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so all parameters have descriptions. The description adds meaning beyond the schema by explaining that projection_preset, data_fields, and item_fields are for payload reduction, which is not explicit in the individual parameter descriptions. This helps an agent understand their purpose.

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

Purpose5/5

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

The description clearly states the tool returns top-level comments on an Instagram post, a specific verb+resource. It distinguishes from siblings like instagram_get_post (which retrieves the post itself) and other platforms' comment tools. No ambiguity.

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

Usage Guidelines2/5

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

The description does not explicitly say when to use this tool vs alternatives, nor does it mention exclusions or conditions. The name and context imply it is for Instagram comments, but there is no guidance on when to prefer it over other comment-fetching tools. Only implicit usage context is provided.

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

instagram_get_userInstagram: Get user profileA
Read-onlyIdempotent
Inspect

Returns profile information for an Instagram user including bio, follower counts, profile picture, and account metadata. Look up any public Instagram account by username, or pass ?userId= to look up by numeric user ID instead. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdNoLook up the account by its numeric Instagram user ID instead of its username. If you already have the ID (e.g. from a post or comment's attributedTo field in another response), passing it here returns the profile faster than a username lookup. When set, it overrides the username in the URL — any placeholder there works.
usernameYesInstagram username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds useful context about public-only access and payload reduction, but does not disclose rate limits, auth requirements, or any edge-case behavior. Given the annotations, this is adequate but not rich.

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

Conciseness5/5

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

Three compact sentences front-load the core purpose, then cover lookup alternatives and payload reduction. Every sentence earns its place with no redundant filler or repetition of schema details.

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

Completeness4/5

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

For a simple read-only profile lookup with a rich schema and comprehensive safety annotations, the description provides enough: output contents, public-scope caveat, lookup modes, and payload options. With no output schema, a slightly more explicit return-format note would make it fully complete, but the current summary is sufficient for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters in detail. The description adds a little value by framing projection_preset and data_fields as payload reduction and by mentioning the numeric-ID shortcut, but it does not meaningfully compensate or extend beyond the schema.

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

Purpose5/5

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

The description states a specific verb and resource: 'Returns profile information for an Instagram user.' It names concrete output content (bio, follower counts, profile picture, account metadata) and clarifies it covers any public account. This clearly differentiates it from sibling tools focused on posts, reels, tagged content, and highlights.

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

Usage Guidelines4/5

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

The description gives clear lookup context: use a username, or pass userId for a numeric ID lookup, and optionally reduce payload with projection_preset/data_fields. It does not explicitly name sibling alternatives or state when not to use this tool, but the single-purpose profile resource makes the intended use obvious.

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

instagram_get_user_highlightsInstagram: Get user story highlightsA
Read-onlyIdempotent
Inspect

Returns the list of story highlight reels on a user's profile. Use the highlight endpoint to get individual stories within a highlight. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor
usernameYesInstagram username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds payload-reduction support and the relationship to the highlight endpoint, but does not disclose additional behavioral traits like pagination behavior or potential rate limits.

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

Conciseness5/5

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

The description is three sentences with no fluff: purpose first, sibling routing second, parameter context third. Every sentence contributes useful information.

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

Completeness4/5

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

For a read-only list tool with one required parameter and no output schema, the description sufficiently covers purpose, scope, and how to drill into individual stories. Pagination/cursor behavior is not explicitly explained, but the cursor parameter is documented in the schema.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by explicitly grouping projection_preset, data_fields, and item_fields as payload-reduction controls, clarifying their collective purpose beyond their individual schema descriptions.

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

Purpose5/5

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

The description clearly states it returns the list of story highlight reels on a user's profile, with a specific verb and resource. It also distinguishes itself from the sibling tool for individual stories by directing users to the highlight endpoint for nested story retrieval.

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

Usage Guidelines4/5

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

It explicitly tells users to use the highlight endpoint for individual stories within a highlight, which serves as a clear alternative. It does not exhaustively compare against all siblings, but the resource and scope are specific enough to guide selection.

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

instagram_get_user_postsInstagram: Get user postsA
Read-onlyIdempotent
Inspect

Returns a paginated list of posts from an Instagram user's profile feed. Maximum 12 posts per page. Includes photos, videos, carousels, and engagement counts. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of posts to fetch (maximum: 12) Default: 12
cursorNoPagination cursor
usernameYesInstagram username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.7/5.0
Behavior4/5

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

The description adds meaningful behavioral context beyond the annotations: it discloses pagination with a maximum of 12 posts per page, enumerates content types included, and mentions support for projection_preset, data_fields, and item_fields for payload reduction. Since annotations already mark the tool as read-only and idempotent, the description appropriately extends that with operational details without contradiction.

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

Conciseness5/5

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

The description is concise, with every sentence earning its place: it states the core function, the pagination limit, content types, and the payload-reduction options. The most important information (returns posts) is front-loaded, and there is no filler or redundancy.

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

Completeness4/5

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

Given the tool's moderate complexity, the description covers the key aspects an agent needs: pagination behavior, content types, and the available projection options. It does not detail the response structure, but with no output schema and annotations already establishing safety, the description is sufficient for correct invocation. Minor omissions like how to use the cursor are covered by the schema, so the overall completeness is good.

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

Parameters4/5

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

With 100% schema description coverage, the baseline is 3. The description adds value by explaining that projection_preset, data_fields, and item_fields are for payload reduction, which clarifies their purpose beyond the schema's terse descriptions. It does not repeat the schema's parameter details but contextualizes their use, earning a 4.

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

Purpose4/5

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

The description clearly states the tool returns a paginated list of posts from an Instagram user's profile feed, specifying content types (photos, videos, carousels) and engagement counts. This distinguishes it from sibling tools like instagram_get_user_reels or instagram_get_user_tagged, though it does not explicitly name alternatives. The verb and resource are precise and unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as instagram_get_user_reels or instagram_get_user_tagged. It does not state exclusions or conditions for selecting this tool. The only implicit cue is 'profile feed', but that is not enough to guide an agent in choosing among the many similar Instagram user-related tools.

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

instagram_get_user_reelsInstagram: Get user reelsA
Read-onlyIdempotent
Inspect

Returns a paginated list of reels from an Instagram user's profile, newest first. Maximum 8 reels per page. Includes video URLs, captions, and engagement counts. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of reels to fetch (2-8 — Instagram enforces both bounds server-side) Default: 8
cursorNoPagination cursor
usernameYesInstagram username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.6/5.0
Behavior5/5

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

Discloses pagination behavior, the 8-reel-per-page cap, newest-first ordering, output contents (video URLs, captions, engagement counts), and the payload-reduction capability. This goes well beyond the readOnlyHint/idempotentHint/destructiveHint annotations, adding practical runtime context without contradicting them.

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

Conciseness5/5

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

Four short, dense sentences front-load the core action and key constraints, then add output details and parameter tips. No filler or repetition; every sentence earns its place.

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

Completeness4/5

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

With no output schema, the description must convey return shape, and it does cover page size, ordering, and output contents. It stops short of describing the pagination envelope (e.g., cursor/nextCursor) or the default count, though the schema's parameter descriptions fill some of that gap.

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

Parameters4/5

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

Schema coverage is 100%, so all six parameters are already documented. The description adds meaning beyond the schema by grouping projection_preset, data_fields, and item_fields under the shared purpose of 'payload reduction', helping an agent understand why to set them.

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

Purpose5/5

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

States a specific verb and resource: 'Returns a paginated list of reels from an Instagram user's profile' with ordering ('newest first') and page size. This clearly differentiates it from siblings like instagram_get_audio_reels, instagram_get_trending_reels, and instagram_get_user_posts by scope and media type.

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

Usage Guidelines4/5

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

Provides clear context for when to use the tool—fetching a specific user's reels—and gives operational guidance on payload reduction via projection_preset, data_fields, and item_fields. It does not explicitly mention alternative tools or exclusion conditions, but the context is unambiguous enough to route correctly among siblings.

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

instagram_get_user_taggedInstagram: Get user tagged postsA
Read-onlyIdempotent
Inspect

Returns Instagram posts where the user has been tagged by other accounts. Maximum 12 posts per page. Includes full post details and engagement counts. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of posts to fetch (maximum: 12) Default: 12
cursorNoPagination cursor
usernameYesInstagram username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds useful behavioral context beyond that: a hard limit of 12 posts per page and the ability to reduce payload via projection_preset, data_fields, and item_fields.

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

Conciseness5/5

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

Three concise sentences with no filler. The main action is front-loaded, followed by the key limit and then the payload controls, each sentence carrying distinct information.

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

Completeness4/5

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

The description covers the core selection criteria, pagination limit, return content, and payload shaping options. It is adequate for a read-only list tool, though it could have more explicitly clarified how cursor-based pagination connects to the 12-post page limit.

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

Parameters4/5

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

Schema coverage is 100%, so all parameters are described in the schema. The description still adds value by explaining the shared purpose of projection_preset, data_fields, and item_fields as payload-reduction mechanisms, which is not fully evident from the individual parameter descriptions.

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

Purpose5/5

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

The description states a specific verb ('Returns') and a precise resource: Instagram posts where the user was tagged by other accounts. This clearly distinguishes the tool from siblings like instagram_get_user_posts or instagram_search_media.

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

Usage Guidelines4/5

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

The description makes the use case clear: retrieve posts in which a specific user has been tagged. It does not explicitly name alternatives or exclusions, but the distinction from user-created posts is implicit and strong enough for an agent to select the right tool.

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

instagram_search_mediaInstagram: Search mediaA
Read-onlyIdempotent
Inspect

Searches Instagram for trending reels and videos matching a keyword. Maximum 24 results per page. Some valid keywords may return no results, since this surfaces trending content rather than a full-text search. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of results to fetch (maximum: 24) Default: 24
queryYesSearch query
cursorNoPagination cursor
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

The description adds behavioral details beyond the annotations: a maximum of 24 results per page, the possibility of empty results, and the availability of payload-reduction parameters. It does not contradict annotations (read-only, open-world, idempotent, non-destructive). It augments the safety profile with concrete limits and cautions.

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

Conciseness5/5

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

The description is highly concise: three sentences that front-load the core purpose, then provide the limit and behavioral caveat, and finally mention parameter support. There is no redundancy or filler, and every sentence earns its place.

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

Completeness4/5

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

For a search tool with no output schema, the description covers the essential context: it returns trending content, has a page limit, may return no results, and explains payload reduction. It doesn't explicitly describe the output format, but the data_fields/item_fields schema helps cover that. Minor gaps exist around pagination behavior, but overall it is sufficiently complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaning by explaining that projection_preset, data_fields, and item_fields are used for payload reduction, which is not obvious from the schema alone. This clarifies the purpose of these parameters beyond their individual descriptions.

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

Purpose5/5

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

The description clearly states the tool searches Instagram for trending reels and videos matching a keyword, which is a specific verb, resource, and object. It also distinguishes itself from full-text search by noting it surfaces trending content, differentiating it from sibling tools like instagram_search_popular.

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

Usage Guidelines4/5

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

The description implicitly tells when to use this tool: when you want trending reels/videos by keyword, not a full-text search. It cautions that some keywords may yield no results, which helps set expectations. However, it does not explicitly name alternatives like instagram_get_trending_reels or instagram_search_popular, 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.

linkedin_get_companyLinkedIn: Get company pageA
Read-onlyIdempotent
Inspect

Returns public information for a LinkedIn company page including description, location, employee count, and logo. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyYesCompany vanity name
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating a safe read operation. The description adds that it returns 'public information' and supports 'payload reduction' via projection_preset and data_fields. It does not contradict annotations, and adds incremental value by stating the read-only nature and customization options, though it could mention rate limits or that data is cached.

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

Conciseness5/5

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

The description is extremely concise, one sentence that states the core purpose, lists included data fields, and mentions the two customization parameters. Every word earns its place, 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.

Completeness4/5

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

Given that it is a simple read operation with annotations covering safety, the description is nearly complete. It explains what is returned and how to reduce payload, but does not specify the output format (e.g., JSON structure) or error cases. However, since there is no output schema, a brief note on return structure could have improved it, but it remains adequate for an agent to call correctly.

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

Parameters3/5

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

Schema description coverage is 100%, with descriptions for company ('Company vanity name') and optional projection_preset/data_fields. The description adds no new parameter details beyond what 'payload reduction' implies, but the schema already provides sufficient documentation. Since coverage is high, a baseline of 3 is appropriate; the description does not introduce any confusing or missing semantics.

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

Purpose5/5

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

The description clearly states the tool returns public information for a LinkedIn company page, listing specific fields (description, location, employee count, logo). It is distinct from siblings like linkedin_get_company_posts, which focus on posts rather than page details. The purpose is unambiguous.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternativestons. However, the context of retrieving company page information is inherently clear, and the sibling list shows obvious distinctions like company_posts for post feeds. There is no exclusions or alternatives specified, but the use case is straightforward enough to imply when to use.

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

linkedin_get_company_postsLinkedIn: Get company postsA
Read-onlyIdempotent
Inspect

Returns recent posts from a LinkedIn company page, newest first. Use cursor to page through further results. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor
companyYesCompany vanity name
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish that this is read-only, idempotent, open-world, and non-destructive. The description adds behavioral details beyond those annotations: newest-first ordering, iterative paging via cursor, and payload reduction through projection params. It does not cover error cases or rate limits, but for a safe read operation that is a minor gap.

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

Conciseness5/5

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

Three short sentences, with the core behavior front-loaded, then pagination, then payload options. Every sentence earns its place and there is no filler or restating of the title.

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

Completeness4/5

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

For a moderate-complexity list operation with rich annotations and a fully described input schema, the description is nearly complete: it states the output, ordering, pagination, and payload controls. Because there is no output schema, a bit more detail about the response envelope would have fully closed the loop, but the data_fields/item_fields enums partially reveal the return shape.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds value by telling the agent what cursor is for ('page through further results') and by grouping projection_preset, data_fields, and item_fields as payload-reduction controls. This goes slightly beyond the schema's bare parameter descriptions.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Returns recent posts from a LinkedIn company page, newest first.' This clearly distinguishes it from sibling tools like linkedin_get_user_posts or linkedin_get_post by limiting scope to company pages and stating ordering.

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

Usage Guidelines4/5

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

The 'LinkedIn company page' scoping gives clear context for when to select this tool over the many user/post getters in the sibling list, though it does not explicitly name alternatives or state when not to use it. The mention of cursor-based paging also hints at long result sets, which is useful usage context.

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

linkedin_get_postLinkedIn: Get postA
Read-onlyIdempotent
Inspect

Returns a public LinkedIn post including author, engagement counts, and up to ~5 inline comments. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYesLinkedIn post activity ID: the full slug (from linkedin.com/posts/{id}), a bare `urn:li:activity:{id}` (from linkedin.com/feed/update/{urn}/), or a bare numeric activity ID (e.g. `7476310414297968640`)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar for added value is lower. The description adds useful behavioral context beyond annotations: the return payload is scoped to author, engagement counts, and up to ~5 inline comments, and payload reduction is possible via projection_preset/data_fields. No contradictions with annotations.

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

Conciseness5/5

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

Two sentences with no filler. The main purpose and content scope are front-loaded, followed by a concise note on payload reduction. Every sentence earns its place.

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

Completeness4/5

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

For a 3-parameter read-only tool with full schema coverage and no output schema, the description covers the essential return contents and the payload control options. It could add a note about error behavior for invalid/non-public post IDs, but nothing critical is missing for a correctly-made call.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents postId, data_fields, and projection_preset. The description's mention of 'payload reduction' summarizes but does not add new meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Returns'), a clear resource ('public LinkedIn post'), and key content (author, engagement counts, inline comments), which distinguishes it from siblings like linkedin_get_post_transcript or linkedin_get_user_posts. It doesn't explicitly name a sibling, but the scope and detail are sufficient for most routing decisions.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives such as linkedin_get_post_comments or linkedin_get_post_transcript. The 'public' qualifier and mention of inline comments imply some context, but the agent is left to infer when this tool is preferred over its siblings.

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

linkedin_get_post_transcriptLinkedIn: Get post video transcriptA
Read-onlyIdempotent
Inspect

Returns the caption/transcript for a video post, when the post carries captions. Returns 404 if the post has no video or no captions. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYesLinkedIn post activity ID: the full slug (from linkedin.com/posts/{id}), a bare `urn:li:activity:{id}` (from linkedin.com/feed/update/{urn}/), or a bare numeric activity ID (e.g. `7476310414297968640`)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering safety. The description adds value beyond these by disclosing the 404 error case and the support for projection_preset and data_fields for payload reduction. It does not contradict annotations.

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

Conciseness5/5

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

The description is two sentences with zero filler. It front-loads the primary purpose, states the error condition, and mentions the optional payload reduction features—all in a compact, scannable structure. Every sentence earns its place.

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

Completeness4/5

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

Given the tool's simplicity (3 params, 1 required, no output schema), the description covers the essential aspects: what it returns, when it fails, and how to reduce payload. It does not describe the exact response structure, but the data_fields enum includes 'content', which hints at the output. For a read-only tool with annotations already covering safety, this is adequately complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters thoroughly, including postId formats and enum choices. The description only briefly mentions that projection_preset and data_fields support payload reduction, which adds marginal context but does not significantly compensate for what the schema already provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('Returns') and resource ('caption/transcript for a video post'), and clearly distinguishes from sibling tools like linkedin_get_post by focusing on the transcript. It also specifies the error condition (404 if no video or captions), making the tool's purpose unambiguous.

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

Usage Guidelines4/5

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

The description gives clear context on when the tool succeeds (post carries captions) and when it fails (no video or captions), which helps an agent decide whether to invoke it. It does not explicitly name alternatives or say 'use X instead', but the conditionality is useful guidance. A 4 is appropriate for clear context without exclusions.

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

linkedin_get_userLinkedIn: Get user profileA
Read-onlyIdempotent
Inspect

Returns profile information for a public LinkedIn member: headline, location, and a simple list of job titles and school/employer names. Fields the member has restricted are omitted. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesLinkedIn username
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds behavioral context beyond that: it notes that restricted fields are omitted and that the profile must be public. This informs the agent about privacy-related behavior and access scope, which is meaningful and not redundant with annotations.

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

Conciseness5/5

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

The description is two sentences with no fluff. The first sentence front-loads the purpose and return contents; the second adds the privacy caveat and parameter note. Every word earns its place, and the structure is efficient and scannable.

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

Completeness4/5

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

For a simple read-only profile fetch with three parameters and no output schema, the description covers the essential facets: what is returned, the public-profile scope, omission of restricted fields, and payload-reduction options. It does not mention error handling or behavior for private/not-found users, but given the simplicity and annotation coverage, this is nearly complete.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter described (username, data_fields, projection_preset, including enum values and defaults). The description only reiterates that projection_preset and data_fields support payload reduction, adding no new semantics beyond the schema. 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.

Purpose5/5

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

The description uses a specific verb ('Returns') and resource ('profile information for a public LinkedIn member') and enumerates the exact content: headline, location, job titles, school/employer names. It also clarifies that restricted fields are omitted, distinguishing it from LinkedIn post/article tools. This is precise and unambiguous, with no room for confusion.

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

Usage Guidelines3/5

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

The description implies usage by its content—profile data versus posts or articles—but it does not explicitly state when to prefer this tool over siblings like linkedin_get_user_posts or linkedin_get_user_articles. No alternatives are named, and there is no when-not-to-use guidance. The purpose is clear enough to infer, but explicit routing is absent.

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

linkedin_get_user_articlesLinkedIn: Get user articlesA
Read-onlyIdempotent
Inspect

Returns a public LinkedIn member's published articles. This endpoint is not paginated — everything available is returned in a single response. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesLinkedIn username
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral context beyond these: 'This endpoint is not paginated — everything available is returned in a single response.' It also mentions payload reduction options, which is useful but not strictly behavioral.

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

Conciseness5/5

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

Two sentences with zero waste. Purpose is front-loaded, followed by the key behavioral note and then the parameter support mention. No redundant information.

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

Completeness4/5

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

For a simple read-only tool with full schema coverage and no output schema, the description covers the essential points: purpose, non-pagination, and payload reduction. It might benefit from mentioning alternatives or when to use this over linkedin_get_user_posts, but it is largely complete.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters (username, data_fields, item_fields, projection_preset) are already documented in the schema. The description only restates that these are for payload reduction, adding no new semantics beyond the schema.

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

Purpose5/5

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

The description states 'Returns a public LinkedIn member's published articles' – a specific verb and resource that clearly distinguishes this from sibling tools like linkedin_get_user_posts. It also adds the non-pagination behavior, further clarifying scope.

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

Usage Guidelines4/5

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

The description clearly identifies the target resource (articles) and gives a usage-relevant detail (non-paginated single response). It does not explicitly name alternatives or exclusions, but the purpose is distinct enough that an agent can infer when to use it.

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

linkedin_get_user_postsLinkedIn: Get user postsA
Read-onlyIdempotent
Inspect

Returns a public LinkedIn member's recent posts and shares. This endpoint is not paginated — everything available is returned in a single response. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesLinkedIn username
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds valuable context beyond annotations: the endpoint is not paginated and returns everything available in one response, plus it notes the public-data access constraint. No contradiction with annotations.

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

Conciseness5/5

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

Three sentences with no filler: purpose first, then the key pagination behavior, then the optional payload-reduction parameters. Every sentence earns its place and the most important facts are front-loaded.

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

Completeness4/5

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

For a read-only tool with fully described parameters and rich enum values for item_fields, the description is nearly complete. It lacks an explicit description of the response envelope beyond 'single response', but the schema fields and item_fields already reveal the expected output shape.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds extra value by framing projection_preset, data_fields, and item_fields as payload-reduction controls, giving the agent a reason to use them beyond the raw schema descriptions.

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

Purpose5/5

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

The description uses a specific verb ('Returns') and a precise resource ('a public LinkedIn member's recent posts and shares'). It clearly distinguishes from sibling tools such as linkedin_get_user and linkedin_get_user_articles without requiring schema inspection.

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

Usage Guidelines4/5

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

It gives clear context: use this when you need a public member's recent posts and shares, and expect a single non-paginated response. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.

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

reddit_get_commentReddit: Get commentA
Read-onlyIdempotent
Inspect

Returns a public Reddit comment with author info, scores, reply presence, and media when available. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYesReddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)
commentIdYesReddit comment ID (e.g. `onflihe` or `t1_onflihe`)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds return content details but no additional behavioral context like rate limits, error handling, or authentication requirements. It adds some value beyond annotations but not rich detail.

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

Conciseness5/5

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

The description is a single sentence that front-loads the primary purpose and then mentions payload reduction. Every word earns its place, with no fluff or redundancy.

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

Completeness4/5

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

For a simple read-only getter, the description explains what is returned (author info, scores, reply presence, media) and mentions payload reduction. With no output schema, this is sufficient for an agent to understand the return value. It lacks details on error cases or authentication, but openWorldHint covers public access. The description is complete enough for the tool's simplicity.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter fully described including examples and enums. The description reinforces that projection_preset and data_fields are for payload reduction, but this is already implied by the schema's descriptions. No additional semantic meaning is added beyond the schema.

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

Purpose5/5

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

The description clearly states the action (returns a public Reddit comment) and the resource (a single comment). It distinguishes itself from siblings like reddit_get_comment_replies and reddit_get_comments_batch by focusing on one comment's data. The specific mention of author info, scores, reply presence, and media makes the purpose unambiguous.

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

Usage Guidelines3/5

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

The description implies usage for retrieving a single comment but does not explicitly state when to choose this over alternatives such as reddit_get_post_comments or reddit_get_comment_replies. No exclusion or alternative guidance is provided, leaving the selection to inference.

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

reddit_get_comment_repliesReddit: Get comment repliesA
Read-onlyIdempotent
Inspect

Returns direct replies to a Reddit comment using cursor-based pagination. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of replies to fetch (maximum: 100) Default: 20
cursorNoPagination cursor
postIdYesReddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)
commentIdYesReddit comment ID (e.g. `onflihe` or `t1_onflihe`)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond those flags: it returns only direct (not nested) replies, uses cursor-based pagination, and supports projection/payload reduction. These are operational traits the agent would not otherwise know.

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

Conciseness5/5

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

Two sentences with no wasted words. The primary behavior and pagination concept are front-loaded, and the projection capability is summarized in a single clause. Every sentence earns its place.

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

Completeness4/5

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

For a read-only tool with 100% schema coverage and no output schema, the description is reasonably complete: it defines the result scope ('direct replies'), pagination style, and payload-control options. It could be more explicit about how the cursor is passed/returned, but the schema's cursor and nextCursor field descriptions mostly fill that gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all seven parameters and their enums. The description adds minimal extra meaning beyond linking projection_preset, data_fields, and item_fields to 'payload reduction,' which is useful but does not individually explain any parameter beyond the schema.

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

Purpose5/5

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

The description opens with a precise verb+resource: 'Returns direct replies to a Reddit comment.' It also states the pagination mechanism and the projection options, so the tool's scope is unmistakable and it is clearly distinguished from sibling tools like reddit_get_comment or reddit_get_post_comments.

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

Usage Guidelines3/5

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

The phrase 'direct replies' establishes a clear scenario where this tool applies, and cursor-based pagination hints at iterative fetching. However, it does not name any sibling alternatives or state when not to use this tool, leaving the agent to infer trade-offs versus reddit_get_post_comments or reddit_get_comments_batch.

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

reddit_get_comments_batchReddit: Get comments in batchA
Read-onlyIdempotent
Inspect

Returns up to 100 Reddit comments by ID in a single request. Costs 1 credit per ID submitted. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityIdsYesExample: okpklb6, ojb40kw
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.8/5.0
Behavior4/5

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

The description discloses the rate limit behavior (up to 100 comments per request) and cost (1 credit per ID), which are not in the annotations. The annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the description does not need to repeat those. It adds useful context: the batch limit and the credit cost, which an agent should know before calling.

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

Conciseness5/5

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

The description is concise (two sentences) and front-loads the most important facts: the batch nature, limit, and cost. It does not waste words on trivial details and is easy to scan.

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

Completeness4/5

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

Given that this is a straightforward batch retrieval tool with a clear read-only purpose, the description covers the essential facts: limit, cost, and the optional payload reduction parameters. There is no output schema, but the tool returns Reddit comments, which is implied. It does not mention that the response follows a standard structure (e.g., includes items with comment data), but for a simple tool this is adequate. It is slightly incomplete in not specifying the default projection_preset behavior (though the schema says default is minimal, the description doesn't reinforce it).

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are documented in the schema. The description adds the note that projection_preset and data_fields allow payload reduction, which is helpful but not essential because the schema defines the enum values and their purpose. The description does not clarify the difference between projection_preset and data_fields or how they interact (e.g., whether data_fields adds to the preset), but this is a minor gap given the schema's explicit enum descriptions.

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

Purpose4/5

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

The description clearly states the tool's function: retrieving up to 100 Reddit comments by ID in a single request. It distinguishes it from the sibling tool 'reddit_get_comment' (singular, presumably one comment at a time) through the 'batch' in the name and the explicit 'in a single request' and 'up to 100' details, though it does not explicitly name the sibling.

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

Usage Guidelines3/5

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

The description implies usage for batch retrieval of multiple comments by ID, and mentions cost (1 credit per ID), which helps an agent understand the trade-offs. However, it does not explicitly specify when to use this tool versus alternatives like `reddit_get_comment_replies` for replies or `reddit_get_subreddit_comments` for recent comments without IDs. It also doesn't state that this is for fetching comments by known IDs, implying that usage with unknown IDs would be inappropriate.

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

reddit_get_feedReddit: Get feedA
Read-onlyIdempotent
Inspect

Returns posts from a top-level Reddit feed such as best, hot, new, top, rising, or controversial. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
feedYesReddit feed kind
timeNoTime window for top or controversial feeds: hour, day, week, month, year, or all
countNoNumber of posts to fetch (maximum: 100) Default: 25
cursorNoPagination cursor
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds that it supports projection_preset, data_fields, and item_fields for payload reduction, which is a useful capability but not a behavioral trait like side effects or auth. It does not contradict annotations. Given the annotations cover the main safety profile, this is a 3.

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

Conciseness5/5

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

Two sentences with no fluff. The primary function and feed types are front-loaded, and the payload reduction mention is a concise secondary note. Every word earns its place.

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

Completeness4/5

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

For a read-only feed tool with all parameters documented in the schema and annotations covering safety, the description is sufficient. It does not explain return format or pagination, but the schema includes cursor and count parameters, and the absence of an output schema means the description need not detail returns. It covers the key distinguishing features (feed types and payload reduction).

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

Parameters3/5

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

Schema coverage is 100% – every parameter has a description. The description mentions projection_preset, data_fields, and item_fields and adds the purpose 'payload reduction', which clarifies their intent beyond the schema's listing. However, it does not add format or usage details beyond that, so baseline 3 applies.

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

Purpose5/5

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

The description states a specific verb ('Returns posts') and a specific resource ('top-level Reddit feed') with an enumerated list of feed kinds (best, hot, new, top, rising, controversial). This clearly distinguishes it from sibling tools like reddit_get_subreddit_posts or reddit_get_user_posts, which target different scopes.

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

Usage Guidelines4/5

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

The description implies the tool is for global/top-level feeds (as opposed to subreddit or user feeds) by using 'top-level Reddit feed', but it does not explicitly name alternatives or provide exclusions. An agent can infer when to use it from the scope, but the guidance is not as explicit as naming sibling tools or conditions.

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

reddit_get_postReddit: Get postB
Read-onlyIdempotent
Inspect

Returns a public Reddit post with title, body, author info, engagement counts, and attachments. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYesReddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds that it supports projection_preset and data_fields for payload reduction, which is useful but not deep (e.g., no mention of rate limits, auth, or error behavior). It doesn't contradict annotations.

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

Conciseness4/5

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

Two sentences with no fluff. The purpose is front-loaded, and the mention of projection/data_fields is relevant. Each sentence earns its place, though the second sentence could arguably be inferred from the schema.

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

Completeness3/5

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

For a read-only retrieval tool with 100% schema coverage and no output schema, the description is adequate. The main missing pieces are whether the tool requires authentication or has rate limits, but given annotations cover safety, this is not critical. The sibling landscape is complex, but the tool's scope (single post vs. batch) is clear.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents postId format, projection_preset defaults and enum values, and data_fields semantics. The description adds a high-level summary of what the parameters achieve (payload reduction) but doesn't go beyond the schema details. Baseline 3 applies.

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

Purpose4/5

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

The description clearly states it returns a Reddit post with specific content (title, body, author info, engagement counts, attachments). It distinguishes from siblings like reddit_get_post_comments and reddit_get_post_duplicates by focusing on the post itself. However, it doesn't explicitly name the siblings it is not, which keeps it from a 5.

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

Usage Guidelines3/5

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

The description implies use when you need a single post's data, but it doesn't provide explicit when-to-use vs. when-not-to-use or mention alternatives like reddit_get_posts_batch for multiple posts or reddit_get_post_comments for comments. The presence of reddit_get_post_duplicates suggests a related tool, but no comparison is given.

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

reddit_get_post_commentsReddit: Get post commentsA
Read-onlyIdempotent
Inspect

Returns top-level comments on a Reddit post. Supports Reddit comment ordering and cursor-based pagination. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of comments to fetch (maximum: 100) Default: 25
orderNoSort order: best (default), top, new, controversial, or old Default: best
cursorNoPagination cursor
postIdYesReddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint). The description adds useful behavioral context beyond those: top-level-only scope, support for ordering and cursor-based pagination, and the purpose of projection parameters for payload reduction. It stops short of describing response format or edge cases, but the annotations lower the burden.

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

Conciseness5/5

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

Three focused sentences with no filler. The core action is front-loaded in the first sentence, and the remaining sentences each add distinct capability information (ordering, pagination, payload reduction).

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

Completeness4/5

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

For a read-only, well-annotated tool with a fully documented schema, the description covers the essential behavioral aspects: scope, ordering, pagination, and projection purpose. No output schema exists, but the item_fields enum and the description's references to top-level comments give an agent enough context to call the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds a slight semantic layer by grouping projection_preset, data_fields, and item_fields as 'payload reduction,' but it does not add meaning beyond the parameter descriptions already present in the schema.

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

Purpose5/5

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

The description uses a specific verb with a clear resource: 'Returns top-level comments on a Reddit post.' It distinguishes itself from siblings like reddit_get_comment_replies by explicitly limiting scope to top-level comments, so an agent can tell this tool apart without opening the schema.

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

Usage Guidelines4/5

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

The phrase 'top-level comments' provides clear context about when this tool is appropriate and implicitly excludes reply chains, but it does not explicitly name alternatives such as reddit_get_comment_replies or reddit_get_comments_batch. This is clear context rather than full when/when-not guidance.

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

reddit_get_post_duplicatesReddit: Get duplicate postsA
Read-onlyIdempotent
Inspect

Returns duplicate submissions and crossposts associated with a Reddit post. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of posts to fetch (maximum: 100) Default: 25
cursorNoPagination cursor
postIdYesReddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds that it supports payload reduction via projection_preset, data_fields, and item_fields, which is useful context. However, it does not disclose pagination behavior (despite cursor/count params) or the exact return format, so the added behavioral detail is modest.

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

Conciseness5/5

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

The description is two sentences with zero fluff. The primary function is front-loaded, and the secondary mention of payload reduction is concise. Every sentence earns its place, making it appropriately sized and well-structured.

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

Completeness3/5

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

Given there is no output schema, the description does not explain the return format or pagination details. It mentions the resource type (duplicates/crossposts) but not the structure (e.g., array of items). The presence of cursor/count in the schema hints at pagination, but the description lacks explicit guidance. This is adequate but not fully complete for an agent to anticipate all response aspects.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are documented. The description groups projection_preset, data_fields, and item_fields as 'payload reduction,' which adds a high-level semantic summary beyond individual schema descriptions. However, the schema already explains these fields in detail, so the description adds marginal value—meeting the baseline for high coverage.

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

Purpose5/5

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

The description clearly states the tool returns duplicate submissions and crossposts for a given Reddit post, with a specific verb ('Returns') and resource ('duplicate submissions and crossposts'). This distinguishes it from sibling tools like reddit_get_post or reddit_get_post_comments, making its purpose unambiguous.

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

Usage Guidelines3/5

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

The description implies when to use the tool (when needing duplicates/crossposts) but provides no explicit guidance on when not to use it or alternatives. It does not contrast with siblings like reddit_get_post, though the unique function makes selection intuitive. No exclusions or alternative mentions are present.

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

reddit_get_posts_batchReddit: Get posts in batchA
Read-onlyIdempotent
Inspect

Returns up to 100 Reddit posts by ID in a single request. Costs 1 credit per ID submitted. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityIdsYesExample: 1tlh5aj, 1t4mguu, 1t6ddw2
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds valuable context beyond annotations by disclosing the credit cost per ID and the 100-post limit, which are not visible in the structured metadata.

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

Conciseness5/5

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

Two dense sentences, each earning its place: the first states the core function and limit, the second covers cost and parameter purpose. No filler or repetition of annotation data.

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

Completeness4/5

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

The description provides the essential facts an agent needs: what it returns, the maximum batch size, cost, and how to reduce payload. It could mention output format or explicitly contrast with reddit_get_post, but the schema and annotations cover most operational details.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaning by explaining that projection_preset and data_fields exist for 'payload reduction', which clarifies their purpose beyond the raw enum names. It does not redundantly restate schema details.

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

Purpose5/5

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

The description states a specific verb and resource: returns Reddit posts by ID. It clearly distinguishes this batch tool from the singular reddit_get_post and from comment-batch variants by emphasizing 'up to 100' and 'in a single request'.

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

Usage Guidelines3/5

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

The description implies its use case—fetching many posts by ID in one request—through the word 'batch' and 'single request'. However, it does not explicitly say when to prefer this over reddit_get_post or any exclusions, leaving the routing decision somewhat implicit.

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

reddit_get_subredditReddit: Get subredditA
Read-onlyIdempotent
Inspect

Returns public subreddit metadata including title, description, icon, banner, and subscriber count. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
subredditYesSubreddit name (with or without `r/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that the data is public and that projection_preset/data_fields support payload reduction, which is useful behavioral context beyond the annotations. However, it does not disclose edge behaviors like missing subreddits or response shape, so it stops at adequate rather than rich.

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

Conciseness5/5

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

Two sentences with no filler. The first sentence states the core return value and examples; the second covers the optional payload controls. Information is front-loaded and every sentence earns its place.

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

Completeness4/5

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

For a simple read-only metadata getter, the description covers what the tool returns and how to reduce payload. The input schema fully documents parameters, and annotations cover safety. With no output schema, a bit more detail about the response envelope or error behavior would be ideal, but the current description is sufficient for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds semantic value by explaining that projection_preset and data_fields exist 'for payload reduction,' which clarifies their purpose beyond the schema's individual descriptions. This is a modest but genuine addition.

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

Purpose5/5

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

The description uses a specific verb ('Returns') and resource ('public subreddit metadata') and enumerates concrete fields (title, description, icon, banner, subscriber count). This clearly distinguishes it from sibling tools like reddit_get_subreddit_posts or reddit_get_subreddit_rules, which target different data.

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

Usage Guidelines4/5

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

The phrase 'public subreddit metadata' gives clear context for when to use this tool: when you need the subreddit's profile-level information rather than its posts, comments, or rules. It does not explicitly name alternatives or exclusions, but the metadata framing is enough to route an agent correctly among the reddit_get_subreddit* siblings.

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

reddit_get_subreddit_commentsReddit: Get subreddit commentsB
Read-onlyIdempotent
Inspect

Returns public comments from a subreddit. Supports hot, new, top, and controversial ordering, with optional time windows for top and controversial. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNoTime window for top or controversial ordering: hour, day, week, month, year, or all (default)
countNoNumber of comments to fetch (maximum: 100) Default: 25
orderNoSort order: hot (default), new, top, or controversial Default: hot
cursorNoPagination cursor
subredditYesSubreddit name (with or without `r/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already cover safety with readOnlyHint, idempotentHint, and destructiveHint=false, lowering the burden. The description adds useful behavioral context: time windows only apply to top and controversial ordering, and projection_preset/data_fields/item_fields are for payload reduction. It does not disclose pagination cursor behavior, but that is partially present in the schema.

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

Conciseness5/5

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

Two tight sentences: the first front-loads the core result, and the second summarizes supported options. There is no filler or redundant restatement of the title.

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

Completeness4/5

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

Given the rich input schema, the strong safety annotations, and the description covering ordering, time windows, and payload reduction, an agent can call this tool correctly. There is no output schema, but the return concept is clear enough; pagination details are hinted by the cursor parameter and are not a blocker.

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

Parameters3/5

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

Schema description coverage is 100%, and individual parameter descriptions already explain enums, defaults, and field-selection behavior. The description's mention of projection_preset, data_fields, and item_fields for payload reduction adds only a modest high-level label rather than meaningful new semantics.

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

Purpose4/5

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

The description uses a specific verb ('Returns') and a clear resource ('public comments from a subreddit'), and it lists ordering options that narrow the behavior. It is distinguishable from siblings like reddit_get_subreddit_posts and reddit_get_post_comments by the resource phrase, though it does not explicitly name any sibling.

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

Usage Guidelines2/5

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

No guidance is given on when to prefer this tool over alternatives such as reddit_get_post_comments, reddit_get_comments_batch, or reddit_get_feed. The description states what it does but provides no conditions or exclusions for selecting it.

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

reddit_get_subreddit_postsReddit: Get subreddit postsA
Read-onlyIdempotent
Inspect

Returns public posts from a subreddit. Supports hot, new, top, rising, and controversial ordering, with optional time windows for top and controversial. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNoTime window for top or controversial ordering: hour, day, week, month, year, or all (default)
countNoNumber of posts to fetch (maximum: 100) Default: 25
orderNoSort order: hot (default), new, top, rising, or controversial Default: hot
cursorNoPagination cursor
subredditYesSubreddit name (with or without `r/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds public scope and sorting/projection behavior, but it does not disclose pagination details, rate limits, or error behavior. This is moderate added context beyond the annotations.

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

Conciseness5/5

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

Three front-loaded sentences with no filler. The opening sentence identifies the core function, and the following sentences concisely capture the most important behavioral options. Every sentence earns its place.

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

Completeness4/5

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

For a read-only list tool with rich annotations and a fully described schema, the description covers the main capabilities. It does not explicitly explain the pagination workflow, but the schema's cursor and data_fields enums hint at nextCursor and orderedItems. A short note about pagination would make it fully complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by grouping projection_preset, data_fields, and item_fields as payload-reduction controls and by clarifying that time windows apply to top and controversial ordering. This goes slightly beyond the per-field schema descriptions.

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

Purpose4/5

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

The description clearly states the action ('Returns public posts') and the resource ('from a subreddit'), which distinguishes it from subreddit-comment and subreddit-info tools. However, it does not explicitly contrast with sibling tools like reddit_search_posts or reddit_get_posts_batch.

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

Usage Guidelines3/5

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

The intended use is implied: call this when you need public posts from a specific subreddit. It gives useful parameter context such as ordering options and time windows, but it does not provide explicit when-to-use vs. when-not-to-use guidance or mention alternative tools.

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

reddit_get_subreddit_rulesReddit: Get subreddit rulesA
Read-onlyIdempotent
Inspect

Returns structured community rules for a subreddit. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
subredditYesSubreddit name (with or without `r/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already cover read-only and idempotent behavior, so the description does not need to restate those. It adds useful context about returning structured rules and supporting payload reduction, but does not disclose additional behavioral details such as output shape or any limitations.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core purpose and followed by a concise mention of relevant parameters. Every word earns its place, and there is no redundant restatement of the tool name or title.

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

Completeness4/5

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

For a simple read-only tool with one required parameter and fully documented optional parameters, the description is largely complete. The only minor gap is the absence of an output shape description, especially since no output schema is provided, though 'structured community rules' and the field enums give a reasonable picture.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters including the subreddit prefix rule, projection presets, and field arrays. The description adds modest value by noting that projection_preset, data_fields, and item_fields serve payload reduction, but it does not explain parameter semantics beyond that.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Returns structured community rules for a subreddit.' This clearly identifies what the tool does and distinguishes it from sibling Reddit tools like post, comment, or sticky retrieval without requiring the schema to be opened.

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

Usage Guidelines3/5

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

The intended use is implied by the stated purpose: use it when you need a subreddit's rules. However, it does not explicitly mention when to prefer this over sibling tools, nor does it provide exclusions or alternative routing guidance.

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

reddit_get_subreddits_batchReddit: Get subreddits in batchA
Read-onlyIdempotent
Inspect

Returns up to 100 Reddit subreddits by ID in a single request. Costs 1 credit per ID submitted. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityIdsYesExample: 2qh3l, 2qh0u
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds meaningful behavioral context: the per-ID credit cost and the payload reduction options (projection_preset, data_fields). These go beyond the annotations and help the agent anticipate resource usage and response size. No contradictions found.

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

Conciseness5/5

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

The description is two concise sentences with no filler. The core capability, limit, and cost are front-loaded in the first sentence, and the second sentence adds useful payload control info. Every word earns its place.

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

Completeness4/5

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

For a batch read tool with clear schema and annotations, the description covers the essential operational details: max count, cost, and output reduction options. It does not mention return format or error behavior, but since there is no output schema and the tool is simple, the lack of these is not a significant gap. The description is sufficient for an agent to call it correctly.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter (entityIds, data_fields, projection_preset) having a description. The description adds a high-level purpose ('payload reduction') but does not elaborate beyond what the schema already provides (e.g., enums, default values). The description's mention of 'projection_preset and data_fields' is redundant with the schema, so it adds limited incremental value.

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

Purpose5/5

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

The description clearly states a specific verb ('Returns') and resource ('Reddit subreddits') with a batch scope ('up to 100... in a single request'). It distinguishes itself from single-subreddit and batch-post/comment tools by focusing on subreddit IDs, and the 'batch' keyword aligns with the tool name.

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

Usage Guidelines3/5

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

The description implies usage for retrieving multiple subreddits at once and explicitly notes the credit cost, which is useful for deciding when to call it. However, it does not mention alternatives (e.g., reddit_get_subreddit for single calls) or provide explicit when-not-to-use guidance. The context signals show many sibling tools, but the description leaves selection entirely to the agent's inference.

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

reddit_get_subreddit_stickyReddit: Get subreddit sticky postsA
Read-onlyIdempotent
Inspect

Returns sticky posts for a subreddit across all available slots. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
subredditYesSubreddit name (with or without `r/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the agent knows this is a safe, read-only, non-destructive call. The description adds that it returns sticky posts across 'all available slots' and mentions payload reduction, which is useful but does not elaborate on slot semantics or any rate limits.

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

Conciseness4/5

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

The description is two concise sentences, front-loading the core purpose and then the payload reduction options. No waste, though it could be slightly more structured with a clearer subject-verb-object order.

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

Completeness4/5

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

For a read-only tool with full schema coverage and clear annotations, the description is sufficient for basic invocation. It could be enhanced by clarifying the 'all available slots' behavior (e.g., typically 2 stickies) and specifying the default response shape, but these are minor gaps given the tool's simplicity.

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

Parameters3/5

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

Schema description coverage is 100%, so each parameter is documented in the schema. The description mentions projection_preset, data_fields, and item_fields by name but does not add meaning beyond the schema's own documentation, such as examples or how they interact.

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

Purpose4/5

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

The description clearly states the tool returns sticky posts for a subreddit and mentions payload reduction options. It is distinct from sibling tools like reddit_get_subreddit_posts (which lists posts) and reddit_get_post (single post), though it does not explicitly differentiate itself from related subreddit tools.

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

Usage Guidelines3/5

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

The description implies use for retrieving sticky posts but does not explain when to prefer this over reddit_get_subreddit_posts or other Reddit tools. No exclusions or alternative routing is provided, leaving the agent to infer the purpose from the name and description.

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

reddit_get_userReddit: Get user profileA
Read-onlyIdempotent
Inspect

Returns public Reddit user profile information including bio, avatar, verification flags, and account creation date. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesReddit username (with or without `u/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds that it returns public info and supports payload reduction, but does not address error behavior (e.g., nonexistent user), authentication requirements, or rate limits. With annotations covering the core safety, this is adequate but not rich.

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

Conciseness5/5

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

Two sentences with zero redundancy. The primary action and key fields are front-loaded, and the payload reduction capability is mentioned without elaboration. Every word earns its place.

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

Completeness4/5

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

For a simple read-only tool with one required parameter and well-documented schema, the description covers the core functionality and mentions key fields. It does not specify the exact return structure, but given the absence of an output schema, the listed fields provide a reasonable preview. Error handling or auth is not mentioned, but annotations already indicate safety.

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

Parameters4/5

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

Schema coverage is 100%, so both data_fields and projection_preset are already documented. The description adds functional purpose – 'payload reduction' – which explains why these parameters exist and how they affect output. This goes beyond the schema's basic field descriptions, adding meaningful context.

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

Purpose5/5

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

The description states a clear verb ('Returns') and resource ('public Reddit user profile information'), and enumerates specific fields (bio, avatar, verification flags, account creation date). It clearly differentiates from sibling tools like reddit_get_user_posts and reddit_get_user_comments by focusing on profile metadata rather than content.

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

Usage Guidelines4/5

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

The description implies usage by specifying what it returns – profile information – which implicitly distinguishes it from siblings that handle posts or comments. However, it does not explicitly name alternatives or state when not to use this tool. The context is clear enough for an agent to infer, but explicit guidance would be stronger.

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

reddit_get_user_commentsReddit: Get user commentsA
Read-onlyIdempotent
Inspect

Returns public comments made by a Reddit user. Supports hot, new, top, and controversial ordering, with optional time windows for top and controversial. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNoTime window for top or controversial ordering: hour, day, week, month, year, or all (default)
countNoNumber of comments to fetch (maximum: 100) Default: 25
orderNoSort order: new (default), hot, top, or controversial Default: new
cursorNoPagination cursor
usernameYesReddit username (with or without `u/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the bar is lower. The description adds useful behavioral context: only 'public' comments are returned, and ordering/time-window options are disclosed. It does not mention pagination behavior, rate limits, or empty-user edge cases, but the additional context is meaningful.

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

Conciseness5/5

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

Two sentences, purpose front-loaded. The first sentence states exactly what the tool does; the second enumerates supported ordering and payload-reduction options. No wasted words, no repetition of schema details.

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

Completeness4/5

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

For a read-only, idempotent tool with a fully documented 8-parameter schema, the description plus schema provide enough to invoke the tool correctly. It explains the core result and available options. It does not describe the response shape or cursor mechanics, but with no output schema and robust annotations this is a minor gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents every parameter including enums, defaults, and the count constraint. The description merely restates 'projection_preset, data_fields, and item_fields for payload reduction' without adding format or syntax detail. Baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Returns public comments made by a Reddit user.' This unambiguously identifies what the tool does and distinguishes it from sibling tools like reddit_get_user_posts by resource type. However, it does not explicitly name or contrast with close siblings such as reddit_get_user_overview, so it doesn't reach full differentiation.

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

Usage Guidelines3/5

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

Usage is implied through 'comments made by a Reddit user', which tells the agent this is the tool for user comment history. But it provides no explicit context on when to choose this over alternatives like reddit_get_user_overview, reddit_get_user_posts, or reddit_get_post_comments, and no exclusions are stated.

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

reddit_get_user_overviewReddit: Get user overviewA
Read-onlyIdempotent
Inspect

Returns a mixed Reddit user activity feed including posts and comments. Supports hot, new, top, and controversial ordering, with optional time windows for top and controversial. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNoTime window for top or controversial ordering: hour, day, week, month, year, or all (default)
countNoNumber of activity items to fetch (maximum: 100) Default: 25
orderNoSort order: new (default), hot, top, or controversial Default: new
cursorNoPagination cursor
usernameYesReddit username (with or without `u/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the description need not repeat safety. The description adds that it supports multiple orderings and payload reduction, which is parameter-related rather than behavioral. No contradictions.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose, then lists options. No fluff, efficient.

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

Completeness4/5

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

Given no output schema, the description states what is returned (mixed feed) and mentions ordering and payload reduction. It doesn't describe pagination behavior, but the schema covers cursor and count. It's adequate for an agent to understand the tool's function, though not exhaustive.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are documented. The description mentions projection_preset, data_fields, and item_fields for payload reduction, which aligns with schema but adds little beyond it. No additional semantics beyond what schema provides.

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

Purpose5/5

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

The description clearly states it returns a mixed Reddit user activity feed including posts and comments, distinguishing it from siblings like reddit_get_user_posts and reddit_get_user_comments. The verb 'Returns' is specific and the resource is well-defined.

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

Usage Guidelines4/5

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

The description implies usage for combined activity but doesn't explicitly name alternatives or when to use them. It provides clear context that it includes both posts and comments, but no exclusions or guidance on when to prefer the specialized tools.

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

reddit_get_user_postsReddit: Get user postsA
Read-onlyIdempotent
Inspect

Returns public posts submitted by a Reddit user. Supports hot, new, top, and controversial ordering, with optional time windows for top and controversial. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNoTime window for top or controversial ordering: hour, day, week, month, year, or all (default)
countNoNumber of posts to fetch (maximum: 100) Default: 25
orderNoSort order: new (default), hot, top, or controversial Default: new
cursorNoPagination cursor
usernameYesReddit username (with or without `u/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds the constraint that only public posts are returned and mentions payload reduction, but does not disclose pagination behavior, error handling, or rate limits. The additional context is minimal, so a 3 is appropriate.

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

Conciseness5/5

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

Two concise sentences, with the core purpose front-loaded and key options listed without repetition. No filler or redundant phrasing, making it easy for an agent to quickly grasp the tool's function.

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

Completeness4/5

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

For a read-only retrieval tool with a fully described schema, the description covers the essential purpose and main features. It lacks explicit mention of response format or pagination details, but given the absence of an output schema, it is still reasonably complete for an agent to invoke correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are documented. The description's mention of ordering and time windows mirrors the schema, and the phrase 'for payload reduction' summarizes the projection parameters without adding significant new meaning. The baseline of 3 applies.

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

Purpose5/5

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

The description clearly states the verb 'Returns' and the resource 'public posts submitted by a Reddit user', immediately distinguishing this from sibling tools like reddit_get_user_comments or reddit_get_user_overview. It also mentions specific features (ordering, time windows, payload reduction) that further define its scope.

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

Usage Guidelines2/5

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

No guidance is given on when to choose this tool over alternatives such as reddit_get_user_comments or reddit_get_user_overview. The description merely lists capabilities without any contextual exclusions or selection criteria, leaving the decision entirely to the agent.

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

reddit_search_postsReddit: Search postsB
Read-onlyIdempotent
Inspect

Searches public Reddit posts across the platform. Supports relevance, hot, top, new, and comments sorting with optional time windows. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNoOptional time window for search results: hour, day, week, month, year, or all
countNoNumber of posts to fetch (maximum: 100) Default: 25
orderNoSort order: relevance (default), hot, top, new, or comments Default: relevance
queryYesSearch query
cursorNoPagination cursor
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety and idempotency profile is fully covered without the description. The description adds that results are 'public' posts and mentions sorting/time-window capability, which is modest added context but not deep behavioral disclosure such as rate limits or pagination semantics.

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

Conciseness4/5

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

Three short sentences with the core purpose front-loaded, followed by capability and payload-reduction notes. No filler, though the sorting list inherently duplicates enum values and could be trimmed.

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

Completeness3/5

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

For an 8-parameter search tool with no output schema, the description is adequate but not rich: it never explains what a result item contains, how cursor pagination advances, or why one projection_preset should be chosen over another. The annotations carry the safety profile and the schema carries the parameters, so the remaining gap is response shape and pagination behavior.

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

Parameters3/5

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

Schema coverage is 100%, so all eight parameters are documented in the schema itself, establishing a baseline of 3. The description restates the sort orders, time windows, and the projection/data_fields/item_fields parameters without adding syntax, defaults, or interaction detail beyond the schema.

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

Purpose4/5

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

The description names a specific verb and resource ('Searches public Reddit posts') and scopes it to platform-wide coverage, which implicitly separates it from the sibling reddit_search_subreddit_posts. It stops short of explicitly naming that alternative, so an agent still has to infer the distinction rather than being told it.

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

Usage Guidelines3/5

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

Usage is implied by 'across the platform' versus the subreddit-scoped sibling, but there is no explicit when-to-use/when-not statement and no mention of prerequisites or fallbacks. An agent can guess the right case but is given no routing rule.

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

reddit_search_subreddit_postsReddit: Search subreddit postsB
Read-onlyIdempotent
Inspect

Searches public Reddit posts within a subreddit. Supports relevance, hot, top, new, and comments sorting with optional time windows. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNoOptional time window for search results: hour, day, week, month, year, or all
countNoNumber of posts to fetch (maximum: 100) Default: 25
orderNoSort order: relevance (default), hot, top, new, or comments Default: relevance
queryYesSearch query
cursorNoPagination cursor
subredditYesSubreddit name (with or without `r/` prefix)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the payload-reduction capability (projection_preset/data_fields/item_fields), which is behaviorally useful context, but says nothing about auth, rate limits, or pagination behavior beyond what annotations/schema already imply.

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

Conciseness4/5

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

Three front-loaded sentences with no filler; the core scope arrives first, followed by sorting and payload options. Efficient and easy to scan.

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

Completeness4/5

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

With 9 params, full schema coverage, no nested objects, and no output schema, the description covers the essential search behavior (scope, sorting, time windows, projection). The only real gap is that pagination via cursor goes unmentioned, but it is documented in the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description restates the order and time options already enumerated in the schema and adds only the purpose ('payload reduction') behind the projection fields, which is a modest value-add over the schema text.

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

Purpose4/5

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

States a specific verb+resource+scope: 'Searches public Reddit posts within a subreddit.' The 'within a subreddit' scope implicitly separates it from the global reddit_search_posts and from the listing-style reddit_get_subreddit_posts, but it never names a sibling to make the distinction explicit.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance relative to alternatives such as reddit_get_subreddit_posts or reddit_search_posts. It lists supported sorting modes but offers no conditions, exclusions, or routing advice, leaving selection to inference.

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

reddit_search_subredditsReddit: Search subredditsB
Read-onlyIdempotent
Inspect

Searches public Reddit subreddits across the platform. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of subreddits to fetch (maximum: 100) Default: 25
queryYesSearch query
cursorNoPagination cursor
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety and idempotency profile is fully covered. The description adds a modest amount of context (results are limited to public subreddits), but says nothing about pagination behavior or result shape beyond the projection parameters.

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

Conciseness4/5

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

Two short sentences with the core purpose front-loaded and no filler. The second sentence is slightly parameter-listing rather than pure guidance, but it is compact and does not bloat the definition.

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

Completeness3/5

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

For a read-only search tool with a fully documented schema and annotations covering safety, the description is minimally sufficient. Given the large sibling set of reddit_search_* and reddit_get_subreddit* tools, it could do more to route the agent, but nothing critical is missing for a correct call.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters including count limits, cursor, and the enum values for projection_preset/data_fields/item_fields are documented in the schema itself. The description only restates that projection_preset, data_fields, and item_fields exist "for payload reduction," adding a small hint of intent but no syntax or defaults beyond the schema.

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

Purpose4/5

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

The description states a specific verb and resource ("Searches... subreddits") plus scope ("public Reddit subreddits across the platform"), which clearly separates it from siblings like reddit_search_posts and reddit_search_users. It does not, however, explicitly name those alternatives to sharpen the distinction.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no mention of alternatives such as reddit_get_subreddits_batch or reddit_search_subreddit_posts. The agent must infer the appropriate context entirely from the name.

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

reddit_search_usersReddit: Search usersB
Read-onlyIdempotent
Inspect

Searches public Reddit users across the platform. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of users to fetch (maximum: 100) Default: 25
queryYesSearch query
cursorNoPagination cursor
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered. The description's only extra behavioral detail is the scope qualifier 'public Reddit users', which is mildly useful but thin; no pagination, rate-limit, or result-shape context is provided.

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

Conciseness4/5

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

Two short, front-loaded sentences with no filler. The second sentence borders on restating the schema parameters, which slightly dilutes its value.

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

Completeness3/5

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

With no output schema, the description should hint at the return shape or pagination behavior (the cursor parameter exists), but it omits both. Safety behavior is adequately covered by annotations, so the gap is moderate rather than severe.

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

Parameters3/5

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

Schema description coverage is 100% with 6 well-documented parameters, so the schema carries the burden. The description names projection_preset, data_fields, and item_fields but adds no meaning about what presets contain or how the fields interact with them.

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

Purpose4/5

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

The description gives a specific verb and resource ('Searches public Reddit users') and implicitly separates itself from reddit_search_posts and reddit_search_subreddits, which target different entities. It stops short of explicitly naming those siblings, so it lacks full differentiation.

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

Usage Guidelines2/5

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

There is no guidance on when to use this search versus reddit_get_user or the other reddit_search_* tools, nor any prerequisites or context. The only usage-ish statement is about which payload-reduction parameters are supported.

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

tiktok_get_audioTikTok: Get audio detailsA
Read-onlyIdempotent
Inspect

Returns metadata for a TikTok audio track including title, artist, duration, usage count, and cover image. Look up any sound by its audio ID. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
audioIdYesTikTok audio/music ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior, so the description's job is lighter. It adds useful behavioral context: the operation is an ID-based metadata lookup and it supports projection_preset/data_fields to reduce payload. No statement contradicts the annotations.

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

Conciseness5/5

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

Three sentences, each earning its place: what the tool returns, the lookup key, and the optional payload-reduction feature. The key 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.

Completeness4/5

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

For a simple read-only ID lookup with a fully covered schema, the description is largely complete: it names the resource, the lookup key, and return highlights. Although there is no output schema, the data_fields enum documents available output keys, so an agent can infer the response shape sufficiently; the exact full shape is not a major gap.

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

Parameters4/5

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

With 100% schema description coverage, the baseline is 3. The description adds meaning above the schema by explaining audioId's lookup role and the purpose of projection_preset/data_fields as payload reduction, which helps an agent select parameters. It does not need to restate schema details because they are fully documented.

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

Purpose5/5

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

The description states a specific action and resource: it returns metadata for a TikTok audio track keyed by audio ID, listing representative fields (title, artist, duration, usage count, cover image). This clearly separates it from sibling tools like tiktok_get_audio_videos, which concern videos rather than audio metadata.

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

Usage Guidelines4/5

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

It gives a clear use context: look up any sound by its audio ID, implying the tool is appropriate when an agent already has an audio ID and needs metadata. It does not explicitly name alternatives or exclusion conditions, so it falls short of full routing guidance, but the intended use case is unambiguous.

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

tiktok_get_audio_videosTikTok: Get videos with audioA
Read-onlyIdempotent
Inspect

Returns a paginated list of TikTok videos using a specific audio track. Maximum 30 per page. Discover trending content by sound or music. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of videos to fetch (maximum: 30) Default: 30
cursorNoPagination cursor Default: 0
audioIdYesTikTok audio/music ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds useful behavioral context: paginated results, a maximum of 30 per page, and payload-reduction options. It does not contradict the annotations.

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

Conciseness5/5

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

Three short sentences with no wasted words. The core function is front-loaded, followed by the pagination limit, a usage hint, and the payload-reduction feature. Every sentence earns its place.

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

Completeness4/5

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

For a paginated read-only list endpoint, the description provides the essential orientation: what is returned, the page-size limit, and projection options. Cursor mechanics and defaults are already in the schema. It does not explain the response shape, but no output schema exists and the domain is simple enough that this is a minor gap.

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

Parameters4/5

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

The schema already covers all parameters, giving a baseline of 3. The description adds extra meaning by naming projection_preset, data_fields, and item_fields and explaining their purpose ('for payload reduction'), which goes beyond the raw field names.

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

Purpose5/5

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

The description states a specific verb-resource pair: 'Returns a paginated list of TikTok videos using a specific audio track.' This clearly differentiates it from siblings like tiktok_get_audio (which fetches the audio track itself) and tiktok_get_trending_videos or tiktok_get_tag_videos (which use different discovery mechanisms).

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

Usage Guidelines4/5

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

The phrase 'Discover trending content by sound or music' gives an explicit use case, making the audio-based discovery intent clear. It does not name alternatives or state 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_get_collection_videosTikTok: Get collection videosA
Read-onlyIdempotent
Inspect

Returns a paginated list of videos in a TikTok collection (playlist or mix). Maximum 35 per page. Includes full video details and engagement counts. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of videos to fetch (maximum: 35) Default: 20
cursorNoPagination cursor Default: 0
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
collectionIdYesTikTok collection ID (mix ID)
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful behavioral context: pagination, a maximum page size of 35, inclusion of full video details and engagement counts, and payload-reduction options. No contradiction with annotations.

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

Conciseness5/5

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

Three concise sentences, front-loaded with the core purpose, followed by constraints and payload-reduction capabilities. Every sentence adds value and there is no filler.

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

Completeness4/5

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

For a read-only paginated list tool, the description is largely complete: it states the resource, pagination behavior, and output richness. The schema covers parameters and annotations cover safety. It could mention cursor-based pagination more explicitly, but this is not a significant gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds context for projection_preset, data_fields, and item_fields as payload-reduction controls, but it does not explain cursor semantics or defaults beyond what the schema already provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Returns a paginated list of videos in a TikTok collection (playlist or mix).' It clearly distinguishes this from sibling tools like tiktok_get_user_collections by indicating it returns the contents of a collection, not the collection list itself.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: when retrieving videos from a TikTok collection. It does not explicitly name alternatives or exclusions, but the resource scope is unambiguous enough that an agent can infer the intended use case.

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

tiktok_get_comment_repliesTikTok: Get comment repliesA
Read-onlyIdempotent
Inspect

Returns a paginated list of replies to a TikTok comment. Maximum 50 per page. Includes author info, like counts, and reply timestamps. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of replies to fetch (maximum: 50) Default: 50
cursorNoPagination cursor Default: 0
videoIdYesTikTok video ID
commentIdYesTikTok comment ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful behavioral context beyond annotations: pagination behavior, 50-per-page cap, and the response contents (author info, like counts, timestamps). It does not discuss cursor semantics, but the schema covers the cursor parameter.

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

Conciseness5/5

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

Three sentences, with the core behavior first, followed by the most important constraint (max 50 per page), then response contents and payload reduction options. Every sentence earns its place with no filler.

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

Completeness4/5

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

Given no output schema, the description helpfully states key return contents and pagination limits. It is mostly complete for a read-only, idempotent tool, though it could have explicitly described cursor-based navigation or pointed to tiktok_get_video_comments for top-level comments.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining that projection_preset, data_fields, and item_fields are used for payload reduction, giving the agent a purpose for those parameters beyond their schema definitions.

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

Purpose5/5

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

The description names a specific verb ('Returns') and resource ('replies to a TikTok comment'), which clearly distinguishes it from sibling tools like tiktok_get_video_comments. It also adds useful scope details: paginated, max 50 per page.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when you need replies to a specific comment. However, it does not explicitly contrast it with tiktok_get_video_comments or mention when not to use it, leaving the routing decision to inference.

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

tiktok_get_tag_videosTikTok: Get videos with tagA
Read-onlyIdempotent
Inspect

Returns TikTok videos associated with a hashtag or challenge. The tag name is resolved to an internal ID automatically. Includes video details and engagement counts. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of videos to fetch (maximum: 30) Default: 30
cursorNoPagination cursor Default: 0
tagNameYesTag name
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish the tool is read-only, idempotent, and non-destructive. The description adds meaningful behavioral details beyond those annotations: automatic tag-to-ID resolution, inclusion of video details and engagement counts, and support for projection presets with payload reduction. This gives the agent useful insight into how the tool behaves without contradicting the annotations.

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

Conciseness5/5

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

The description is three sentences, front-loaded with the main purpose, and every sentence contributes useful information. It avoids redundancies and does not pad with generic filler.

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

Completeness4/5

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

The description covers the tool's purpose, core result content, and payload-reduction options, which is adequate given the rich schema and safety annotations. It does not explicitly describe pagination behavior or the return envelope, but the schema's cursor parameter and data_fields enum provide enough cues that this is not a critical gap.

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

Parameters4/5

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

Input schema covers all parameters, so the baseline is 3. The description adds value by explaining that tagName is auto-resolved to an internal ID and that projection_preset, data_fields, and item_fields serve a payload-reduction purpose, which supplements the schema descriptions meaningfully.

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

Purpose5/5

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

The description uses a specific verb ('Returns') and resource ('TikTok videos associated with a hashtag or challenge'), clearly distinguishing this from sibling tools like tiktok_get_trending_videos or tiktok_get_audio_videos. It explains that the tool resolves a tag to an internal ID, which further clarifies its unique function.

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

Usage Guidelines3/5

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

The description clearly implies the tool is for retrieving videos by tag or challenge, giving the agent enough context to choose it for hashtag-based requests. However, it does not explicitly mention when not to use it or name an alternative tool for related but different use cases, such as searching videos or getting a specific video.

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

tiktok_get_userTikTok: Get user profileA
Read-onlyIdempotent
Inspect

Returns profile information for a TikTok user including bio, follower counts, verification status, and profile picture. Look up any public TikTok account by username. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesTikTok username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the operation as read-only, idempotent, open-world, and non-destructive. The description adds useful behavioral context by specifying what profile data is returned and that it works for any public account, without contradicting the annotations.

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

Conciseness5/5

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

The description is three short sentences, each earning its place: what is returned, when to use it, and how to reduce payload. It is front-loaded with the core behavior and contains no filler.

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

Completeness4/5

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

For a simple read-only lookup tool with no output schema, the description adequately covers purpose, scope, and return contents. It does not discuss edge cases like nonexistent or private accounts, but the 'public' qualifier and annotation hints keep it reasonably complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining that projection_preset and data_fields exist for 'payload reduction,' which clarifies their intent beyond the schema's optional or defaulting notes.

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

Purpose5/5

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

The description names a specific verb and resource ('Returns profile information for a TikTok user') and lists distinguishing content fields such as bio, follower counts, verification status, and profile picture. This clearly separates it from sibling tools like tiktok_get_user_videos or tiktok_get_user_followers.

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

Usage Guidelines4/5

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

The description gives clear context: 'Look up any public TikTok account by username.' This tells an agent when the tool is appropriate, though it does not explicitly contrast it with alternatives or state when another tool should be used instead.

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

tiktok_get_user_collectionsTikTok: Get user collectionsA
Read-onlyIdempotent
Inspect

Returns a paginated list of video collections (playlists and mixes) on a TikTok user's profile. Includes collection name, cover image, and video count. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of collections to fetch (maximum: 30) Default: 30
cursorNoPagination cursor Default: 0
usernameYesTikTok username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond annotations by disclosing pagination and the specific included fields (name, cover image, video count) and by noting payload reduction options. This meaningfully helps the agent predict tool behavior.

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

Conciseness5/5

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

Three concise sentences, each carrying distinct information: what is returned, what data is included, and how payload can be reduced. The description is front-loaded with the core purpose and contains no filler or redundancy.

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

Completeness4/5

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

Given the annotations cover safety and idempotency, and the schema covers all parameters at 100%, the description is largely complete. It explains the result type, pagination, and payload controls. It does not describe the exact response structure, but the absence of an output schema is partially offset by the parameter enums and the description's field list.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds semantic value by explaining that projection_preset, data_fields, and item_fields are used for payload reduction, and by summarizing the returned collection attributes. This goes beyond the raw schema definitions.

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

Purpose5/5

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

The description clearly states the verb ('Returns'), the resource ('video collections... on a TikTok user's profile'), and disambiguates the content type ('playlists and mixes'). This is sufficiently distinct from sibling tools like tiktok_get_collection_videos, making the tool's purpose immediately understandable.

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

Usage Guidelines3/5

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

The description implies use when a user's profile collections are needed, and it specifies the context ('on a TikTok user's profile'). However, it does not provide explicit guidance on when to prefer this tool over related siblings such as tiktok_get_collection_videos, nor does it mention exclusions or prerequisites.

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

tiktok_get_user_followersTikTok: Get user followers listA
Read-onlyIdempotent
Inspect

Returns a paginated list of accounts following a TikTok user. Maximum 30 per page. Includes profile details for each follower account. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of users to fetch (maximum: 30) Default: 30
cursorNoPagination cursor Default: 0
usernameYesTikTok username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/non-destructive behaviorikuha. The description adds valuable behavior beyond annotations: it's paginated, max 30 per page, includes profile details, and supports payload reduction. A 4 reflects this added context; a 5 would require disclosure of rate limits or auth requirements, which are absent.

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

Conciseness5/5

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

Three succinct sentences with no filler. The primary function is front-loaded, followed by the pagination constraint and then the projection flexibility. Every sentence earns its place.

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

Completeness4/5

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

For a read-only list tool with a well-described schema and no output schema, the description covers the key operational details: pagination, page size, payload reduction, and profile details. It doesn't explain cursor mechanics explicitly, but the schema's cursor and count descriptions handle that. A 4 is fair; it's not missing anything critical for a simple read operation.

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

Parameters4/5

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

Schema coverage is 100% and every parameter is described at least brieflyasia. The description adds semantic meaning by connecting projection_preset, data_fields, and item_fields to 'payload reduction' and stating the 30-per-page limit tied to the count parameter. This exceeds the baseline 3.

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

Purpose5/5

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

The description opens with a specific verb ('Returns') and a clear resource ('accounts following a TikTok user'), which precisely differentiates this from the sibling tool tiktok_get_user_following. It also avoids confusion with tiktok_get_user or other list-type tools by specifying 'followers' explicitly.

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

Usage Guidelines4/5

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

The description provides clear context: this is for fetching a paginated list of followers. It doesn't explicitly name alternatives or say 'when not to use' (e.g., for following lists use tiktok_get_user_following), but the tool name and description make the use case obvious. A 4 is appropriate for clear context without explicit exclusions.

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

tiktok_get_user_followingTikTok: Get user following listA
Read-onlyIdempotent
Inspect

Returns a paginated list of accounts a TikTok user follows. Maximum 30 per page. Includes profile details for each followed account. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of users to fetch (maximum: 30) Default: 30
cursorNoPagination cursor Default: 0
usernameYesTikTok username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond those: it is paginated, has a maximum of 30 per page, and returns profile details for each account. It does not mention rate limits or auth requirements, but given the annotation coverage, this is not a major gap.

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

Conciseness5/5

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

Two succinct sentences front-load the core behavior and constraints: paginated list, 30-per-page max, profile details, and payload reduction options. There is no filler or repetition of schema details beyond what is useful.

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

Completeness4/5

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

Given the rich annotations and complete schema, the description covers the essential behavioral contract: what is returned, the pagination ceiling, and the projection mechanism. It does not describe cursor semantics or response structure in detail, but those are either implied by 'paginated' or documented in the schema. With no output schema, the high-level response shape it provides is adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are already documented in the schema. The description adds only a high-level grouping of projection_preset, data_fields, and item_fields as payload-reduction options. This is mildly helpful but does not significantly improve on the schema's own descriptions.

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

Purpose5/5

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

The description states a specific verb ('Returns'), a concrete resource ('a paginated list of accounts a TikTok user follows'), and clarifies that profile details are included. This distinguishes it clearly from sibling tools like tiktok_get_user_followers and tiktok_get_user_videos without requiring an agent to infer from the name alone.

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

Usage Guidelines4/5

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

The intended use case is clear: fetching the accounts a given user follows. It does not explicitly name alternatives or say when not to use this tool, but the phrasing and the 'following' vs 'followers' distinction in sibling names provide strong contextual guidance. It lacks an explicit exclusion or comparison, 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_get_user_likesTikTok: Get user liked videosA
Read-onlyIdempotent
Inspect

Returns a paginated list of videos liked by a TikTok user. Note: Users may have their likes set to private, in which case an empty list will be returned. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of videos to fetch (maximum: 35) Default: 35
cursorNoPagination cursor Default: 0
usernameYesTikTok username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description's safety profile is covered. The description adds meaningful behavioral context beyond annotations: pagination, the empty-list-when-private edge case, and the ability to reduce payload via projection_preset/data_fields/item_fields. This is valuable but not exhaustive; no rate limits or auth details are mentioned.

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

Conciseness5/5

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

The description is compact: main purpose first, then an important edge case, then a brief mention of payload options. Every sentence earns its place, and there is no fluff or repetition. The structure front-loads the most critical information for an agent deciding to invoke the tool.

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

Completeness4/5

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

For a read-only list tool with no output schema, the description covers the key operational aspects: what data is returned, pagination, privacy edge behavior, and payload reduction. The schema already documents parameters like cursor and count. Slightly more detail about the response shape would help, but it is not essential given the clear mention of pagination and adjustable fields.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds some value by grouping projection_preset, data_fields, and item_fields as payload-reduction mechanisms, which reinforces their purpose. However, it does not provide any additional semantics beyond what the schema already documents for count, cursor, or username.

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

Purpose5/5

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

The description states a specific verb ('Returns') and resource ('paginated list of videos liked by a TikTok user'), making the tool's purpose unambiguous. It also includes a note about private likes, which distinguishes this from other tiktok_get_user_* tools that return different content types. The resource is clearly differentiated from siblings like tiktok_get_user_videos or tiktok_get_user_reposts.

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

Usage Guidelines3/5

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

The description implies the tool should be used when a user's liked videos are needed, but it does not explicitly contrast it with sibling tools or state when not to use it. The privacy caveat gives context for interpreting empty results but does not serve as an exclusion or alternative recommendation. Guidance is implied rather than explicit.

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

tiktok_get_user_liveTikTok: Get user live streamA
Read-onlyIdempotent
Inspect

Returns the current live stream for a user, including stream URLs and viewer count. Returns 404 if the user is not currently live. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesTikTok username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate readOnly and idempotent, so the description need not repeat safety. It adds the context that it returns 404 when not live, which is useful. However, it doesn't mention whether it returns null data or error details beyond the 404, but this is minor.

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

Conciseness5/5

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

The description is two sentences, front-loading what the tool returns, then the 404 behavior, then the payload options. Every sentence adds value and there is no fluff.

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

Completeness3/5

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

For a simple read tool with a clear purpose, the description covers the key behavior (returns stream info, 404 if not live) and mentions payload reduction. However, it could clarify the meaning of the return fields and provide an example usage. The lack of an output schema means the agent guess at the structure, but the description mentions key fields (stream URLs, viewer count) which helps.

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

Parameters2/5

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

Schema coverage is 100% and the schema already describes all parameters (username, data_fields, projection_preset) with enums. The description only mentions the parameters by name without adding details on how they interact, such as whether data_fields overrides or extends the preset. The schemas' descriptions are minimal, and the description does not compensate, so value is marginal.

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

Purpose5/5

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

The description clearly states the tool retrieves a user's current live stream, including stream URLs and viewer count, and distinguishes it by noting the 404 case if not live. It's specific to TikTok live streams, differentiating it from other tiktok_get_user_* tools.

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

Usage Guidelines4/5

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

The description implies the tool is for checking live streams, and the 404 note tells the agent how to interpret absence. However, it does not explicitly say when to use this over other tiktok user tools (e.g., tiktok_get_user_videos) or mention prerequisites like the user existing.

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

tiktok_get_user_repostsTikTok: Get user repostsA
Read-onlyIdempotent
Inspect

Returns a paginated list of videos reposted by a TikTok user. Note: Users may have their reposts set to private, in which case an empty list will be returned. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of videos to fetch (maximum: 30) Default: 30
orderNoSort order: newest (default), popular, or oldest Default: newest
cursorNoPagination cursor Default: 0
usernameYesTikTok username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

The description adds value beyond the annotations: it states the paginated nature of the list, and importantly discloses the privacy edge case ('Users may have their reposts set to private, in which case an empty list will be returned'). It also mentions payload reduction options. Annotations are readOnlyHint=true, destructiveHint=false, and the description is consistent with those. It doesn't cover every detail (e.g., rate limits), but the behavioral note about private reposts is valuable 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.

Conciseness5/5

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

Three sentences, each earning its place. The core behavior is first, the privacy caveat second, and the payload-reduction note last. No redundant restatement of the tool name or schema details. It is both concise and front-loaded.

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

Completeness4/5

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

For a paginated read-only list tool with 100% schema coverage, the description covers the essential behavior, the privacy exception, and the payload controls. There is no output schema to explain, so the return format is mostly covered by the mention of 'paginated list'. It could have stated default count/page size, but those are in the schema. This is adequate and complete for the tool's complexity.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents every parameter. The description adds a little by mentioning projection_preset, data_fields, and item_fields, and by pointing out that they are for 'payload reduction'. It doesn't repeat the schema's inline details, which is appropriate given full coverage. Baseline is 3, but the explicit framing of the three payload-related parameters earns a 4.

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

Purpose5/5

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

The description states a specific verb ('Returns'), a resource ('a paginated list of videos reposted by a TikTok user'), and adds a meaningful scoping detail ('reposted by'). It is clearly distinguishable from sibling tools like tiktok_get_user_videos or tiktok_get_user_likes because it names the exact resource: reposts.

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

Usage Guidelines4/5

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

The description gives a clear context of use: fetching paginated reposts from a specific user. It notes a key condition—if reposts are private, an empty list is returned—which guides the agent on expected behavior. It doesn't explicitly name sibling alternatives or exclusion rules, but the purpose is distinct enough that an agent won't confuse it with related tiktok_get_user_* tools.

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

tiktok_get_user_storiesTikTok: Get user storiesA
Read-onlyIdempotent
Inspect

Returns a paginated list of active stories for a TikTok user. Stories expire after 24 hours and include both images and videos with engagement data. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of stories to fetch (maximum: 35) Default: 4
cursorNoPagination cursor Default: 0
usernameYesTikTok username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavior beyond the annotations: stories expire after 24 hours, pagination is supported, payload includes images/videos and engagement data, and payload reduction is available. It does not disclose auth requirements or rate limits, but the annotation coverage lowers the burden.

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

Conciseness5/5

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

Three sentences with no filler; each sentence tells the agent something distinct: the core resource, the ephemerality and content type, and the payload-reduction options. The most important information is front-loaded.

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

Completeness4/5

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

For a read-only paginated list tool, the description plus the fully documented schema and safety annotations provide enough information for an agent to select and call it correctly. It could additionally describe cursor behavior or default count, but those are already captured in the input schema. The absence of an output schema is mitigated by the description naming engagement data and media types.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all six parameters. The description adds value by explaining the purpose of projection_preset, data_fields, and item_fields for payload reduction, but that is consistent with what the schema already implies through parameter types and enums. 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.

Purpose5/5

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

The description clearly identifies the operation ('Returns a paginated list of active stories') and the unique resource type ('stories for a TikTok user'), distinguishing it from sibling tools like tiktok_get_user_videos and tiktok_get_user_live. The mention that stories expire after 24 hours reinforces its specific scope.

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

Usage Guidelines3/5

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

It provides useful contextual signals: this tool is for active, ephemeral stories rather than permanent videos or live content. However, it does not explicitly state when to use this tool over alternatives or when not to use it. The usage guidance is implied rather than stated, which is adequate but not strong.

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

tiktok_get_user_videosTikTok: Get user videosA
Read-onlyIdempotent
Inspect

Returns a paginated list of videos from a user's profile. Supports sorting by newest, popular, or oldest. Maximum 35 videos per page. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of videos to fetch (maximum: 35) Default: 35
orderNoSort order: newest (default), popular, or oldest Default: newest
cursorNoPagination cursor Default: 0
usernameYesTikTok username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.3/5.0
Behavior4/5

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

Adds behavioral details beyond annotations: pagination, sorting options (newest/popular/oldest), maximum 35 per page, and payload reduction via projection_preset/data_fields/item_fields. Annotations only state read-only, idempotent, non-destructive; the description enriches with operational specifics.

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

Conciseness5/5

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

Two sentences, front-loaded with the core function, then key constraints. No filler. Every sentence earns its place.

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

Completeness5/5

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

For a tool with 7 params and no output schema, the description covers the main behaviors an agent needs: pagination, sorting, page size limit, and payload reduction options. Annotations cover safety, and the schema covers syntax. No critical gaps.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are fully documented. The description adds a conceptual grouping ('payload reduction') and confirms the max 35 per page, but these are minor additions beyond the schema definitions. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb+resource ('Returns a paginated list of videos from a user's profile') and distinguishes from siblings like tiktok_get_user_likes or tiktok_get_user_collections by specifying the data source (profile videos). The mention of sorting and pagination adds specificity.

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

Usage Guidelines4/5

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

Provides clear context: use when you need videos from a user's profile. It does not explicitly name alternatives or exclusions, but the title and description make the use case unambiguous. Lacks explicit 'when not to use' guidance, but is not misleading.

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

tiktok_get_videoTikTok: Get video detailsA
Read-onlyIdempotent
Inspect

Returns details for a single TikTok video including engagement counts, media files in multiple qualities, audio track, author info, and hashtags. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
videoIdYesTikTok video ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful behavioral context by mentioning media files in multiple qualities and the projection_preset/data_fields payload controls, which are not in the annotations. It does not contradict any annotation.

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

Conciseness5/5

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

Two focused sentences, with the primary behavior front-loaded and the payload-control feature in the second sentence. No filler or redundant repetition of schema details.

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

Completeness4/5

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

There is no output schema, so the description carries the burden of explaining return values; it lists the key content categories and mentions payload customization. It is complete enough for an agent to call the tool correctly, though it does not go into operational details like auth or rate limits.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3 even with no additional parameter explanation. The description does add some purpose context with "payload reduction," though this is a bit loose for data_fields, which the schema says adds keys on top of a preset rather than reducing payload.

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

Purpose5/5

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

The description uses a specific verb and resource: "Returns details for a single TikTok video" and enumerates the returned categories (engagement counts, media files, audio, author, hashtags). This clearly distinguishes it from sibling tools like tiktok_get_video_comments, tiktok_get_video_transcript, and tiktok_get_video_download_url.

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

Usage Guidelines3/5

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

The tool says it is for a single video's details, which implies when to use it, but it does not explicitly name alternatives or state when not to use it. An agent must infer from sibling names that comments, transcripts, or download URLs would require other tools.

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

tiktok_get_video_commentsTikTok: Get video commentsA
Read-onlyIdempotent
Inspect

Returns a paginated list of top-level comments on a video. Maximum 50 per page. Use the replies endpoint to fetch threaded replies. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of comments to fetch (maximum: 50) Default: 20
cursorNoPagination cursor Default: 0
videoIdYesTikTok video ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds meaningful behavioral context: pagination, a hard 50-per-page cap, top-level scope, and payload reduction. It also flags the separate replies endpoint, telling agents how to get nested comments. No contradictions with annotations.

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

Conciseness5/5

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

Three tight sentences: purpose, pagination cap, and the routing to replies. Every sentence carries essential information with no filler. The most important scoping detail (top-level comments) is front-loaded.

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

Completeness4/5

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

For a paginated read-only list, the description covers the key operational points: top-level scope, page size, alternative for replies, and payload control. Given the schema documents parameters and the annotations cover safety, nothing critical is missing. A mention of the default count or return shape would round it out, but it's not necessary for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so parameters are documented; the description adds value by explaining that projection_preset, data_fields, and item_fields are for payload reduction, giving purpose beyond the schema's enum lists. It does not repeat count/cursor semantics, which the schema already covers clearly.

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

Purpose5/5

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

Clearly states it returns a paginated list of top-level comments on a video, with a specific verb and resource. It also names the replies endpoint as the alternative for threaded replies, distinguishing it from tiktok_get_comment_replies. The description leaves no ambiguity about what this tool fetches.

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

Usage Guidelines4/5

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

Provides explicit guidance to use the replies endpoint for threaded replies, which is a clear condition for choosing an alternative. It also mentions payload reduction options for optimizing calls. Though it doesn't exhaustively state when not to use the tool, the alternative is clearly named and contextualized.

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

tiktok_get_video_download_urlTikTok: Get video download URLA
Read-onlyIdempotent
Inspect

Returns a video file URL you can download directly with a plain GET request — no cookies, no auth headers, no browser fingerprinting needed on your end. Not permanent, only valid for a few hours. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional: an `aweme/v1/play/` URL copied from a prior video detail response for this same video. Providing it lets this endpoint skip re-fetching the video detail internally.
videoIdYesTikTok video ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true and idempotentHint=true, so the description doesn't need to restate safety. It does add valuable behavioral context: the URL is temporary (valid only a few hours), requires no authentication on the client side, and can be fetched with a plain GET request. It also mentions payload reduction options, which helps the agent understand response size. No contradiction with annotations.

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

Conciseness5/5

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

The description is very concise—three sentences with no filler. The most important information (direct download, no auth, validity period) is front-loaded in the first sentence. The optional parameters are secondary and appropriately placed afterward. Every sentence adds value, and it avoids repeating the tool name or title.

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

Completeness4/5

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

Given the tool's moderate complexity (4 params, 1 required), the description covers the essential behavioral aspects: direct download, temporary URL, no auth needed, and payload reduction. It doesn't explain the return structure, but there is no output schema, and the absence of return format details could be a minor gap. However, for a simple URL-returning tool with annotations covering safety, this is nearly complete. It would be a 5 if it mentioned what happens if the video is unavailable or the URL format, but that's beyond necessary.

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

Parameters3/5

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

Schema has 100% description coverage, so the baseline is 3. The description mentions projection_preset and data_fields for payload reduction, but doesn't add syntax or format details beyond the schema. It does not explain the 'url' parameter's role beyond what the schema says (skipping re-fetch), so credit is minimal for that. Overall, the description adds no new semantic information beyond the schema.

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

Purpose5/5

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

The description clearly identifies the tool's purpose: it returns a direct video download URL for a TikTok video, distinguishing it from other video-related tools like tiktok_get_video (which likely returns details) and tiktok_get_video_transcript. It specifies the verb 'returns', the resource 'video file URL', and the unique direct-download capability, which is distinct from sibling tools.

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

Usage Guidelines3/5

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

The description has no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among the many sibling tools. However, it does clarify that the returned URL is temporary, which implies when it should be used (immediate download) but not when a different tool would be better. Given the large sibling list, this is a gap.

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

tiktok_get_video_transcriptTikTok: Get video transcriptA
Read-onlyIdempotent
Inspect

Returns the transcript for a video. Use original as the language to return the auto-generated transcript, or provide a BCP47 language code for machine-translated subtitles. Returns WebVTT format. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
videoIdYesTikTok video ID
languageYesBCP47 language code, or `original`
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds useful behavioral context by disclosing the WebVTT return format and the difference between auto-generated and translated content, without contradicting the annotations.

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

Conciseness5/5

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

The description is three sentences with no filler. It front-loads the core purpose, then gives language specifics, return format, and payload controls in a compact structure.

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

Completeness4/5

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

For a simple read-only retrieval tool with full schema coverage, the description covers language selection, return format, and payload controls. It does not mention edge cases like missing transcripts, but this is a minor gap given the rest of the context.

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

Parameters4/5

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

The schema already documents all four parameters at 100% coverage, so the baseline is 3. The description adds meaning by explaining the 'original' vs BCP47 language behavior and clarifying that projection_preset and data_fields exist for payload reduction.

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

Purpose5/5

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

The description identifies the exact resource ('transcript for a video') and goes beyond the name by distinguishing auto-generated from machine-translated transcripts. This allows an agent to tell it apart from generic TikTok video-fetch tools like tiktok_get_video.

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

Usage Guidelines4/5

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

It provides clear operational guidance: use 'original' for auto-generated transcript or a BCP47 code for translated subtitles, and mentions payload-reduction options. It does not explicitly name sibling tools or exclude alternatives, so it stops short of full when/when-not guidance.

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

tiktok_search_contentTikTok: Search contentA
Read-onlyIdempotent
Inspect

General search that returns mixed results including videos and user profiles. Supports sorting and publish-time filters. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of items to fetch (maximum: 100, actual results may vary) Default: 50
orderNoSort order: relevance (default), most-liked, or date-posted Default: relevance
queryYesSearch query
cursorNoPagination cursor Default: 0
publishedNoFilter by publish time: all-time (default), yesterday, this-week, this-month, last-3-months, or last-6-months Default: all-time
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds behavioral context about payload reduction (projection_preset, data_fields, item_fields) and sorting/filtering, which goes beyond annotations. It does not disclose potential rate limits or error behavior, but given annotation coverage, the added value is sufficient.

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

Conciseness5/5

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

The description is three concise sentences with no filler. It front-loads the core purpose and then lists key capabilities. Every sentence earns its place.

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

Completeness4/5

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

The description covers the essential purpose and highlights key capabilities. The schema documents all 8 parameters including defaults and enums. Annotations cover safety. While pagination behavior is not explicitly described, the schema includes cursor and nextCursor fields, and the description mentions sorting and filters. It is complete enough for an agent to invoke correctly.

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

Parameters4/5

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

Schema coverage is 100%, so parameters are documented. The description adds meaning by explaining that projection_preset, data_fields, and item_fields are for 'payload reduction,' which the schema only lists as optional. This clarifies the purpose of these fields beyond their mere enumeration.

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

Purpose5/5

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

The description explicitly states a specific verb and resource: 'General search that returns mixed results including videos and user profiles.' This clearly differentiates from sibling tools like tiktok_search_videos and tiktok_search_users, which presumably focus on single content types. The scope is unambiguous.

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

Usage Guidelines4/5

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

The description conveys clear context that this is the general-purpose search tool, implying it is the default choice when mixed results are acceptable. However, it does not explicitly name alternatives or state when to avoid it (e.g., when only videos or only users are needed). It provides clear context without explicit exclusions.

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

tiktok_search_usersTikTok: Search usersA
Read-onlyIdempotent
Inspect

Searches TikTok for user profiles matching a query. Fixed page size of 10 (platform limit). Returns profile details including follower counts and verification status. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoPage size (fixed at 10 by the platform) Default: 10
queryYesSearch query
cursorNoPagination cursor Default: 0
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond that: 'Fixed page size of 10 (platform limit)', the returned profile details such as follower counts and verification status, and the payload-reduction purpose of projection fields.

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

Conciseness5/5

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

Three sentences with no wasted words. The core action is front-loaded, followed by the platform constraint and the payload-reduction capability. Every sentence earns its place.

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

Completeness4/5

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

For a read-only search tool, the description adequately conveys the key constraints (page size fixed at 10), the important output fields (follower count, verification status), and the available payload-reduction parameters. It does not describe the full response envelope, but that is less critical given the schema and read-only annotations.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful context by explaining that projection_preset, data_fields, and item_fields exist for 'payload reduction' and that page size is fixed at 10. This clarifies purpose beyond the raw parameter names and defaults.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Searches TikTok for user profiles matching a query.' This clearly distinguishes it from sibling tools like tiktok_search_videos and tiktok_search_content, which target different resource types.

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

Usage Guidelines3/5

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

The description implies the tool is for finding user profiles by keyword, but it never explicitly states when to use it versus alternatives such as tiktok_get_user for a known user ID. No exclusions or alternative routing are provided.

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

tiktok_search_videosTikTok: Search videosA
Read-onlyIdempotent
Inspect

Searches TikTok for videos matching a query. Supports filtering by publish time and sorting by relevance, likes, or date. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of videos to fetch (maximum: 100, actual results may vary) Default: 50
orderNoSort order: relevance (default), most-liked, or date-posted Default: relevance
queryYesSearch query
cursorNoPagination cursor Default: 0
publishedNoFilter by publish time: all-time (default), yesterday, this-week, this-month, last-3-months, or last-6-months Default: all-time
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds functional context—publish-time filtering, sort options, and payload-reduction projection—but doesn't disclose behavior like pagination behavior or result variability, which is partially covered by the schema's count description.

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

Conciseness5/5

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

Two sentences with no filler; the core operation is front-loaded, and the second sentence enumerates the key modifiers. It earns its length.

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

Completeness4/5

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

For an 8-parameter search tool with no output schema, the description captures the essential search, filtering, sorting, and projection capabilities; remaining details (cursor, count defaults) are adequately documented in the schema. It doesn't discuss result shape, but without an output schema that is not required.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds a small but meaningful semantic by labeling projection_preset/data_fields/item_fields as 'payload reduction', and summarizes the order and published enums in plain language, going slightly beyond the schema's item-level descriptions.

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

Purpose5/5

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

States 'Searches TikTok for videos matching a query' – a specific verb, resource, and scope. It distinguishes from sibling search tools like tiktok_search_users and tiktok_search_content by restricting to videos, and from collection-based video fetchers by emphasizing query-based search.

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

Usage Guidelines4/5

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

The description establishes a clear use case: finding videos by query with optional time filters, sorting, and payload control. It does not explicitly name alternatives or exclusion conditions, but the 'videos matching a query' phrasing provides enough context to route an agent here for general video search.

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

x_get_communityX: Get communityA
Read-onlyIdempotent
Inspect

Returns public metadata for an X community, including description, member count, topic, creator, and banner image. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
communityIdYesX community ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark this as read-only, idempotent, and non-destructive. The description adds useful behavioral context beyond annotations: it emphasizes that the data is 'public metadata' and that projection_preset/data_fields enable payload reduction, which informs the agent about response shaping behavior.

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

Conciseness5/5

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

Two tightly packed sentences with zero filler. The first sentence states the core result and its contents, and the second highlights the optional payload controls, placing the most decision-relevant information up front.

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

Completeness4/5

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

For a simple metadata-read tool with only one required parameter and full schema coverage, the description covers the output contents and payload options sufficiently. It doesn't address potential errors, authentication, or rate limits, but the read-only annotation and simplicity of the operation make that omission acceptable.

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

Parameters3/5

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

The input schema already provides 100% coverage, documenting all three parameters, their types, the enum values for projection_preset, and data_fields item options. The description adds only the high-level 'payload reduction' framing, which is helpful but not necessary for understanding individual parameters.

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

Purpose5/5

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

States a specific verb ('Returns'), a precise resource ('public metadata for an X community'), and enumerates the fields returned (description, member count, topic, creator, banner image). The name and description together distinguish it from sibling tools like x_get_community_media and x_get_community_posts, which clearly target different resource types.

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

Usage Guidelines3/5

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

The description implies usage: use this when you need community metadata rather than posts or media, and the sibling names reinforce that distinction. However, it never explicitly states when to choose this tool over x_get_community_media or x_get_community_posts, nor does it mention any exclusions or conditions.

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

x_get_community_mediaX: Get community mediaA
Read-onlyIdempotent
Inspect

Returns public posts from an X community's Media tab as visible to not logged in users. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoMaximum number of media posts to return from the community media timeline (maximum: 100) Default: 40
cursorNoPagination cursor
communityIdYesX community ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds meaningful behavioral context: the data reflects what non-logged-in users see, implying public-only visibility, and explains that projection_preset, data_fields, and item_fields support payload reduction. No contradiction with annotations.

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

Conciseness5/5

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

Two sentences with no fluff. The core purpose and scope come first, and the brief mention of payload reduction options is framed as a single supporting statement. Every word adds value.

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

Completeness4/5

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

For a read-only, idempotent tool with fully documented parameters and no output schema, the description covers the essentials: what is returned, the visibility scope, and the available payload reduction options. It could add pagination behavior or define what counts as 'media', but these are minor gaps given the annotations.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all six parameters. The description's mention of projection_preset, data_fields, and item_fields for 'payload reduction' groups them conceptually but adds no per-parameter meaning beyond the schema, keeping this at the baseline 3.

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

Purpose5/5

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

The description states a specific verb ('Returns') and resource ('public posts from an X community's Media tab'), plus a clear scope ('as visible to not logged in users'). This distinguishes it from sibling tools like x_get_community_posts by narrowing to the Media tab specifically.

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

Usage Guidelines4/5

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

The description gives clear context: use this for posts from the community's Media tab, not general posts. However, it does not explicitly name alternatives or state when not to use it versus x_get_community_posts, so it stops short of full exclusionary guidance.

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

x_get_community_postsX: Get community postsA
Read-onlyIdempotent
Inspect

Returns public posts from an X community timeline as visible to not logged in users. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoMaximum number of posts to return from the community timeline (maximum: 100) Default: 40
cursorNoPagination cursor
communityIdYesX community ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context by clarifying the data is 'as visible to not logged in users', which signals potential differences from authenticated views and sets expectations about public data. It doesn't mention pagination behavior or rate limits, but the annotations carry the main safety burden.

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

Conciseness5/5

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

Two sentences with no filler. The first sentence states the core function and scope, and the second sentence lists the key customization parameters. Every word earns its place.

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

Completeness4/5

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

For a read-only list tool with 100% schema coverage and no output schema, the description is largely complete. It covers the resource, visibility scope, and payload reduction options. The only minor gap is that it doesn't describe the default projection_preset behavior or pagination, but the schema covers defaults and the cursor parameter, so this is acceptable.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all six parameters. The description adds a little value by naming the three payload-reduction parameters (projection_preset, data_fields, item_fields) and their purpose, but it doesn't explain how they interact or provide examples. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose5/5

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

The description states a specific verb ('Returns'), a specific resource ('public posts from an X community timeline'), and a precise scope ('as visible to not logged in users'). This clearly distinguishes it from siblings like x_get_community_media and x_get_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.

Usage Guidelines4/5

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

The description implies usage context by specifying the public, not-logged-in visibility and the payload reduction options, which helps an agent know when to use this tool. However, it does not explicitly state when to prefer this over alternatives like x_get_community_media or x_get_user_posts, nor does it mention exclusions.

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

x_get_postX: Get postA
Read-onlyIdempotent
Inspect

Returns a public X post including text, author, engagement counts, and media attachments. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYesX post ID
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4/5.0
Behavior4/5

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

Annotations already convey readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful behavioral context beyond the annotations by specifying that only public posts are accessible and that engagement counts and media attachments are included in the response. It also discloses payload-reduction capabilities, adding value without contradicting the annotations.

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

Conciseness5/5

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

The description consists of exactly two sentences with no wasted words. The first sentence front-loads the core retrieval behavior and return contents; the second briefly summarizes the optional payload controls. Every sentence earns its place.

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

Completeness4/5

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

For a read-only single-post fetch with one required and two optional parameters, the description covers the return contents and the purpose of the optional controls. There is no output schema, so slightly more detail about the exact response shape could be helpful, but the listed contents and payload controls make the tool adequately complete for an agent to call correctly.

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

Parameters3/5

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

Schema description coverage is 100%; every parameter already has a description, including the enum options and default for projection_preset. The description merely restates the payload-reduction role of projection_preset and data_fields without adding any new semantics, syntax, or examples, so it stays at the baseline.

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

Purpose5/5

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

The description states a specific verb ('Returns'), a precise resource ('a public X post'), and enumerates the included content (text, author, engagement counts, media attachments). It clearly distinguishes this tool from the sibling x_get_user, x_get_community, and cross-platform get_post tools by tying it to a single X post.

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

Usage Guidelines3/5

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

The description implies when to use the tool (fetch a single post by ID) through the required postId parameter and the phrase 'Returns a public X post', but it does not explicitly state when to use this versus alternatives, and names no exclusions or alternative tools. Usage context is clear but not articulated as guidance.

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

x_get_userX: Get user profileA
Read-onlyIdempotent
Inspect

Returns profile information for a public X account including bio, follower counts, verification flags, and profile images. Supports projection_preset and data_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesX username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds useful scope context by specifying 'public X account' and notes the payload-reduction behavior of projection_preset and data_fields. No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main purpose and supported by a brief note on the optional parameters. Every sentence earns its place with no redundancy or vagueness.

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

Completeness4/5

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

For a simple read-only profile tool with 100% schema coverage and strong annotations, the description adequately conveys scope, output content, and the optional reduction mechanism. It does not mention error/private-account handling, but that is minor for this tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning by explaining that projection_preset and data_fields are for payload reduction and by listing representative returned fields such as bio, follower counts, and verification flags. This goes beyond the schema's structural definitions.

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

Purpose5/5

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

The description clearly states it returns profile information for a public X account and enumerates content categories (bio, follower counts, verification flags, profile images). This distinguishes it from siblings like x_get_user_posts and x_get_user_highlights.

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

Usage Guidelines3/5

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

The description implies usage—if an agent needs profile details, this is the tool—but it does not explicitly name alternatives or state when not to use it. There is no direct sibling routing or exclusion guidance.

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

x_get_user_highlightsX: Get user highlightsA
Read-onlyIdempotent
Inspect

Returns the public Highlights tab selection as visible to not logged in users. This feed is not guaranteed to be chronological. Pages may overlap: a pinned post is repeated on every page, so deduplicate by id when paging. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of highlighted posts to return per page (maximum: 100) Default: 40
cursorNoPagination cursor
usernameYesX username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the description adds valuable context beyond them: the feed is not guaranteed chronological, pages may overlap, pinned posts repeat every page, and callers should deduplicate by id. This is exactly the kind of non-obvious behavior an agent needs.

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

Conciseness5/5

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

Three sentences with no filler. The first sentence states the core purpose, the second discloses the critical pagination behavior, and the third summarizes payload-reduction options. The most important caveat is front-loaded.

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

Completeness4/5

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

The description covers purpose, visibility, ordering, overlap, deduplication, and payload controls, and the schema fully documents the parameters. It could be slightly more explicit about the exact return shape, but the combination of the description and schema is sufficient for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented. The description's mention of projection_preset, data_fields, and item_fields for payload reduction is a useful grouping, but it does not add new parameter-level meaning beyond the schema.

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

Purpose5/5

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: 'Returns the public Highlights tab selection'. It adds visibility scope ('as visible to not logged in users') and the term 'Highlights' clearly differentiates this from sibling tools like x_get_user_posts and x_get_post.

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

Usage Guidelines3/5

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

The description implies the tool is for retrieving a user's public Highlights feed, but it never explicitly contrasts this with x_get_user_posts or states when not to use it. The pagination caveats are operational guidance rather than tool-selection guidance.

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

x_get_user_postsX: Get user postsA
Read-onlyIdempotent
Inspect

Returns public posts from a user's profile as visible to not logged in users. This feed is not guaranteed to be chronological and is often a ranked public selection. Pages may overlap: a pinned post is repeated on every page, so deduplicate by id when paging. Supports projection_preset, data_fields, and item_fields for payload reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor
usernameYesX username (with or without @ symbol)
data_fieldsNoOptional. Add top-level data keys on top of the selected projection_preset.
item_fieldsNoOptional. Add item keys from data.orderedItems[] on top of the selected projection_preset.
projection_presetNoOptional. Defaults to "minimal". Use one of: full, minimal, identity, engagement, or content.

TDQS

A4.7/5.0
Behavior5/5

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

Even with readOnlyHint=true and idempotentHint=true, the description adds valuable behavioral detail: the feed is not chronological, it is often a ranked selection, pages can overlap due to pinned posts, and callers must deduplicate by id. This goes well beyond what annotations or the schema reveal.

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

Conciseness5/5

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

Three sentences with no filler: the main purpose is front-loaded, followed by critical behavioral caveats and a compact parameter note. Every sentence earns its place.

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

Completeness5/5

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

For a read-only public-feed tool, the description covers what the resource is, access semantics, ordering expectations, pagination pitfalls, and the optional payload-reduction parameters. The input schema already documents the parameters, and annotations cover safety, so nothing essential is missing.

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

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning by grouping projection_preset, data_fields, and item_fields as payload-reduction controlscars and by tying pagination behavior to deduplication by id. This helps the agent understand why those optional parameters exist and when to use them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Returns public posts from a user's profile as visible to not logged in users.' This clearly distinguishes the tool from siblings like x_get_post, x_get_user, and x_get_user_highlights by scope, access level, and resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: use this when you need the public posts on a user's profile as an anonymous visitor would see them. It does not explicitly name alternatives or state when not to use it, which keeps it from a 5, but the context is unambiguous.

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.

  1. 4 tool updates
    • Changedreddit_search_posts3 fields changed
      • removedInput schema / properties / q
        Removed value: -{
        -  "description": "Deprecated alias for `query`",
        -  "type": "string"
        -}
      • changedInput schema / properties / query / description
        Previous value: -"Search query. Required, unless the deprecated `q` is given"New value: +"Search query"
      • addedInput schema / required
        Added value: +[
        +  "query"
        +]
    • Changedreddit_search_subreddit_posts3 fields changed
      • removedInput schema / properties / q
        Removed value: -{
        -  "description": "Deprecated alias for `query`",
        -  "type": "string"
        -}
      • changedInput schema / properties / query / description
        Previous value: -"Search query. Required, unless the deprecated `q` is given"New value: +"Search query"
      • changedInput schema / required
        Previous value: -[
        -  "subreddit"
        -]New value: +[
        +  "subreddit",
        +  "query"
        +]
    • Changedreddit_search_subreddits3 fields changed
      • removedInput schema / properties / q
        Removed value: -{
        -  "description": "Deprecated alias for `query`",
        -  "type": "string"
        -}
      • changedInput schema / properties / query / description
        Previous value: -"Search query. Required, unless the deprecated `q` is given"New value: +"Search query"
      • addedInput schema / required
        Added value: +[
        +  "query"
        +]
    • Changedreddit_search_users3 fields changed
      • removedInput schema / properties / q
        Removed value: -{
        -  "description": "Deprecated alias for `query`",
        -  "type": "string"
        -}
      • changedInput schema / properties / query / description
        Previous value: -"Search query. Required, unless the deprecated `q` is given"New value: +"Search query"
      • addedInput schema / required
        Added value: +[
        +  "query"
        +]
  2. 25 tool updates
    • Addedinstagram_get_audio_reels
    • Addedinstagram_get_trending_reels
    • Changedinstagram_get_user1 field changed
      • addedInput schema / properties / userId
        Added value: +{
        +  "description": "Look up the account by its numeric Instagram user ID instead of its username. If you already have the ID (e.g. from a post or comment's attributedTo field in another response), passing it here returns the profile faster than a username lookup. When set, it overrides the username in the URL — any placeholder there works.",
        +  "type": "string"
        +}
    • Changedinstagram_get_user_reels1 field changed
      • changedInput schema / properties / count / description
        Previous value: -"Number of reels to fetch (maximum: 12) Default: 12"New value: +"Number of reels to fetch (2-8 — Instagram enforces both bounds server-side) Default: 8"
    • Addedinstagram_search_popular
    • Addedlinkedin_get_company
    • Addedlinkedin_get_company_posts
    • Addedlinkedin_get_post
    • Addedlinkedin_get_post_transcript
    • Addedlinkedin_get_user
    • Addedlinkedin_get_user_articles
    • Addedlinkedin_get_user_posts
    • Changedreddit_get_comments_batch1 field changed
      • changedInput schema / properties / entityIds / items / pattern
        Previous value: -"^(t1_)?[a-z0-9]+$"New value: +"^(t1_)?[a-zA-Z0-9]+$"
    • Changedreddit_get_posts_batch1 field changed
      • changedInput schema / properties / entityIds / items / pattern
        Previous value: -"^(t3_)?[a-z0-9]+$"New value: +"^(t3_)?[a-zA-Z0-9]+$"
    • Changedreddit_get_subreddits_batch1 field changed
      • changedInput schema / properties / entityIds / items / pattern
        Previous value: -"^(t5_)?[a-z0-9]+$"New value: +"^(t5_)?[a-zA-Z0-9]+$"
    • Changedreddit_search_posts3 fields changed
      • changedInput schema / properties / q / description
        Previous value: -"Search query"New value: +"Deprecated alias for `query`"
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Search query. Required, unless the deprecated `q` is given",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "q"
        -]
    • Changedreddit_search_subreddit_posts3 fields changed
      • changedInput schema / properties / q / description
        Previous value: -"Search query"New value: +"Deprecated alias for `query`"
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Search query. Required, unless the deprecated `q` is given",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "subreddit",
        -  "q"
        -]New value: +[
        +  "subreddit"
        +]
    • Changedreddit_search_subreddits3 fields changed
      • changedInput schema / properties / q / description
        Previous value: -"Search query"New value: +"Deprecated alias for `query`"
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Search query. Required, unless the deprecated `q` is given",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "q"
        -]
    • Changedreddit_search_users3 fields changed
      • changedInput schema / properties / q / description
        Previous value: -"Search query"New value: +"Deprecated alias for `query`"
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Search query. Required, unless the deprecated `q` is given",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "q"
        -]
    • Addedtiktok_get_trending_videos
    • Addedx_get_community
    • Addedx_get_community_media
    • Addedx_get_community_posts
    • Changedx_get_user_highlights2 fields changed
      • changedInput schema / properties / count / description
        Previous value: -"Maximum number of highlighted posts to return from the public profile selection (maximum: 100) Default: 40"New value: +"Number of highlighted posts to return per page (maximum: 100) Default: 40"
      • addedInput schema / properties / cursor
        Added value: +{
        +  "description": "Pagination cursor",
        +  "type": "string"
        +}
    • Changedx_get_user_posts2 fields changed
      • removedInput schema / properties / count
        Removed value: -{
        -  "description": "Maximum number of posts to return from the public profile selection (maximum: 100) Default: 20",
        -  "maximum": 9007199254740991,
        -  "minimum": -9007199254740991,
        -  "type": "integer"
        -}
      • addedInput schema / properties / cursor
        Added value: +{
        +  "description": "Pagination cursor",
        +  "type": "string"
        +}
  3. 1 tool update
    • Addedtiktok_get_video_download_url
  4. 6 tool updates
    • Changedreddit_get_comment2 fields changed
      • changedInput schema / properties / commentId / description
        Previous value: -"Reddit comment ID (e.g. `okpklb6` or `t1_okpklb6`)"New value: +"Reddit comment ID (e.g. `onflihe` or `t1_onflihe`)"
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"New value: +"Reddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)"
    • Changedreddit_get_comment_replies2 fields changed
      • changedInput schema / properties / commentId / description
        Previous value: -"Reddit comment ID (e.g. `okpklb6` or `t1_okpklb6`)"New value: +"Reddit comment ID (e.g. `onflihe` or `t1_onflihe`)"
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"New value: +"Reddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)"
    • Changedreddit_get_post1 field changed
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"New value: +"Reddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)"
    • Changedreddit_get_post_comments1 field changed
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"New value: +"Reddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)"
    • Changedreddit_get_post_duplicates1 field changed
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"New value: +"Reddit post ID (e.g. `1tlh5aj` or `t3_1tlh5aj`)"
    • Changedreddit_get_posts_batch1 field changed
      • changedInput schema / properties / entityIds / description
        Previous value: -"Example: 1tgywrw, 1t4mguu, 1t6ddw2"New value: +"Example: 1tlh5aj, 1t4mguu, 1t6ddw2"
  5. 3 tool updates
    • Changedreddit_get_comments_batch1 field changed
      • addedInput schema / properties / entityIds / items / pattern
        Added value: +"^(t1_)?[a-z0-9]+$"
    • Changedreddit_get_posts_batch1 field changed
      • addedInput schema / properties / entityIds / items / pattern
        Added value: +"^(t3_)?[a-z0-9]+$"
    • Changedreddit_get_subreddits_batch1 field changed
      • addedInput schema / properties / entityIds / items / pattern
        Added value: +"^(t5_)?[a-z0-9]+$"
  6. 3 tool updates
    • Changedreddit_get_comments_batch2 fields changed
      • addedInput schema / properties / entityIds
        Added value: +{
        +  "description": "Example: okpklb6, ojb40kw",
        +  "items": {
        +    "type": "string"
        +  },
        +  "maxItems": 100,
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedInput schema / required
        Added value: +[
        +  "entityIds"
        +]
    • Changedreddit_get_posts_batch2 fields changed
      • addedInput schema / properties / entityIds
        Added value: +{
        +  "description": "Example: 1tgywrw, 1t4mguu, 1t6ddw2",
        +  "items": {
        +    "type": "string"
        +  },
        +  "maxItems": 100,
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedInput schema / required
        Added value: +[
        +  "entityIds"
        +]
    • Changedreddit_get_subreddits_batch2 fields changed
      • addedInput schema / properties / entityIds
        Added value: +{
        +  "description": "Example: 2qh3l, 2qh0u",
        +  "items": {
        +    "type": "string"
        +  },
        +  "maxItems": 100,
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedInput schema / required
        Added value: +[
        +  "entityIds"
        +]
  7. 8 tool updates
    • Changedreddit_get_comment2 fields changed
      • changedInput schema / properties / commentId / description
        Previous value: -"Reddit comment ID"New value: +"Reddit comment ID (e.g. `okpklb6` or `t1_okpklb6`)"
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID"New value: +"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"
    • Changedreddit_get_comment_replies2 fields changed
      • changedInput schema / properties / commentId / description
        Previous value: -"Reddit comment ID"New value: +"Reddit comment ID (e.g. `okpklb6` or `t1_okpklb6`)"
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID"New value: +"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"
    • Addedreddit_get_comments_batch
    • Changedreddit_get_post1 field changed
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID"New value: +"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"
    • Changedreddit_get_post_comments1 field changed
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID"New value: +"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"
    • Changedreddit_get_post_duplicates1 field changed
      • changedInput schema / properties / postId / description
        Previous value: -"Reddit post ID"New value: +"Reddit post ID (e.g. `1tgywrw` or `t3_1tgywrw`)"
    • Addedreddit_get_posts_batch
    • Addedreddit_get_subreddits_batch
  8. 24 tool updates
    • Addedreddit_get_comment
    • Addedreddit_get_comment_replies
    • Addedreddit_get_feed
    • Addedreddit_get_post
    • Addedreddit_get_post_comments
    • Addedreddit_get_post_duplicates
    • Addedreddit_get_subreddit
    • Addedreddit_get_subreddit_comments
    • Addedreddit_get_subreddit_posts
    • Addedreddit_get_subreddit_rules
    • Addedreddit_get_subreddit_sticky
    • Addedreddit_get_user
    • Addedreddit_get_user_comments
    • Addedreddit_get_user_overview
    • Addedreddit_get_user_posts
    • Addedreddit_search_posts
    • Addedreddit_search_subreddit_posts
    • Addedreddit_search_subreddits
    • Addedreddit_search_users
    • Removedtiktok_mobile_get_user_videos
    • Addedx_get_post
    • Addedx_get_user
    • Addedx_get_user_highlights
    • Addedx_get_user_posts
  9. 1 tool update
    • Addedtiktok_mobile_get_user_videos
  10. 1 tool update
    • Changedtiktok_get_video_transcript2 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"BCP47 language code"New value: +"BCP47 language code, or `original`"
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "ar-SA",
        -  "az-AZ",
        -  "ca-ES",
        -  "ceb-PH",
        -  "cs-CZ",
        -  "da-DK",
        -  "de-DE",
        -  "en-US",
        -  "es-ES",
        -  "et-EE",
        -  "fi-FI",
        -  "fil-PH",
        -  "fr-FR",
        -  "ga-IE",
        -  "he-IL",
        -  "hr-HR",
        -  "id-ID",
        -  "it-IT",
        -  "ja-JP",
        -  "ko-KR",
        -  "lv-LV",
        -  "lt-LT",
        -  "ms-MY",
        -  "nb-NO",
        -  "nl-NL",
        -  "pl-PL",
        -  "pt-PT",
        -  "ru-RU",
        -  "sw-SW",
        -  "sv-SE",
        -  "th-TH",
        -  "uk-UA",
        -  "vi-VN",
        -  "zh-Hans-CN",
        -  "zh-Hant-CN"
        -]New value: +[
        +  "original",
        +  "ar-SA",
        +  "az-AZ",
        +  "ca-ES",
        +  "ceb-PH",
        +  "cs-CZ",
        +  "da-DK",
        +  "de-DE",
        +  "en-US",
        +  "es-ES",
        +  "et-EE",
        +  "fi-FI",
        +  "fil-PH",
        +  "fr-FR",
        +  "ga-IE",
        +  "he-IL",
        +  "hr-HR",
        +  "id-ID",
        +  "it-IT",
        +  "ja-JP",
        +  "ko-KR",
        +  "lv-LV",
        +  "lt-LT",
        +  "ms-MY",
        +  "nb-NO",
        +  "nl-NL",
        +  "pl-PL",
        +  "pt-PT",
        +  "ru-RU",
        +  "sw-SW",
        +  "sv-SE",
        +  "th-TH",
        +  "uk-UA",
        +  "vi-VN",
        +  "zh-Hans-CN",
        +  "zh-Hant-CN"
        +]
  11. 30 tool updates
    • First observedinstagram_get_highlight_stories
    • First observedinstagram_get_location_posts
    • First observedinstagram_get_post
    • First observedinstagram_get_post_comments
    • First observedinstagram_get_user
    • First observedinstagram_get_user_highlights
    • First observedinstagram_get_user_posts
    • First observedinstagram_get_user_reels
    • First observedinstagram_get_user_tagged
    • First observedinstagram_search_media
    • First observedtiktok_get_audio
    • First observedtiktok_get_audio_videos
    • First observedtiktok_get_collection_videos
    • First observedtiktok_get_comment_replies
    • First observedtiktok_get_tag_videos
    • First observedtiktok_get_user
    • First observedtiktok_get_user_collections
    • First observedtiktok_get_user_followers
    • First observedtiktok_get_user_following
    • First observedtiktok_get_user_likes
    • First observedtiktok_get_user_live
    • First observedtiktok_get_user_reposts
    • First observedtiktok_get_user_stories
    • First observedtiktok_get_user_videos
    • First observedtiktok_get_video
    • First observedtiktok_get_video_comments
    • First observedtiktok_get_video_transcript
    • First observedtiktok_search_content
    • First observedtiktok_search_users
    • First observedtiktok_search_videos

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables MCP clients to retrieve read-only public Instagram data through 27 tools covering profiles, posts, reels, stories, highlights, comments, likers, followers, hashtags, places, audio and keyword search. No login is required, and every response reports remaining API credits.
    27
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides unified access to social media data across nine networks (Instagram, TikTok, YouTube, etc.) through a set of MCP tools for profiles, posts, search, and comments, backed by the SocialBridge API.
    -
  • A
    license
    A
    quality
    D
    maintenance
    SocialCrawl provides the "best" quality public web data on the internet. Access 65+ real-time social media, e-commerce and public web data from a single API with a single schema.
    5
    184 npm
    23
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources