x-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| X_CLIENT_ID | Yes | Your OAuth 2.0 Client ID from X Developer Portal | |
| X_TOKENS_PATH | No | Path to store OAuth tokens (default: .tokens.json in project directory) | |
| X_REDIRECT_URI | Yes | Redirect URI for OAuth callback (e.g., http://localhost:3000/callback) | http://localhost:3000/callback |
| X_CLIENT_SECRET | Yes | Your OAuth 2.0 Client Secret from X Developer Portal |
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 |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| x_get_user_profileA | Fetch an X user profile by username. Returns bio, follower/following counts, post count, and account creation date. |
| x_get_my_profileA | Get the authenticated user's X profile including bio, metrics, and account info. |
| x_get_followersA | Get a list of users who follow a specified account. Returns usernames, bios, and follower counts. |
| x_get_followingA | Get a list of users that a specified account follows. Returns usernames, bios, and follower counts. |
| x_get_user_postsA | Fetch recent posts from a user's timeline by username. Excludes retweets and replies. |
| x_get_my_timelineA | Get the authenticated user's home timeline (reverse chronological). Includes posts from accounts you follow. |
| x_search_postsA | Search for recent posts (last 7 days) matching a query. Supports keywords, hashtags, and X search operators. |
| x_get_my_bookmarksA | Fetch posts bookmarked by the authenticated user. Returns post text, engagement metrics, and timestamps. |
| x_add_bookmarkA | Add a post to the authenticated user's bookmarks by its ID. |
| x_remove_bookmarkA | Remove a post from the authenticated user's bookmarks by its ID. |
| x_get_my_likesA | Fetch posts liked by the authenticated user. Returns post text, engagement metrics, and timestamps. |
| x_like_postA | Like a post by its ID on behalf of the authenticated user. |
| x_unlike_postA | Remove a like from a post by its ID on behalf of the authenticated user. |
| x_get_my_listsA | Get lists owned by the authenticated user. Returns list name, description, member/follower counts, and privacy. |
| x_get_listA | Get details of a specific list by its ID. Returns name, description, member/follower counts, and privacy. |
| x_get_list_postsA | Get recent posts from a specific list by its ID. |
| x_get_list_membersB | Get members of a specific list by its ID. |
| x_create_listA | Create a new X list with a name, optional description, and privacy setting. |
| x_update_listA | Update an existing list's name, description, or privacy. Provide at least one field to change. |
| x_delete_listA | Permanently delete a list by its ID. This cannot be undone. |
| x_add_list_memberB | Add a user to a list by their username and the list ID. |
| x_remove_list_memberA | Remove a user from a list by their username and the list ID. |
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 22 tools
Every tool targets a distinct resource and action. For example, x_get_user_profile vs x_get_my_profile clearly separate public vs authenticated profiles, and x_get_user_posts vs x_get_my_timeline distinguish a user's own posts from the home feed. No two tools have overlapping or ambiguous purposes.
All tools follow a consistent x_ prefix with an action_noun pattern. Actions (get, search, add, remove, like, unlike, create, update, delete) are used uniformly, and the resource nouns are clear. The consistent style makes it easy to predict tool names.
With 22 tools, the set falls into the 16-25 range, which feels heavy. While each tool serves a distinct purpose and covers many X features, the count is above the typical well-scoped 3-15 range, making it borderline. The abundance of list-related tools (7) contributes to the heaviness.
The server covers read operations, bookmarks, likes, and full list management, but it lacks core X actions like creating posts, replying, retweeting, and following/unfollowing users. This is a significant gap that would prevent agents from performing fundamental social media interactions, limiting the server's usefulness.