Skip to main content
Glama
Threads Keyword Search MCP Server

Threads Keyword Search MCP Server

Search Threads posts by keyword

search_threads_posts
Read-onlyIdempotent

Search Threads posts by keywords and return one deduplicated row per matching post with text, author, date, likes, replies, reposts, quotes, and links; filter by age, likes, replies, and new posts.

Instructions

Search Threads for keywords and return one flat row per post that contains the keyword: text, author, publish date, likes, replies, reposts, quotes, and the post link, plus one free summary row per keyword. By default a post is kept only when the keyword's words are in its text next to each other; a post found by several keywords is returned once. Threads shows a visitor who is not logged in about 20 to 25 posts per search. Reads the public Threads search page; no login or key. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN and is billed per post row.

Input Schema

NameRequiredDescriptionDefault
keywordsNoWords or phrases to search Threads for, up to 50.
only_newNoSkip posts an earlier run returned (free). Default false.
min_likesNoSet aside posts with fewer likes.
state_keyNoOptional name for the only new posts memory.
match_modeNophrase keeps a post when the keyword's words are next to each other in its text; all_words when every word is somewhere; off keeps every result. Default phrase.
proxy_modeNoauto uses the Apify proxy pool with residential as the fallback; residential uses residential addresses for every search. Does not change the price. Default auto.
since_daysNoSet aside posts older than this many days.
max_charge_usdNoOptional. The run stops before a charge that would pass this amount.
include_repliesNoReturn matching replies too. Default true.
max_posts_per_keywordNoPosts per keyword. Default 25.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive; the description still adds substantial non-obvious behavior: the ~20-25 post ceiling per search, cross-keyword de-duplication, failure returned as an error with a run ID, APIFY_TOKEN requirement, and per-post-row billing. That is real context beyond the structured fields.

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

Conciseness4/5

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

Front-loaded with purpose and output shape, then constraints, then cost/auth, then error behavior — a sound ordering. It is a single dense paragraph of five sentences; every sentence carries information, though the packing makes it slightly harder to scan than a bulleted or clearly separated form.

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 10-parameter, zero-required tool with no output schema and no siblings, the description covers output shape, defaults, platform limits, auth, billing, and failure mode. Nothing an agent needs to decide or invoke correctly 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; the description still contributes semantics the schema lacks, notably that a post matched by several keywords is returned once and that default matching is adjacency-based phrase matching. It does not elaborate on less obvious params like state_key or proxy_mode cost implications beyond what the schema says.

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 Threads for keywords') and immediately enumerates the exact output shape (one flat row per post with text, author, publish date, likes, replies, reposts, quotes, link, plus a summary row per keyword). An agent knows precisely what it gets back, not just what it calls.

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 the operating context: public Threads search page, no login or key required, ~20-25 posts per search as a visitor. It explains the default phrase-matching behavior and the de-duplication rule, which effectively tells the agent what to expect. There are no sibling tools to route against, but explicit 'when not to use' guidance is absent.

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

Deploy Server

Other Tools