Skip to main content
Glama

Social Media Data API: Posts, Profiles, Comments, Search and Mentions

Server Details

Social media posts, profiles, comments, search and mentions across 10 platforms. Pay per call (x402)

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 26 tools

Disambiguation3/5

Platform-prefixed tools are mostly distinct, but people_search and social_accounts both search TikTok/Instagram/Threads profiles with only a filtering difference, and social_search overlaps with reddit_search, tiktok_search and x_search. Descriptions help, but an agent must read carefully to choose the right tool.

Naming Consistency4/5

Names consistently use snake_case with platform_resource or social_resource prefixes, making the surface predictable. Minor deviations like people_search and the cross-platform social_* group keep it from being fully uniform.

Tool Count3/5

At 26 tools the server is heavy, though the breadth of eight platforms plus cross-platform analytics partly justifies it. Some consolidation of per-platform search and profile-search tools would make the set leaner.

Completeness3/5

Core read-only social data is covered for many platforms, but comments are missing for Instagram, TikTok, X, Threads and Bluesky, while YouTube and Facebook lack profile surfaces (Facebook only has ad search). These are notable gaps relative to the advertised posts/profiles/comments/search scope.

Available Tools

26 tools
bluesky_postsBluesky account feedA
Read-only
Inspect

Bluesky Account Posts Feed: the latest public posts and replies of one Bluesky account (a handle such as name.bsky.social, a DID or a bsky.app profile URL), reposts left out. Per post the text, likes, replies, reposts, language, media links, time and URL in the shared social schema; next_cursor pages back through the feed. Bad input is free; not found or no match is not charged. Price: $0.01 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
limitNoPosts per page, 1-25. Default 25.
cursorNonext_cursor of the previous page.
handleYesThe account: a Bluesky handle (a domain name such as name.bsky.social, or a bare name meaning name.bsky.social), a did:plc / did:web identifier, or a bsky.app profile URL.

TDQS

A3.9/5.0
Behavior4/5

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

Adds real context beyond the annotations: reposts are excluded, next_cursor pages backward through the feed, and the call costs $0.01 via x402 with payment passed in _meta["x402/payment"]. That payment mechanics detail is exactly the kind of thing annotations cannot express. The only gap is no comment on rate limits or what 'not found / no match not charged' returns.

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?

A single dense paragraph that is front-loaded with the purpose before moving to return fields and pricing. No sentence is wasted, though the pricing/payment clauses packed into the same breath make it slightly crowded.

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 carries the return-value burden and does list returned fields (text, likes, replies, reposts, language, media, time, URL) plus pagination. The referenced 'shared social schema' is not defined anywhere, leaving a small ambiguity about the exact field shape.

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

Parameters3/5

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

Schema coverage is 100%, so handle formats, limit range, and cursor semantics are already documented. The description restates the handle formats and says next_cursor pages back through the feed, adding modest confirmation but no new syntax or constraints beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource: the latest public posts and replies of one Bluesky account, with an explicit exclusion (reposts left out) and a precise definition of what a handle may be. This distinguishes it from bluesky_profile (account metadata) and bluesky_search (cross-account search) without needing to open the schema.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'one Bluesky account' suggests single-account feed browsing versus searching, but no sibling is named and no condition is given for choosing this over bluesky_search or bluesky_profile. The billing notes ('bad input is free') are policy, not selection guidance.

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

bluesky_profileBluesky profileA
Read-only
Inspect

Bluesky Profile Lookup: one public Bluesky account by handle, DID or bsky.app URL: display name, bio, follower, following and post counts, verification, avatar link, creation time and DID, in the shared social schema. Bad input is free; not found or no match is not charged. Price: $0.01 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
handleYesThe account: a Bluesky handle (a domain name such as name.bsky.social, or a bare name meaning name.bsky.social), a did:plc / did:web identifier, or a bsky.app profile URL.

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld, but the description adds substantial context beyond them: $0.01 per successful call, invalid input and not-found results are free, and payment is passed via _meta["x402/payment"] over USDC on Base. That is exactly the kind of cost and prerequisite disclosure an agent needs before invoking a paid tool.

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?

One dense paragraph, front-loaded with the lookup scope and returned fields, then the commercial terms. Every clause carries information, though the pricing sentence is packed tightly and could be split for readability without loss.

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 usefully enumerates the returned fields and the 'shared social schema' convention, and it covers input forms and billing. It stops short of noting rate limits, caching, or what a 'no match' response looks like, which would matter for error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 single parameter's description already spells out handle vs. did:plc/did:web vs. bsky.app URL. The description restates those accepted forms in prose without adding new syntax or defaults, so the schema does the heavy lifting — 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?

States a specific verb and resource ('Profile Lookup' of 'one public Bluesky account') and enumerates the returned fields (display name, bio, counts, verification, avatar, creation time, DID). The word 'one' plus the input forms (handle, DID, URL) clearly separates it from list/search siblings like bluesky_search and bluesky_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?

