Skip to main content
Glama

Twitter Sentiment

sentiment_twitter
Read-only

Searches public X Posts from the last 7 days using X search syntax (keywords, phrases, hashtags, cashtags, or operators such as from:handle). Returns engagement, views and direct links; sorted by relevance unless latest=true. Results are capped at 10 Posts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax Posts to return (1-10). Defaults to 5.
queryYesX recent-search query (keywords, phrases, hashtags, cashtags, or operators), e.g. "$BTC", "bitcoin ETF", or "from:handle BTC". Self-serve query limit: 512 characters.
latestNoReturn the newest Posts instead of top relevance. Defaults to false.
minLikesNoOnly Posts with at least this many likes. Defaults to 0.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tweetsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedInput schema / properties / accounts
      Removed value: -{
      -  "description": "Optional subset of the server's trusted X accounts. Untrusted handles are rejected.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • changedInput schema / properties / query / description
      Previous value: -"Search keywords, $cashtag or #hashtag, e.g. \"$BTC\" or \"bitcoin etf\"."New value: +"X recent-search query (keywords, phrases, hashtags, cashtags, or operators), e.g. \"$BTC\", \"bitcoin ETF\", or \"from:handle BTC\". Self-serve query limit: 512 characters."
    • removedOutput schema / properties / tweets / items / properties / author
      Removed value: -{
      -  "description": "Author handle without @",
      -  "type": "string"
      -}
    • changedOutput schema / properties / tweets / items / properties / url / description
      Previous value: -"Canonical X Post URL"New value: +"X Post permalink"
  2. Changed10 schema fields changed
    • addedInput schema / properties / accounts
      Added value: +{
      +  "description": "Optional subset of the server's trusted X accounts. Untrusted handles are rejected.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / latest / description
      Previous value: -"Return the newest tweets instead of top-relevance. Defaults to false."New value: +"Return the newest Posts instead of top relevance. Defaults to false."
    • changedInput schema / properties / limit / description
      Previous value: -"Max tweets to return (1-50). Defaults to 10."New value: +"Max Posts to return (1-10). Defaults to 5."
    • changedInput schema / properties / minLikes / description
      Previous value: -"Only tweets with at least this many likes. Useful for cutting spam in top-relevance mode; avoid combining with latest=true (brand-new tweets have no likes yet, so it returns nothing). Defaults to 0."New value: +"Only Posts with at least this many likes. Defaults to 0."
    • changedOutput schema / properties / tweets / items / properties / author / description
      Previous value: -"Author screen name (without @)"New value: +"Author handle without @"
    • removedOutput schema / properties / tweets / items / properties / authorFollowers
      Removed value: -{
      -  "type": "number"
      -}
    • removedOutput schema / properties / tweets / items / properties / authorName
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / tweets / items / properties / authorVerified
      Removed value: -{
      -  "type": "boolean"
      -}
    • changedOutput schema / properties / tweets / items / properties / createdAt / description
      Previous value: -"ISO 8601; empty when the venue omits it"New value: +"ISO 8601"
    • addedOutput schema / properties / tweets / items / properties / url
      Added value: +{
      +  "description": "Canonical X Post URL",
      +  "type": "string"
      +}
  3. First observed

TDQS

A3.7/5.0
Behavior4/5

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

With readOnlyHint=true already covering the safety profile, the description adds real behavioral context: a hard 7-day recency window, a 10-Post cap, and the default relevance sort order. It does not mention rate limits or auth requirements, but the operational constraints it does give are the ones 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.

Conciseness4/5

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

Two sentences, front-loaded with what the tool searches and immediately followed by the return contents and sorting constraint. Every clause carries information; no filler or restatement of the name.

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?

An output schema exists, so the brief mention of engagement/views/links is a bonus rather than a requirement. Recency window, cap, and sort default are all covered, leaving only auth/rate-limit specifics unaddressed for a low-complexity 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 all four parameters are already documented in the schema. The description reinforces latest=true, the 10-Post cap, and the query syntax but adds no format or syntax detail beyond what the schema fields state, matching the baseline 3.

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?

Names a specific verb and resource ('Searches public X Posts') plus the scope ('last 7 days'), and lists the supported query syntax. The X/Twitter resource implicitly separates it from sentiment_social and sentiment_fear_greed, but no sibling is named explicitly, so it stops short of 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?

Usage is implied by the syntax and window description, and one behavioral alternative is noted (latest=true switches to newest instead of top relevance). There is no statement of when to prefer this over the sibling sentiment tools (sentiment_social, sentiment_fear_greed), so guidance is only implied.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources