MCP server for Twitter/X marketing — search tweets, post, reply, and engage via AI agents
Twitter MCP has 14 well-named tools with consistent verb_noun patterns (search_tweets, post_tweet, get_user). All tools have descriptions (avg 85 chars, within baseline 34 - 392). Input schemas are present and use Zod validation with type constraints (e.g., maxLength:280 for tweets, min/max for result counts). However, parameter descriptions are sparse, most lack actionable guidance on format, constraints, or dependencies. Output schemas are not documented; responses are stringified text rather than structured objects. Error handling is absent from visible code. No tool annotations (readOnlyHint, destructiveHint) despite clear risk stratification (READ_ONLY, WRITE, DESTRUCTIVE). Composition is sound: tools chain naturally (search → get_tweet → reply_tweet). Naming is clear and unambiguous.
Delete a tweet by ID
Follow a user by username
Get info about the authenticated Twitter/X account
Get recent mentions of the authenticated account
Get details of a specific tweet by ID (author, metrics, text)
Look up a Twitter user profile by username
Get recent tweets from a specific user by username
Output schemas not documented. All tools return stringified text responses instead of structured JSON objects. LLMs cannot parse fields or chain results without manual parsing.
Parameter descriptions lack actionable constraints. E.g., 'query' in search_tweets mentions operators but does not specify format, length limits, or invalid patterns. 'username' parameters lack guidance on @ prefix handling.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification. Agents cannot infer which tools are safe to retry or have side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Like a tweet by ID
Post a new tweet (max 280 chars)
Quote tweet — add your commentary on top of another tweet
Reply to a specific tweet by its ID
Retweet a tweet by ID
Search recent tweets. Supports operators: "exact phrase", from:user, -exclude, has:links, is:reply, lang:en. Requires Basic tier.
Update Twitter profile — name, bio/description, url, location (v1.1 API)
No error handling or recovery guidance in visible code. Agents receive stringified errors with no actionable next steps (e.g., 'User not found' should suggest search_users).
Pagination support incomplete. search_tweets accepts next_token but other list-like tools (get_mentions, get_user_tweets) lack pagination parameters. No total_count or result limits documented.