Superpowers.social
Server Details
Live X/Twitter and Reddit research. 10 read-only MCP tools, Google/GitHub sign-in. Free tier.
- Status
- Healthy
- Uptime
- 95.5% over 77 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- pkobielak/social-superpowers-mcp
- GitHub Stars
- 2
- Server Listing
- social-superpowers
TDQS
Scored across 10 tools
Tools mostly target clearly distinct platform/resources/actions, such as Reddit posts vs user comments vs search, and Twitter single tweets vs threads vs user timelines. The main ambiguity is the singular/plural pair reddit-get-post and reddit-get-posts, plus some potential overlap between twitter-search and twitter-news, but descriptions help distinguish them.
All names use kebab-case with a platform prefix, which is readable and predictable. However, the action conventions are mixed: Reddit uses get consistently, while Twitter mixes read, search, news, thread, and user-tweets, so there is no uniform verb_noun pattern throughout.
Ten tools is well-scoped for a read-only social media retrieval server. The set cleanly splits into five Reddit and five Twitter/X operations, each covering a distinct retrieval need without excessive breadth.
The surface covers core read-only workflows: subreddit posts, individual posts with comments, user posts/comments, Reddit search, tweets, threads, user tweets, Twitter search, and trending news. Minor gaps exist, such as dedicated user-profile or subreddit metadata lookup, but agents can work around them.
Available Tools
10 toolsreddit-get-postGet Reddit PostARead-onlyIdempotentInspect
Get detailed content of a specific Reddit post with comments.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Reddit post ID | |
| subreddit | No | Subreddit name for faster lookup | |
| comment_limit | No | Number of comments to return (default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds that comments are included in the response, which is a small behavioral addition. However, it does not disclose other traits like authentication needs, rate limits, or the structure of 'detailed content'. Given the annotation coverage, this is acceptable but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates purpose and scope without any filler. It is optimally concise while still being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the agent will receive. It only says 'detailed content... with comments', which is vague about the specific fields (e.g., title, author, score, comment structure). The description is minimally sufficient but lacks detail for a tool that returns a complex payload. The presence of annotations reduces the burden, but the return format remains underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (post_id, subreddit, comment_limit) having a clear description. The tool description adds no additional meaning to the parameters; it merely references the resource. The baseline of 3 is appropriate since the schema carries the full parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('a specific Reddit post') and adds a distinguishing scope ('with comments'). This separates it from sibling tools like reddit-get-posts (plural) and reddit-search, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for a single post by ID but does not explicitly state when to use this tool over alternatives. There is no mention of exclusions or when to choose reddit-search or reddit-get-posts. The guidance is only implied through the word 'specific'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit-get-postsGet Subreddit PostsCRead-onlyIdempotentInspect
Get posts from a subreddit.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results to return (default 10) | |
| subreddit | Yes | Subreddit name without r/ prefix | |
| text_only | No | Headline mode: return only {id, title} per post. Drops author, subreddit, date, URL, and the body preview. Use for a cheap first pass to pick posts worth fetching with reddit-get-post. Leave false when you need bodies, authors, or links. | |
| time_filter | No | Time filter for top sort: hour, day, week, month, year, all | week |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds no additional behavioral context—no mention of default sorting, time filtering, text_only mode, or response shape—so it contributes nothing beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. It is easy to parse, but it is so terse that it essentially restates the title, which keeps it from being outstanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with full schema coverage and safety annotations, the description is minimally adequate. It does not explain return shape or how to choose this over reddit-search, but the schema and annotations compensate for most needs, leaving it at the minimum viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; all four parameters have meaningful descriptions, including the detailed text_only note referencing reddit-get-post. The tool description adds no parameter-level meaning, so the baseline of 3 for high coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and resource ('posts from a subreddit'), which separates it from user-specific tools like reddit-get-user-posts and from Twitter tools. However, it does not explicitly distinguish itself from reddit-get-post or reddit-search, so it doesn't fully earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus any alternative. It does not mention reddit-search for queries, reddit-get-post for individual posts, or any exclusions. The only hint appears in the text_only parameter schema, not in the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit-get-user-commentsReddit User CommentsBRead-onlyIdempotentInspect
Get comments submitted by a specific Reddit user.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort: hot, new, top, controversial | new |
| count | No | Number of results to return (default 10) | |
| username | Yes | Reddit username without u/ prefix | |
| time_filter | No | Time filter: hour, day, week, month, year, all | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what annotations already declare (readOnly, idempotent, non-destructive). It simply restates the function without disclosing pagination, return format, or any potential edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point. No wasted words, well-structured for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with a well-documented schema and safety annotations, the description is minimally complete. It could mention sorting or count behavior, but the lack of an output schema and the simplicity of the operation make the one-liner sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 4 parameters with descriptions, so the description does not need to add parameter semantics. It adds no extra detail, but the baseline of 3 applies due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Get') and resource ('comments submitted by a specific Reddit user'), which distinguishes it from sibling tools like reddit-get-user-posts and reddit-get-post. It is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention contexts or exclusions, leaving the agent to infer usage from the purpose statement alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit-get-user-postsReddit User PostsBRead-onlyIdempotentInspect
Get posts submitted by a specific Reddit user.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort: hot, new, top, controversial | new |
| count | No | Number of results to return (default 10) | |
| username | Yes | Reddit username without u/ prefix | |
| text_only | No | Headline mode: return only {id, title} per post. Drops author, subreddit, date, URL, and the body preview. Use for a cheap first pass to pick posts worth fetching with reddit-get-post. Leave false when you need bodies, authors, or links. | |
| time_filter | No | Time filter: hour, day, week, month, year, all | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds no additional behavioral context such as output shape, pagination behavior, or API quirks. It is not contradictory, but it contributes no value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that states the core operation without any fluff. It is front-loaded and appropriately sized for a simple read-only tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with a rich schema and complete annotations, the description is mostly complete. It lacks an explicit note about return format or pagination, but the schema's text_only description and parameter defaults cover the key details an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters clearly. The tool description adds no additional meaning beyond confirming the resource is 'posts submitted by a specific Reddit user.' Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Get'), a clear resource ('posts'), and a clear scope ('submitted by a specific Reddit user'). It is unambiguous, though it does not actively differentiate itself from the sibling reddit-get-posts or reddit-search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool description itself gives no explicit when-to-use instructions or exclusions. However, the text_only parameter description does provide practical guidance, including a recommendation to use reddit-get-post for a full post pass, which partially compensates for the lack of tool-level guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit-searchSearch RedditBRead-onlyIdempotentInspect
Search Reddit for posts matching a query.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order: relevance, hot, top, new, comments | |
| count | No | Number of results to return (default 10) | |
| query | Yes | Search query string | |
| subreddit | No | Limit search to a specific subreddit | |
| text_only | No | Headline mode: return only {id, title} per post. Drops author, subreddit, date, URL, and the body preview. Use for a cheap first pass to pick posts worth fetching with reddit-get-post. Leave false when you need bodies, authors, or links. | |
| time_filter | No | Time filter: hour, day, week, month, year, all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint, idempotentHint, and destructiveHint=false, the description adds no behavioral context beyond the obvious purpose. It does not mention default sorting, result shape, pagination, or rate limits; the only substantive behavioral detail (text_only mode) lives in the schema, not the tool description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the core purpose without wasted words. It is appropriately front-loaded for a search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters and no output schema, the description is terse but the schema fills in parameter semantics. It does not outline the default return structure or search scope, though the text_only parameter implies the full result contains fields like author, subreddit, date, URL, and body preview.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The main description adds no parameter-level meaning, but each parameter already has a clear schema description, including defaults and the detailed text_only behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search Reddit for posts matching a query' names a specific action and resource, clearly indicating a search over posts. It does not explicitly contrast itself with sibling tools like reddit-get-post or reddit-get-user-posts, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The main description gives no direct guidance on when to use this tool versus alternatives. However, the text_only parameter description implies a workflow ('Use for a cheap first pass to pick posts worth fetching with reddit-get-post'), offering implied usage context without explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter-newsTwitter NewsBRead-onlyIdempotentInspect
Get trending news from X/Twitter.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of news items to return (default 10) | |
| category | No | Optional tab filter — one of: for-you, news, sports, entertainment, trending |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, non-destructive, and open-world. The description adds little beyond the purpose; it does not disclose return format, pagination, or behavior around the count parameter. However, since annotations cover the safety profile, the description is minimally adequate but lacks deeper behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately conveys the tool's function. There is no redundant information or filler. It is highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with two optional parameters and no output schema. The description is adequate but does not explain what a returned 'news item' looks like or how the category filter behaves. Given the lack of output schema, a bit more detail about return values would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema documents both parameters (count and category) with full descriptions, achieving 100% coverage. The description does not add any additional meaning beyond what the schema provides, which aligns with the baseline score of 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get trending news from X/Twitter.' It uses a specific verb ('Get'), a resource ('X/Twitter'), and a scope ('trending news'). While this distinguishes it from sibling tools like twitter-search or twitter-read, it does not explicitly name alternatives, so it falls short of a perfect 5 score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as twitter-search or twitter-read. The description simply states what it does, without providing context on preferred use cases or exclusions. This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter-readRead TweetARead-onlyIdempotentInspect
Read a single tweet by URL or ID.
| Name | Required | Description | Default |
|---|---|---|---|
| tweet | Yes | Tweet URL or tweet ID | |
| text_only | No | Return only {id, text}. Rarely worth it for a single tweet; leave false unless you already know the author and URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no further behavioral context such as return format, rate limits, or authentication needs, so it provides minimal added value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with the action and resource front-loaded. Every word earns its place, and there is no unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with only two parameters and full schema coverage, the description is sufficient. The absence of an output schema is not a major gap, though a brief note about return shape could have made it slightly more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description merely repeats that tweet can be a URL or ID, adding no new semantic information beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') with an explicit resource ('a single tweet') and input method ('by URL or ID'). This clearly distinguishes it from siblings like twitter-thread, twitter-user-tweets, and twitter-search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates this tool is for reading a single tweet, implying when it should be used for one-off lookups. However, it does not explicitly mention alternatives or state when not to use it, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter-searchSearch TwitterBRead-onlyIdempotentInspect
Search X/Twitter for tweets matching a query. Returns token-optimized results with engagement metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results to return (default 10, max 100). Up to 20 results costs 1 call credit; each further 20 costs one more. For long pulls prefer count 20 plus cursor. | |
| query | Yes | Search query string | |
| cursor | No | Pagination cursor from a previous response | |
| text_only | No | Return only {id, text} per tweet; quoted tweets keep their text. Drops author, date, URL, and reply/retweet/like counts. Use when you only need tweet contents, e.g. summarising or scanning many results. Leave false when you need to cite authors, link to tweets, filter by date, or rank by engagement. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that results are 'token-optimized' and include 'engagement metrics,' which is useful return-shape context. However, it does not describe rate limits, auth needs, pagination behavior, or what happens with long pulls beyond what the schema already says.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no wasted language. The purpose is front-loaded and immediately identifies the operation and return characteristics. It is appropriately sized for a schema that already carries detailed parameter documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple and the schema thoroughly covers parameters, while annotations cover the safety profile. However, with no output schema, the description only minimally explains return values as 'token-optimized results with engagement metrics' and does not address sibling selection. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 well documented in the schema, including count credits, cursor pagination, and text_only tradeoffs. The description adds no parameter-specific detail beyond naming the query concept. Baseline 3 is appropriate when the schema carries parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Search X/Twitter for tweets matching a query.' This clearly identifies the tool as the tweet-search operation. It does not explicitly distinguish itself from siblings such as twitter-read, twitter-thread, twitter-user-tweets, or twitter-news, so it falls short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention siblings like twitter-read, twitter-thread, twitter-user-tweets, or twitter-news, nor does it state exclusions or selection criteria. The purpose implies searching, but usage is not actively guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter-threadRead ThreadBRead-onlyIdempotentInspect
Read an entire tweet thread/conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| tweet | Yes | Tweet URL or ID of any tweet in the thread | |
| cursor | No | Pagination cursor from a previous response | |
| text_only | No | Return only {id, text} per tweet; quoted tweets keep their text. Drops author, date, URL, and reply/retweet/like counts. Use when you only need tweet contents, e.g. summarising or scanning many results. Leave false when you need to cite authors, link to tweets, filter by date, or rank by engagement. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds scope behavior by stating it reads the entire thread/conversation rather than just the supplied tweet. Read-only, idempotent, and non-destructive hints are already provided by annotations, so the description does not need to restate them. It does not disclose pagination or rate-limit behavior, though the cursor parameter is present in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the verb and resource. It contains no filler and does not duplicate schema or annotation information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only thread tool with full schema descriptions and safety annotations, the description is mostly adequate. However, with no output schema and no mention of paginated or potentially large responses, the agent may not know what response shape or multi-call behavior to expect. The 'entire thread' wording implies scope but not the mechanics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are documented in the schema, including detailed guidance for text_only, so schema coverage is 100%. The description itself adds no parameter-level semantics, but the schema already carries the burden, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb 'Read' and targets a specific resource: an entire tweet thread/conversation, which helps distinguish it from sibling tools that read single tweets or search. It does not explicitly name sibling differentiators, but the scope is evident from 'entire thread'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No text in the description states when to choose this tool over siblings like twitter-read, twitter-user-tweets, or twitter-search. The input schema gives guidance only for the text_only flag, not for tool selection. This leaves the agent to infer usage from name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
twitter-user-tweetsGet User TweetsBRead-onlyIdempotentInspect
Get recent tweets from a specific X/Twitter user.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results to return (default 20, max 100). Up to 20 results costs 1 call credit; each further 20 costs one more. For long pulls prefer count 20 plus cursor. | |
| cursor | No | Pagination cursor from a previous response | |
| handle | Yes | Twitter handle (without @) | |
| text_only | No | Return only {id, text} per tweet; quoted tweets keep their text. Drops author, date, URL, and reply/retweet/like counts. Use when you only need tweet contents, e.g. summarising or scanning many results. Leave false when you need to cite authors, link to tweets, filter by date, or rank by engagement. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the vague scope 'recent' and does not mention cost, pagination, authorization, or return shape; however, with rich annotations this is adequate rather than contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is one front-loaded sentence with no repetition or waste. It is efficient, though extremely terse for a tool operating in a crowded sibling set.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema and annotations carry the parameter and safety details, so the description need not explain those. However, for a tool surrounded by twitter-search, twitter-read, and twitter-thread, the lack of any routing guidance leaves a meaningful completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents handle, count, cursor, and text_only in detail. The description adds no parameter-specific semantics beyond the schema, which matches the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get recent tweets from a specific X/Twitter user.' This clearly identifies a user-timeline retrieval tool, but it does not name or distinguish sibling tools such as twitter-search, twitter-read, or twitter-thread, so it falls 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no exclusions, and no named alternatives. An agent must infer from the phrase 'specific user' that this is for a known handle's timeline rather than keyword search or single-tweet retrieval.
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.
2 tool updates
- Changed
twitter-search1 field changed- changed
Input schema / properties / count / descriptionPrevious value: -"Number of results to return (default 10)"New value: +"Number of results to return (default 10, max 100). Up to 20 results costs 1 call credit; each further 20 costs one more. For long pulls prefer count 20 plus cursor."
- Changed
twitter-user-tweets1 field changed- changed
Input schema / properties / count / descriptionPrevious value: -"Number of tweets to return (default 20)"New value: +"Number of results to return (default 20, max 100). Up to 20 results costs 1 call credit; each further 20 costs one more. For long pulls prefer count 20 plus cursor."
1 tool update
- Changed
reddit-get-posts1 field changed- removed
Input schema / properties / sortRemoved value: -{ - "default": "hot", - "description": "Sort: hot, new, top, rising", - "type": "string" -}
7 tool updates
- Changed
reddit-get-posts1 field changed- changed
Input schema / properties / text_only / descriptionPrevious value: -"If true, return only id and title per post to save tokens."New value: +"Headline mode: return only {id, title} per post. Drops author, subreddit, date, URL, and the body preview. Use for a cheap first pass to pick posts worth fetching with reddit-get-post. Leave false when you need bodies, authors, or links."
- Changed
reddit-get-user-posts1 field changed- changed
Input schema / properties / text_only / descriptionPrevious value: -"If true, return only id and title per post to save tokens."New value: +"Headline mode: return only {id, title} per post. Drops author, subreddit, date, URL, and the body preview. Use for a cheap first pass to pick posts worth fetching with reddit-get-post. Leave false when you need bodies, authors, or links."
- Changed
reddit-search1 field changed- changed
Input schema / properties / text_only / descriptionPrevious value: -"If true, return only id and title per post to save tokens."New value: +"Headline mode: return only {id, title} per post. Drops author, subreddit, date, URL, and the body preview. Use for a cheap first pass to pick posts worth fetching with reddit-get-post. Leave false when you need bodies, authors, or links."
- Changed
twitter-read1 field changed- changed
Input schema / properties / text_only / descriptionPrevious value: -"If true, return only id and text to save tokens."New value: +"Return only {id, text}. Rarely worth it for a single tweet; leave false unless you already know the author and URL."
- Changed
twitter-search1 field changed- changed
Input schema / properties / text_only / descriptionPrevious value: -"If true, return only id and text per tweet to save tokens."New value: +"Return only {id, text} per tweet; quoted tweets keep their text. Drops author, date, URL, and reply/retweet/like counts. Use when you only need tweet contents, e.g. summarising or scanning many results. Leave false when you need to cite authors, link to tweets, filter by date, or rank by engagement."
- Changed
twitter-thread1 field changed- changed
Input schema / properties / text_only / descriptionPrevious value: -"If true, return only id and text per tweet to save tokens."New value: +"Return only {id, text} per tweet; quoted tweets keep their text. Drops author, date, URL, and reply/retweet/like counts. Use when you only need tweet contents, e.g. summarising or scanning many results. Leave false when you need to cite authors, link to tweets, filter by date, or rank by engagement."
- Changed
twitter-user-tweets1 field changed- changed
Input schema / properties / text_only / descriptionPrevious value: -"If true, return only id and text per tweet to save tokens."New value: +"Return only {id, text} per tweet; quoted tweets keep their text. Drops author, date, URL, and reply/retweet/like counts. Use when you only need tweet contents, e.g. summarising or scanning many results. Leave false when you need to cite authors, link to tweets, filter by date, or rank by engagement."
1 tool update
- Changed
reddit-get-post1 field changed- removed
Input schema / properties / text_onlyRemoved value: -{ - "default": false, - "description": "If true, return only id and title per post to save tokens.", - "type": "boolean" -}
2 tool updates
- Removed
reddit-get-subreddit-info - Removed
reddit-get-user-info
12 tool updates
- First observed
reddit-get-post - First observed
reddit-get-posts - First observed
reddit-get-subreddit-info - First observed
reddit-get-user-comments - First observed
reddit-get-user-info - First observed
reddit-get-user-posts - First observed
reddit-search - First observed
twitter-news - First observed
twitter-read - First observed
twitter-search - First observed
twitter-thread - First observed
twitter-user-tweets
Related MCP Connectors
Live Reddit and X (Twitter) data: search, threads, users, subreddits, leads and mentions.
8 social listening tools over one MCP endpoint: Reddit, X, Threads, YouTube, Google Trends, news.
Search and read public data from X/Twitter, Reddit, YouTube, Instagram, TikTok, Facebook, Threads, Bluesky, Trustpilot, Amazon, Google Maps, news, forums and the web. 90+ read-only tools plus ready-made research playbooks (lead finding, brand monitoring, review mining). Hosted: connect with an API key; 50 free requests per endpoint each month.
Paid MCP tools for onchain alpha research, X content analysis, and KOL distillation.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceRead-only X/Twitter research MCP server allowing AI assistants to search viral content, analyze accounts, track trends, and discover niche leaders without requiring the official X API.50MIT
- AlicenseAqualityAmaintenanceReal-time X (Twitter) data platform with 2 MCP tools covering 120+ REST API endpoints. Search tweets, look up users, get timelines, extract followers/likes/retweets in bulk, monitor accounts, run giveaway draws, and perform write actions (tweet, like, retweet, follow, DM). OAuth 2.1 authentication with PKCE.2484 npm225MIT
- AlicenseBqualityDmaintenanceRead-only X/Twitter research MCP server using xAI's Responses API. Supports OAuth login for X Premium users and falls back to API key authentication.5MIT
- FlicenseAqualityCmaintenanceMCP server providing X/Twitter and Reddit search tools for AI agents, returning raw social media data with cleaning and re-ranking, including full Reddit comment tree reading for cost-effective synthesis.42-
Glama MCP Gateway
Add one secure layer between your agents and this server.