Implied usage is clear — fetch a single known account — and the pricing/charging rules help an agent decide whether to call. However, no sibling is named and there is no explicit when-not guidance (e.g., use bluesky_search when you only have a display name, or x_profile for the other network); the agent must infer routing.

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

facebook_adsMeta Ad Library searchA
Read-only
Inspect

Facebook Ad Library Search: search the public Meta Ad Library by keyword for ads on Facebook and Instagram. Per ad the page name, ad text, active status, start and end dates, publisher platforms, call to action, landing link and media links in the shared social schema; next_cursor gives the next page. Competitor ad research. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
qYesSearch text (1-200 characters).
cursorNonext_cursor of the previous page.

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, the description discloses pricing ($0.02 per successful call), the x402 payment mechanism and its exact location (_meta["x402/payment"]), and the billing edge cases (bad input free, not-found/no-match not charged), plus pagination via next_cursor. These are exactly the non-obvious operational facts an agent needs before calling a paid endpoint.

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

Conciseness4/5

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

Front-loaded with the purpose and platform scope, then return fields, use case, and payment terms — no filler sentences. The dense semicolon-chained clauses pack a lot per line, which is efficient if slightly compressed for a payment-critical instruction.

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 usefully enumerates returned fields and the pagination cursor, and it covers the payment requirement that would otherwise block a call. Minor gaps remain: no page size / result-count expectation, and no indication of what the keyword accepts (plain text vs. operators) beyond the 200-character limit.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are already documented ('Search text (1-200 characters)' and 'next_cursor of the previous page'). The description's 'next_cursor gives the next page' merely restates the schema's cursor semantics, so it adds little beyond the baseline for a fully documented two-parameter schema.

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

Purpose5/5

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

States a specific verb and resource — search the public Meta Ad Library by keyword for ads on Facebook and Instagram — which immediately distinguishes it from the sibling platform searches (x_search, tiktok_search, social_search). It also enumerates what comes back per ad, so an agent knows what this tool yields, not just what it queries.

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 'Competitor ad research' implies the intended context, and the platform scope (Facebook/Instagram ads) implicitly separates it from the profile/posts siblings. However, there is no explicit when-to-use/when-not or a named alternative, so the agent must infer the routing boundary against tools like social_search or instagram_profile.

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

hackernews_threadHacker News threadA
Read-only
Inspect

Hacker News Comments & Threads: one Hacker News story or comment by id or news.ycombinator.com URL with its direct replies (up to 8 per call, next_cursor for more), deleted and dead replies skipped. Per item the text as plain text, author, score, reply count, parent and time in the shared social schema. Bad input is free; not found or no match is not charged. Price: $0.01 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
idYesThe story or comment: a Hacker News item id (a positive whole number) or a news.ycombinator.com/item?id= URL.
limitNoDirect replies wanted, 1-50 (default 10); one call returns at most 8, next_cursor pages through the rest.
cursorNonext_cursor of the previous page (a reply offset).

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover safety (readOnly, openWorld), but the description adds real value beyond them: a hard 8-item page cap with cursor pagination, silent skipping of deleted/dead replies, plain-text normalization of item bodies, and the exact field set returned. It also discloses the billing model ($0.01 per successful call, not charged for misses) and the x402 payment mechanism, which no structured field carries.

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?

Front-loads the identity of the resource, then pagination, then returned fields, then pricing — a sensible order with little waste. The final pricing/payment sentence is dense and slightly run-on, but every clause carries information an agent needs.

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

Completeness5/5

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

With no output schema, the description compensates by enumerating the per-item fields (text, author, score, reply count, parent, time) and the shared social schema. Combined with pagination and charge semantics, nothing material is missing for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: a call returns at most 8 items regardless of the requested limit, with next_cursor paging the remainder. That clarifies the limit/cursor interaction and explains why reply counts may appear truncated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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: fetch one Hacker News story or comment by id or news.ycombinator.com URL, together with its direct replies. The 'one item by id/URL' framing contrasts implicitly but clearly with the hackernews_search sibling, so an agent can pick without opening either schema.

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

Usage Guidelines4/5

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

Gives clear operational context: up to 8 replies per call, next_cursor to page, deleted and dead replies skipped. It stops short of explicitly naming hackernews_search as the alternative for lookups without an id, so routing is implied rather than stated.

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

instagram_profileInstagram profile and postsA
Read-only
Inspect

Instagram Profile & Posts: one public Instagram account by handle or URL: name, bio, followers, following, post count, verification, then its recent posts and reels with caption, likes, comments, views, image link and time, in the shared social schema; next_cursor pages through the full post feed. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
cursorNonext_cursor of the previous page.
handleYesAn Instagram handle (with or without @) or an instagram.com profile URL.

TDQS

