Skip to main content
Glama

keyword_search

Run keyword or hashtag searches across social media platforms, polling until complete and returning full results for analysis.

Instructions

Create a keyword/hashtag search across social media platforms (X, Reddit, YouTube, Facebook, Instagram, Threads, Bluesky, and more). Polls until the search is complete and returns the full results. Oversized responses are truncated (truncated: true, largest post arrays shortened) — read the complete post list in pages with get_keyword_search_posts (offset, limit, fields=lean, one platform at a time). A status of results_pending means the search succeeded but results are still being written; fetch them with get_keyword_search.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "keyword_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
queryYesSearch query. Expects KEYWORDS, not prose — a plain multi-word query is token-OR-matched server-side (each word matched independently), which pulls in unrelated posts and pollutes the sentiment/coordination analytics. ALWAYS prefer boolean syntax: AND = both required (Tesla AND battery); OR = synonyms/variants (EV OR "electric vehicle"); NOT = exclude noise (Tesla NOT "Nikola Tesla"); quotes = exact phrase ("Sherrod Brown"); parentheses = grouping. Example: "Sherrod Brown" AND (Husted OR "Ohio Senate") NOT satire. For broad topics, run several focused boolean searches rather than one wide query.
end_dateNoEnd date (YYYY-MM-DD)
max_postNoMaximum number of posts to retrieve (default: 100)
platformsNoPlatforms to search (default: twitter, reddit, bluesky, youtube)
start_dateNoStart date (YYYY-MM-DD)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.5.0
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Changed2 schema fields changedv1.4.0
    • changedInput schema / properties / platforms / items / enum
      Previous value: -[
      -  "twitter",
      -  "reddit",
      -  "bluesky",
      -  "youtube",
      -  "linkedin",
      -  "facebook",
      -  "instagram",
      -  "weibo"
      -]New value: +[
      +  "twitter",
      +  "reddit",
      +  "bluesky",
      +  "youtube",
      +  "facebook",
      +  "instagram",
      +  "threads"
      +]
    • changedInput schema / properties / query / description
      Previous value: -"Search query (keyword or hashtag)"New value: +"Search query. Expects KEYWORDS, not prose — a plain multi-word query is token-OR-matched server-side (each word matched independently), which pulls in unrelated posts and pollutes the sentiment/coordination analytics. ALWAYS prefer boolean syntax: AND = both required (Tesla AND battery); OR = synonyms/variants (EV OR \"electric vehicle\"); NOT = exclude noise (Tesla NOT \"Nikola Tesla\"); quotes = exact phrase (\"Sherrod Brown\"); parentheses = grouping. Example: \"Sherrod Brown\" AND (Husted OR \"Ohio Senate\") NOT satire. For broad topics, run several focused boolean searches rather than one wide query."
  3. First observedv1.1.7

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses blocking poll-until-complete behavior, truncation semantics (truncated: true, largest post arrays shortened), and the results_pending state meaning. It stops short of permissions/auth requirements, rate limits, or cost/latency expectations for a multi-platform poll, 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?

Front-loaded with purpose, then truncation handling, then the status fallback — a sensible information order with no filler sentences. The parenthetical listing of eight platforms and mixed inline hints make the second half slightly dense, but every clause is actionable.

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 5-parameter search tool with no output schema and no annotations, the description covers the important unknowns: it is synchronous/polling, results may be truncated, and a pending status has a specific follow-up path. Missing only operational context such as expected latency for multi-platform polling and whether repeated identical queries are cached or duplicated.

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%, including a rich query-syntax description in the schema itself, so the baseline is 3. The tool description adds no parameter-level detail beyond naming the pagination parameters of the sibling tool, so it neither compensates for nor supplements 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?

Opens with a specific verb+resource ("Create a keyword/hashtag search") and enumerates the covered platforms. It explicitly distinguishes itself from the two sibling tools it interacts with, get_keyword_search_posts and get_keyword_search, so an agent can route without opening schemas.

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

Usage Guidelines5/5

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

Gives concrete conditional routing: when the response is truncated, read pages via get_keyword_search_posts with offset/limit/fields=lean and one platform at a time; when status is results_pending, fetch with get_keyword_search. The query parameter also advises running several focused boolean searches for broad topics rather than one wide query.

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