XMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| X_MCP_GROUPS | No | Comma-separated list of tool groups for custom profile (e.g., 'research,engage,publish'). | research |
| X_MCP_PROFILE | No | Permission profile to use (researcher, creator, manager, automation, custom). | researcher |
| TWITTER_API_KEY | Yes | Twitter/X API Key from developer.twitter.com | |
| TWITTER_API_SECRET | Yes | Twitter/X API Secret from developer.twitter.com | |
| X_MCP_ENABLED_TOOLS | No | Comma-separated list of specific tools to force-enable. | |
| TWITTER_ACCESS_TOKEN | Yes | Twitter/X Access Token from developer.twitter.com | |
| TWITTER_BEARER_TOKEN | Yes | Twitter/X Bearer Token from developer.twitter.com | |
| X_MCP_DISABLED_TOOLS | No | Comma-separated list of specific tools to disable. | |
| TWITTER_ACCESS_TOKEN_SECRET | Yes | Twitter/X Access Token Secret from developer.twitter.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_user_profileB | Get detailed profile information for a user |
| get_user_by_screen_nameB | Fetches a user by screen name |
| get_user_by_idB | Fetches a user by ID |
| get_user_followersB | Retrieves a list of followers for a given user |
| get_user_followingC | Retrieves users the given user is following |
| get_user_followers_you_knowC | Retrieves common followers between you and a user |
| get_user_subscriptionsD | Retrieves users a user is subscribed to |
| get_tweet_detailsB | Get detailed information about a specific tweet |
| get_user_tweetsC | Get tweets posted by a specific user |
| get_liked_tweetsC | Get tweets liked by a specific user |
| get_timelineC | Get tweets from your home timeline (For You) |
| get_latest_timelineB | Get tweets from your home timeline (Following) |
| get_user_mentionsB | Get tweets mentioning a specific user |
| get_highlights_tweetsC | Retrieves highlighted tweets from a user's timeline |
| search_twitterC | Search Twitter with a query, includes engagement metrics and author info |
| search_articlesC | Search for tweets that contain X articles on a topic |
| get_trendsC | Retrieves trending topics on Twitter |
| get_articleB | Fetch full content of an X/Twitter article from a tweet or article URL |
| favorite_tweetC | Like a tweet |
| unfavorite_tweetB | Unlike a tweet |
| bookmark_tweetB | Add a tweet to bookmarks |
| delete_bookmarkC | Remove a tweet from bookmarks |
| get_bookmarksC | Get your bookmarked tweets |
| delete_all_bookmarksB | Delete all bookmarks |
| retweetC | Retweet a tweet |
| unretweetB | Remove a retweet |
| get_retweetsC | Get users who retweeted a tweet |
| post_tweetB | Post a tweet with optional media, reply, and tags |
| delete_tweetB | Delete a tweet by its ID |
| quote_tweetC | Quote tweet with your comment |
| create_threadC | Post a thread of multiple tweets |
| create_poll_tweetC | Create a tweet with a poll |
| vote_on_pollC | Vote on a poll (not supported by API) |
| follow_userC | Follow a user |
| unfollow_userC | Unfollow a user |
| block_userC | Block a user |
| unblock_userD | Unblock a user |
| get_blocked_usersC | Get list of blocked users |
| mute_userD | Mute a user |
| unmute_userB | Unmute a user |
| get_muted_usersC | Get list of muted users |
| get_conversationB | Get full conversation/thread for a tweet |
| get_repliesB | Get replies to a specific tweet |
| get_quote_tweetsC | Get tweets that quote a specific tweet |
| hide_replyC | Hide a reply to your tweet |
| unhide_replyB | Unhide a previously hidden reply |
| create_listC | Create a new list |
| delete_listD | Delete a list |
| update_listB | Update a list's name, description, or privacy |
| get_listB | Get details about a specific list |
| get_user_listsC | Get lists owned by a user |
| get_list_tweetsC | Get tweets from a list's timeline |
| get_list_membersC | Get members of a list |
| add_list_memberC | Add a user to a list |
| remove_list_memberC | Remove a user from a list |
| follow_listC | Follow a list |
| unfollow_listC | Unfollow a list |
| pin_listC | Pin a list to your profile |
| unpin_listB | Unpin a list from your profile |
| send_dmC | Send a direct message to a user |
| get_dm_conversationsC | Get your DM conversations |
| get_dm_eventsC | Get messages in a DM conversation |
| get_meB | Get your own user profile |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 63 tools
Most tools have distinct purposes with clear boundaries, such as 'get_timeline' vs 'get_latest_timeline' for different feed types. However, some overlap exists, like 'get_user_by_id' and 'get_user_by_screen_name' both fetching user data, which could cause minor confusion. Overall, descriptions help clarify differences, but a few pairs might require careful selection.
Tool names follow a highly consistent verb_noun pattern throughout, such as 'create_list', 'delete_tweet', and 'get_user_followers'. All tools use snake_case uniformly, with no mixing of conventions. This predictability makes it easy for agents to understand and navigate the toolset.
With 63 tools, the count is excessive for the X/Twitter domain, leading to a bloated and potentially overwhelming interface. While the domain is broad, many tools could be consolidated or omitted without losing functionality. This high number increases complexity and may hinder agent efficiency.
The toolset provides comprehensive coverage of the X/Twitter domain, including full CRUD operations for tweets, lists, and user interactions, as well as advanced features like polls, threads, and direct messages. No significant gaps are apparent; agents can handle most workflows without dead ends.