A4.2/5.0
Behavior5/5

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

Adds substantial context the annotations do not carry: the price ($0.02 per successful call), the x402/USDC-on-Base payment mechanism with the exact _meta key, and a billing policy that free-of-charge conditions include bad input and not-found. This is exactly the kind of cost and side-effect information an agent needs before invoking a paid, non-idempotent call.

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?

Front-loads the resource and returned fields, then closes with pagination and pricing — a sensible order with no filler. It is dense, packed into a couple of long clauses, but every clause (fields, cursor, charge policy, payment channel) carries information.

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

Completeness5/5

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

With no output schema, the description compensates by enumerating the return fields and the shared social schema, and it covers pagination and payment end to end. An agent can call this correctly and anticipate the cost without consulting anything else.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already documented in the schema, establishing a baseline of 3. The description reinforces that handle accepts a bare handle or a profile URL and that cursor walks the post feed, but adds no syntax or format detail 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?

States a specific verb and resource (fetch one public Instagram account by handle or URL) and enumerates exactly what is returned: profile fields, then recent posts and reels with their metrics, in the shared social schema. The platform name plus the field list makes it trivially distinguishable from x_profile, bluesky_profile, or linkedin_profile.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'next_cursor pages through the full post feed' tells the agent how to paginate, and the handle/URL note tells it what input forms are accepted. There is no explicit when-to-use, when-not-to-use, or routing to an alternative (e.g. a search tool) for discovery-style queries.

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

linkedin_companyLinkedIn company pageA
Read-only
Inspect

LinkedIn Company Page Data: one LinkedIn company page by URL or page name: name, description, industry, size, employee count, headquarters, website, founding year, type, specialties and logo link, plus its recent posts (posts=1 adds the post feed with next_cursor). Company pages only, personal profiles are refused for free. B2B research. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
urlYesThe company: a LinkedIn company page URL (linkedin.com/company/<name>) or the company's page name; personal profiles (/in/) are not accepted.
postsNo1 adds the page's post feed (one more vendor call). Default 0.
cursorNonext_cursor of the previous page (with posts=1: the next feed page).

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the $0.02 per-successful-call price, the x402/USDC-on-Base payment mechanism and the exact _meta key, plus billing rules (bad input free, not-found not charged) and the refusal behavior for personal profiles. That is exactly the cost/auth context an agent needs before spending money.

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?

A single dense paragraph that leads with the resource and scope, then pricing. The long field enumeration is useful for an agent with no output schema but is the one part that could be trimmed.

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?

Covers the input contract, the opt-in post feed with pagination, the field set that substitutes for a missing output schema, and the payment/auth and billing rules. Nothing essential to calling it correctly or safely is missing.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents url, posts and cursor in comparable detail, and the description mostly restates them. The only added nuance is that posts triggers an extra vendor call and next_cursor pages the feed, which is already in the schema text, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('one LinkedIn company page by URL or page name') and enumerates the returned fields (industry, size, HQ, specialties, logo, recent posts). It also explicitly excludes personal profiles, which cleanly separates it from the sibling linkedin_profile tool.

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

Usage Guidelines4/5

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

Gives a clear use case ('B2B research'), states the company-pages-only constraint, and explains when to add posts=1. It never names linkedin_profile as the alternative for personal profiles, leaving the agent to infer the routing, 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.

linkedin_profileLinkedIn profileA
Read-only
Inspect

LinkedIn Profile Lookup: one public LinkedIn profile by linkedin.com/in/ URL: name, followers, about text and photo link in the shared social schema. Experience, education and contact data are not returned. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
urlYesThe profile: a LinkedIn profile URL (linkedin.com/in/<name>).

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations, it discloses billing semantics not captured anywhere in structured fields: bad input is free, not-found is uncharged, $0.02 per successful call, and payment passed via _meta["x402/payment"] over USDC on Base. It also pins the exact response payload, which is high-value disclosure for a metered read.

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?

Payload and scope are front-loaded before pricing details, and no sentence is wasted. The single dense colon-chained sentence for the return contract is slightly harder to parse than a short list would be.

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

Completeness5/5

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

With no output schema, the description fully specifies what comes back and what does not, plus the payment precondition required before a successful call. An agent has everything needed to decide and 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?

Only one parameter, and the schema already documents it at 100% coverage including the linkedin.com/in/<name> format, which the description essentially repeats. There is no added constraint detail (e.g. trailing slash, query strings, vanity-name edge cases), so this sits at the high-coverage 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?

It names a specific verb and resource ('one public LinkedIn profile by linkedin.com/in/ URL') and enumerates the returned fields (name, followers, about text, photo link). The '/in/' URL form also distinguishes it from the company-profile sibling without needing to name it.

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 states what the tool will not return (experience, education, contact data), which implicitly scopes when to use it versus other lookups. However, it never names an alternative such as linkedin_company or people_search for those excluded needs, so routing is left partly to inference.

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

