It would have been easy to leave those unlabelled and let a caller assume the data was real — a simulated 'followers you know' returns something plausible either way. Marking them means an agent has a chance of not building on fiction, and it tells you something good about the rest of the surface. The other labelling worth having is delete_all_bookmarks announcing itself as destructive and irreversible before saying what it does. Set expectations correctly: this is a mixed surface where most tools hit the real API, several do not, and the API tier decides which of the real ones work at all.
A broad X client covering user lookup and social graph, tweet reading and posting, engagement, bookmarks, timelines, search and trends.
- Users by screen name, by id, or as a full profile, with followers and following lists.
- Tweets posted with optional media, reply and tags; deleted; read in detail; and created as polls.
- Engagement covered both directions — favourite and unfavourite, bookmark and remove.
- Two timelines kept distinct: the algorithmic For You and the chronological Following.
- search_twitter for queries, get_trends for trending topics, and get_user_mentions for tweets mentioning a user.
- delete_all_bookmarks opens its own description with DESTRUCTIVE AND IRREVERSIBLE and states it deletes them one by one.
- Four tools mark themselves as not real: get_user_followers_you_know and get_highlights_tweets are labelled simulated, vote_on_poll is labelled mocked, and get_user_subscriptions notes it uses a substitute.
- get_bookmarks states it requires Basic API access, so the tier is named rather than discovered.
X API credentials, with UV_PYTHON since it launches through uv. Some tools require a specific API access tier, which they name in their own descriptions.
One command plus a key — pip install x-twitter-mcp, then supply credentials