reddit_commentsReddit post commentsA
Read-only
Inspect

Reddit Post Comments: one Reddit post by id or URL with its comment thread (up to 3 reply levels, deleted and removed comments left out). Per comment the text, author, upvotes, parent, subreddit, time and permalink in the shared social schema; next_cursor gives more comments. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
postYesThe post: a Reddit post id (such as 1abc2de, or t3_1abc2de) or a reddit.com/r/<sub>/comments/<id>/, reddit.com/comments/<id> or redd.it/<id> URL.
cursorNonext_cursor of the previous page.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing thread depth (3 reply levels), content exclusions (deleted and removed comments), pagination via next_cursor, and a full billing model: $0.02 per successful call, free on bad input, uncharged when not found, paid over x402 in _meta["x402/payment"]. That is exactly the cost and payment context an agent needs 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.

Conciseness4/5

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

One dense but well-ordered paragraph: resource and scope first, then return fields, then pagination, then billing. Every sentence carries information, though the billing clause makes it slightly packed for a single block.

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

Completeness5/5

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

With no output schema, the description supplies the return shape (text, author, upvotes, parent, subreddit, time, permalink in the shared social schema) plus pagination and cost, so an agent knows both what comes back and what it pays. Nothing material is missing for a 2-parameter read tool.

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

Parameters3/5

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

Schema description coverage is 100%, so both the post (id/URL forms) and cursor parameters are already fully documented. The description only restates that post can be an id or URL and that next_cursor fetches more, adding no format detail beyond the schema; baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource: fetch one Reddit post by id or URL together with its comment thread. It also scopes the result (up to 3 reply levels, deleted/removed excluded), which makes it clearly distinct from reddit_search and youtube_comments without opening a schema.

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

Usage Guidelines4/5

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

Usage is clear from the description: supply a post id or URL to get its thread, and pass next_cursor for further pages. It gives no explicit exclusions and does not name reddit_search as the alternative for finding posts, so the routing guidance is strong but not complete.

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

social_accountsCreator and brand account searchA
Read-only
Inspect

Creator & Brand Account Search: find creator and brand accounts on TikTok, Instagram or Threads by name or keyword. Only verified accounts or accounts with 10,000+ followers are returned (the rest counted in filtered_out); Threads search gives no follower counts and Instagram only for its first 10 results, so beyond those only verified accounts qualify. Per account the handle, name, bio, followers, following, posts and verification. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
qYesName or keyword to search accounts for (1-200 characters).
cursorNonext_cursor of the previous page (TikTok only).
platformYesOne of tiktok, instagram, threads.

TDQS

A4.5/5.0
Behavior5/5

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

Goes well past the readOnly/openWorld annotations: it discloses result-eligibility filtering, the Threads no-follower-count and Instagram 10-result coverage limits, the returned fields, the not-charged cases, the $0.02 price, and the exact payment channel in _meta['x402/payment']. These are exactly the constraints an agent needs before spending money on a call.

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

Conciseness5/5

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

Every sentence carries a distinct payload: purpose, eligibility filter, platform caveats, return fields, billing rules, payment mechanics. Front-loaded with scope and no repetition of the tool title beyond the opening label.

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?

There is no output schema, yet the description enumerates the returned attributes (handle, name, bio, followers, following, posts, verification) and explains the filtered_out counter. Combined with the pricing and partial-coverage caveats, an agent has enough to call this correctly and predict the cost.

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

Parameters3/5

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

Schema description coverage is 100% and each parameter (q, platform, cursor) is already documented, so the description is not required to carry parameter detail. It adds only a hint that the cursor path is TikTok-specific and that q accepts a keyword — marginal value over the schema.

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

Purpose5/5

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

States a specific verb and resource ('find creator and brand accounts') plus the three platforms covered, and the account-centric framing clearly separates it from post/search siblings like tiktok_search or social_search. An agent can tell what it returns per account 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?

Implied when-to-use is clear (account lookup by name/keyword) and it discloses a significant eligibility rule: only verified or 10k+ follower accounts surface, with the rest counted in filtered_out. It never names a concrete alternative tool for the cases it excludes (e.g. fetching a known profile), so it stops short of full routing guidance.

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

social_audienceAudience and engagement statsA
Read-only
Inspect

Audience & Engagement Stats: numbers only for one TikTok, Instagram, YouTube or Threads account, or X when its key is enabled: followers, following, posts, and the average likes, comments and views over its last 20 posts, with the engagement rate in percent. No follower names, no post text. Influencer vetting and benchmarking. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
handleYesThe account's handle (with or without @) or its profile URL on that platform.
platformYesOne of tiktok, instagram, x, youtube, threads.

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond readOnlyHint/openWorldHint: discloses that only the last 20 posts are aggregated, that results are numeric only, that X depends on a key being enabled, and the full billing model (invalid input free, not-found uncharged, $0.02 per successful call via x402 USDC on Base with the _meta payment key). That payment and partial-failure-fee behavior is exactly the context an agent cannot get from the schema or 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?

Front-loads purpose and output scope, then payments, and no sentence is filler. The final pricing sentence is dense with x402/_meta detail but each clause is operationally necessary for a paid tool, so the length is justified though slightly packed.

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

Completeness5/5

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

With no output schema, the description carries the return-shape burden and does so: it lists every returned metric and its averaging window, plus the null-return condition (not found / no match). Platform support, cost, and payment mechanics are all covered, leaving nothing an agent needs before calling.

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 real meaning beyond it by clarifying that the call targets exactly one account and by caveating that the 'x' enum value only works when its key is enabled — a constraint absent from the schema's flat enum list. Handle formatting is left to the schema, so it stops short of 5.

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

Purpose5/5

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

Names a specific resource (audience & engagement stats) for a specific scope (one account on TikTok/Instagram/YouTube/Threads, or X) and enumerates exactly what is returned: followers, following, posts, and average likes/comments/views over the last 20 posts plus engagement rate. The explicit negatives ('No follower names, no post text') separate it from follower-listing siblings like tiktok_followers and from post-content tools like x_posts.

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

Usage Guidelines4/5

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

'Influencer vetting and benchmarking' gives a clear use context, and the 'numbers only / no follower names / no post text' framing implicitly steers agents to other tools for raw lists or content. What is missing is an explicit named alternative (e.g. social_accounts to resolve a handle, tiktok_followers for follower lists), so the routing guidance stops short of the top tier.

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

social_mentionsSocial mentions and sentiment (aggregate)A
Read-only
Inspect

Social Mentions & Sentiment: daily mention counts, distinct authors and mean VADER sentiment for a brand, product or topic over the last 1-7 days, plus the top 10 co-occurring terms. Sources: Bluesky and Hacker News, plus Reddit and X (latest, newest first) when available. One page per source: days beyond its reach come back truncated (coverage_from). Aggregate only, no text, no authors; a day under 20 known authors is suppressed. Bad input is free; not found or no match is not charged. Price: $0.01 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
qYesBrand, product or topic (1-100 characters).
daysNoUTC days ending today, 1-7. Default 7.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare readOnly/openWorld/non-idempotent, and the description adds substantial context beyond them: source list, per-source pagination/truncation with coverage_from, suppression of days under 20 authors, pricing at $0.01 per successful call, x402 payment placement in _meta, and free bad input/not-found behavior. This is exactly the operational detail an agent needs before invoking a metered, source-limited aggregation tool.

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?

Front-loads the purpose and then packs source, truncation, suppression, and payment terms into dense clauses. It is longer than most definitions but every sentence carries operational information; minor tightening is possible but not required.

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?

No output schema exists, so the description must convey return shape—and it does: daily counts, distinct authors, mean sentiment, top 10 terms, coverage_from truncation, and suppression rule. It also covers payment mechanics and source availability, leaving little an agent would need to infer.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already documented. The description restates the 1-7 day window and adds that days beyond a source's reach truncate via coverage_from, but does not add meaningful syntax or interpretation beyond the schema for q or days. 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: daily mention counts, distinct authors, mean VADER sentiment, and top co-occurring terms for a brand/product/topic over 1-7 days. It clearly distinguishes itself from raw-post siblings like x_search, reddit_search, and bluesky_search by emphasizing 'aggregate only, no text, no authors.'

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?

Gives clear context: use for aggregate sentiment/mention trends across Bluesky, Hacker News, Reddit, and X rather than raw post retrieval. It doesn't explicitly name alternatives or exclusion cases, but the aggregate-only framing strongly implies when to use it instead of sibling search tools.

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

threads_postsThreads account postsA
Read-only
Inspect

Threads Posts & Replies: the recent public posts of one Threads account by handle or threads.com URL. Per post the text, likes, replies, reposts, time and URL, with the author's handle and verification, in the shared social schema. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
handleYesA Threads handle (with or without @) or a threads.com/@handle URL.

TDQS

A4.1/5.0
Behavior4/5

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

Goes well beyond the readOnly/openWorld annotations by disclosing cost ($0.02 per successful call), the x402/USDC-on-Base payment channel and the exact _meta key, plus failure-billing rules (bad input free, not-found not charged). It does not say how many posts constitute 'recent', whether results paginate, or any rate limits, which keeps it from a 5.

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

Conciseness4/5

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

Two tight sentences, with purpose and return shape front-loaded before the commercial terms. Dense but every clause (fields returned, billing rules, payment path) conveys information an agent needs; nothing is padding.

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 dutifully enumerates returned per-post fields (text, likes, replies, reposts, time, URL, author handle, verification) and the shared social schema. The main remaining gap is volume/freshness ('recent') and whether results paginate, so not quite complete.

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

Parameters3/5

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

Schema coverage is 100% and the schema description already explains the handle/URL format with @ optionality; the description repeats that same fact without adding format, normalization, or error semantics. Baseline 3 is appropriate when the schema carries the parameter detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('recent public posts of one Threads account') with both accepted input forms, and the single-account scope clearly separates it from search siblings like social_search or x_search. An agent can pick it 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 'one Threads account by handle or threads.com URL' implicitly scopes usage to single-account lookups rather than keyword search, and the billing notes ('not found is not charged') imply this is a targeted fetch. It never names an alternative tool or states exclusions explicitly, 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_followersTikTok followers listA
Read-only
Inspect

TikTok Followers List: the public followers of one TikTok account by handle, one page per call with next_cursor. Per follower the handle, name, bio, followers, following, posts and verification in the shared social schema. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
cursorNonext_cursor of the previous page.
handleYesA TikTok handle (with or without @) or a tiktok.com/@handle URL.

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing billing behavior (bad input free, not-found uncharged, $0.02 per successful call), the payment mechanism (x402 USDC on Base via _meta["x402/payment"]), and pagination semantics. This is exactly the auth/cost context annotations cannot convey.

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 dense sentences, front-loaded with what is returned, then cost. It is somewhat run-on (billing and payment details packed into one clause chain) but nothing is wasted.

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

Completeness5/5

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

With no output schema, the description describes the per-follower fields and the shared social schema, plus cost and cursor semantics. An agent has everything needed to call and budget for it correctly.

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

Parameters3/5

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

Schema coverage is 100%, so handle (with/without @, URL) and cursor are already documented in the schema. The description adds only the notion of next_cursor paging, which the schema repeats; baseline 3 applies.

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

Purpose5/5

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

States the exact verb and resource: 'the public followers of one TikTok account by handle', which immediately separates it from tiktok_following (the reverse edge) and from tiktok_profile/videos. Pagination scope ('one page per call with next_cursor') is stated up front.

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 rather than instructed: an agent can infer this is the followers-list tool, but there is no explicit 'use this when X, use tiktok_following when Y' or statement of prerequisites. Adequate but leaves direction/alternative selection to inference.

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

tiktok_followingTikTok following listA
Read-only
Inspect

TikTok Following List: the public accounts one TikTok account follows, by handle, one page per call with next_cursor. Per account the handle, name, bio, followers, following, posts and verification in the shared social schema. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
cursorNonext_cursor of the previous page.
handleYesA TikTok handle (with or without @) or a tiktok.com/@handle URL.

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations: discloses pagination semantics, the 'public accounts only' visibility constraint, the exact per-item return fields, and full billing behavior (bad input free, not-found uncharged, $0.02 per successful call via x402 in _meta["x402/payment"]). That payment requirement is critical for correct invocation and is not in any structured field.

Agents need to know what a tool does to the world before 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: scope first, return shape second, cost/payment mechanics last. Every sentence carries information an agent would otherwise have to guess, with no filler.

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

Completeness5/5

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

With no output schema, the description still enumerates the per-account fields and the shared social schema, and it covers pagination and payment. Nothing an agent needs to call this correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are described in-schema, including accepted handle formats and that cursor is the previous page's next_cursor. The description only restates that same information, so the baseline 3 applies.

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

Purpose4/5

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

States a specific resource and direction: 'the public accounts one TikTok account follows, by handle.' That direction phrase is what separates it from the inverse tiktok_followers tool, though the sibling is never named, so the agent must infer the pairing.

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 only implied by the stated purpose; there is no explicit when-to-use versus tiktok_followers, tiktok_search, or social_accounts, and no exclusions. The 'one page per call with next_cursor' note and payment terms help execution but not tool selection.

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

tiktok_videosTikTok account videosA
Read-only
Inspect

TikTok Profile & Videos: the latest public videos of one TikTok account by handle or tiktok.com/@ URL. Per video the caption, plays, likes, comments, shares, language, cover image link, time and URL, with the creator's name, verification and followers, in the shared social schema; next_cursor pages back. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
cursorNonext_cursor of the previous page.
handleYesA TikTok handle (with or without @) or a tiktok.com/@handle URL.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only and open-world nature, and the description adds genuinely non-obvious behavior: per-call pricing ($0.02), x402/USDC payment passed in _meta, which failure cases are not billed, and pagination semantics. It stops short of describing rate limits or latency, and the 'idempotentHint: false' implication for cursor reuse is left implicit.

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 resource and scope are front-loaded, and the semicolon-separated clauses each carry distinct information (return fields, pagination, billing). It is dense but slightly overpacked, mixing retrieval behavior and payment mechanics in a single run-on 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?

With no output schema, the description correctly enumerates the returned fields (caption, plays, likes, comments, shares, language, cover, time, URL, creator name, verification, followers) and the pagination model, plus payment requirements. Only minor gaps remain, such as what happens when the cursor is stale or the exact shape of the next_cursor response.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described, so baseline is 3. The description's 'by handle or tiktok.com/@ URL' mostly restates the handle schema text, and it adds no format detail for cursor beyond the schema's 'next_cursor of the previous page.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('latest public videos of one TikTok account') and the accepted identifier forms, which cleanly separates it from siblings like tiktok_search, tiktok_followers and tiktok_following. An agent can pick this tool 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 Guidelines3/5

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

It implies usage via 'by handle or tiktok.com/@ URL' and explains that next_cursor pages back, but never names an alternative or states when this is preferred over tiktok_search. The billing rules ('bad input is free; not found or no match is not charged') hint at retry decisions but are not framed as guidance.

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

x_postsX (Twitter) user timelineA
Read-only
Inspect

X User Tweets Timeline: the latest public tweets of one X (Twitter) account by handle or x.com URL, newest first. Per tweet the text, author handle and name, verification, followers, likes, replies, retweets, views, language, reply or quote parent, time and URL in the shared social schema; next_cursor gives the next page. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
cursorNonext_cursor of the previous page.
handleYesAn X handle (with or without @) or an x.com profile URL.

TDQS

A4/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, it discloses pagination semantics (next_cursor gives the next page), the billing model ($0.02 per successful call via x402 USDC on Base with the payment passed in _meta["x402/payment"]), and the failure-charging policy (bad input free, not-found/empty uncharged). That is exactly the payment, cost and edge-case context the annotations cannot convey.

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, front-loaded with what is returned and in what order, followed by the cost/payment note. Dense and mostly waste-free, though the long enumerated field list is heavy for a single sentence.

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

Completeness5/5

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

With no output schema, the description compensates by enumerating the returned per-tweet fields, explaining pagination, and covering payment and billing edge cases. Nothing an agent needs in order to call this correctly and pay for it is missing.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are already documented in the schema, including that handle accepts an optional @ or an x.com URL. The description restates that meaning and links next_cursor to the request's cursor field but adds no new constraints, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb and resource: the latest public tweets of one X account, addressed by handle or x.com URL, returned newest first. That scope separates it from x_search (keyword search) and x_profile (account metadata), though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

Usage is implied by 'one X (Twitter) account by handle or x.com URL', so an agent can infer this is a single-account timeline pull rather than a search. There is no explicit when-to-use / when-not guidance and no naming of x_search or x_profile as the alternative for other tasks.

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

x_profileX (Twitter) profileA
Read-only
Inspect

X User Profile Lookup: one public X (Twitter) account by handle or x.com URL: display name, bio, followers, following, post count, verification, avatar link and creation time, in the shared social schema. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
handleYesAn X handle (with or without @) or an x.com profile URL.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations cover the read-only/open-world profile, and the description adds genuinely non-obvious behavior: the $0.02 charge only on success, free bad input and not-found results, and the x402/USDC-on-Base payment passed via _meta["x402/payment"]. It omits things like latency or freshness of the data, keeping it short of a 5.

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

Conciseness4/5

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

Purpose and target come first, followed by the returned fields, then the billing/error-cost rules – every clause carries information. The field list is long but earns its place because there is no output schema.

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

Completeness4/5

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

For a one-parameter lookup with no output schema, the description supplies the return fields, cost model, charge conditions and the payment transport. Only minor gaps remain, such as failure modes beyond 'not found'.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 single handle parameter already documents accepting an @handle or x.com URL, so the description merely restates it. With the schema doing all the work, the baseline 3 applies.

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

Purpose5/5

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

States a specific verb+resource ('X User Profile Lookup: one public X account by handle or x.com URL') and enumerates the exact fields returned, which distinguishes it from siblings like x_posts and x_search that operate on tweets rather than a single account.

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?

Makes clear the lookup is keyed on a handle or profile URL and that you get one account, not a search. It does not explicitly route the agent to a sibling (e.g., social_search or x_search) when only a display name is known, so the exclusion is implied rather than stated.

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

youtube_commentsYouTube video commentsA
Read-only
Inspect

YouTube Video Comments: the public comments on one YouTube video by id or URL. Per comment the text, author channel handle, verification, likes, reply count, time and link in the shared social schema; next_cursor gives the next page. Audience feedback and sentiment research. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
videoYesThe video: a YouTube video id (11 characters) or a youtube.com/watch?v=, youtube.com/shorts/, youtube.com/live/ or youtu.be/ URL.
cursorNonext_cursor of the previous page.

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the readOnly/openWorld annotations it discloses unusually valuable operational facts: the cost ($0.02 per successful call), the payment mechanism (_meta["x402/payment"], USDC on Base), and the billing edge cases (bad input free, not-found/no-match not charged). It omits rate limits and whether disabled comments return an error or an empty set, which keeps it short of a 5.

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

Conciseness4/5

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

It is a single dense paragraph that front-loads purpose, then return shape, use case, and finally pricing/payment. Every sentence carries information, though the packed semicolon-heavy style makes the payment requirement easy to skim past.

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?

There is no output schema, so the description compensates by enumerating the per-comment fields and the shared social schema, plus pagination via next_cursor. For a two-parameter read-only tool, an agent has everything needed to call it and interpret the result.

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

Parameters3/5

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

With 100% schema description coverage, both parameters are already documented, including accepted URL forms. The description adds only that next_cursor maps to the cursor parameter for pagination, a marginal clarification over the schema's own wording — 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?

It states a specific verb and resource — the public comments on one YouTube video, addressed by id or URL — so the agent knows exactly what it retrieves. It does not explicitly contrast with the nearest sibling (youtube_transcript), but the resource difference is self-evident.

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?

"Audience feedback and sentiment research" implies a use context, and the pricing note hints that this is a paid call to spend deliberately. However, there is no explicit when-to-use / when-not guidance and it never names alternatives such as youtube_transcript or reddit_comments for adjacent needs.

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

youtube_transcriptYouTube transcriptA
Read-only
Inspect

YouTube Transcript & Captions: the caption transcript of one YouTube video by id or URL (watch, shorts, live, youtu.be): the full text plus timed segments with start and end in milliseconds and the caption language. Video to text for summaries and research. A video without captions is not charged. Bad input is free; not found or no match is not charged. Price: $0.02 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
videoYesThe video: a YouTube video id (11 characters) or a youtube.com/watch?v=, youtube.com/shorts/, youtube.com/live/ or youtu.be/ URL.

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations by disclosing pricing ($0.02 per successful call), x402 payment mechanics via _meta["x402/payment"], what is not charged (missing captions, bad input, not found), and the shape of returned data (full text plus timed segments in milliseconds with caption language). These are substantive behavioral traits an agent needs 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.

Conciseness4/5

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

Front-loads the identity of the resource and then packs return contents and billing details into a tight paragraph. It is dense with no throwaway sentences, though the pricing and payment-mechanics clauses could be split for readability.

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

Completeness4/5

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

Given one parameter, no output schema, and annotations covering safety and open-world access, the description covers return contents, billing, and failure-charging behavior. It leaves minor gaps such as how caption language is selected when multiple captions exist, which keeps it from a 5.

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

Parameters3/5

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

Schema description coverage is 100% and already documents the video parameter, the 11-character id form, and accepted watch/shorts/live/youtu.be URL forms. The description largely repeats the same accepted input forms rather than adding new meaning, 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?

States a specific verb and resource: retrieve the caption transcript of one YouTube video, with input accepted as id or URL. It is clearly distinguishable from the sibling youtube_comments tool because it names the transcript/captions artifact 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?

Provides clear context with 'Video to text for summaries and research' and scope of one video by id/URL. It does not name an alternative tool or give explicit when-not-to-use conditions, so it stops short of a 5.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 26 tool updates
    • First observedbluesky_posts
    • First observedbluesky_profile
    • First observedbluesky_search
    • First observedfacebook_ads
    • First observedhackernews_search
    • First observedhackernews_thread
    • First observedinstagram_profile
    • First observedlinkedin_company
    • First observedlinkedin_profile
    • First observedpeople_search
    • First observedreddit_comments
    • First observedreddit_search
    • First observedsocial_accounts
    • First observedsocial_audience
    • First observedsocial_mentions
    • First observedsocial_search
    • First observedthreads_posts
    • First observedtiktok_followers
    • First observedtiktok_following
    • First observedtiktok_search
    • First observedtiktok_videos
    • First observedx_posts
    • First observedx_profile
    • First observedx_search
    • First observedyoutube_comments
    • First observedyoutube_transcript

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables retrieval and management of social media data from Instagram, TikTok, YouTube, X, and Facebook through MCP tools, supporting extractions, search, discovery, batches, schedules, and saved results.
    25 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI tools to read publicly visible social media posts, comments, profiles, and trends from 18 platforms such as TikTok, Instagram, X, Reddit, YouTube, Xiaohongshu, and Weibo, on a prepaid pay-per-call basis where failed calls are free. Ships tools for search, trending, detail, comments, user profiles and posts, plus higher-level workflows like brand buzz, comment analysis, account watching, creator discovery, bulk link data, and viral finding.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Social media search and analytics across X, Reddit, Bluesky, YouTube, LinkedIn, Facebook, Instagram, and Weibo via the Rolli IQ AP
    30
    27 npm
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides AI agents with unified access to 21 social media platforms and 105 endpoints for retrieving profiles, posts, comments, search results, trending content, and analytics without per-platform authentication.
    4
    92 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources