x-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| X_HEADLESS | No | Set to 'false' to run the browser visibly (e.g., for interactive login). Default is 'true'. | |
| X_LOG_LEVEL | No | Logging level (e.g., 'DEBUG', 'INFO'). Default is 'INFO'. | |
| X_AUTH_TOKEN | Yes | The `auth_token` cookie from x.com. Required for authentication. | |
| X_CSRF_TOKEN | No | The `ct0` cookie from x.com. Optional but recommended. | |
| X_USER_DATA_DIR | No | Path to a directory to persist browser session data. Used for interactive login. | |
| X_NAV_TIMEOUT_MS | No | Navigation timeout in milliseconds. Default is 30000. | |
| X_BROWSER_CHANNEL | No | Browser channel to use (e.g., 'chromium', 'chrome'). Default is 'chromium'. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_profileB | Fetch a user's public profile on X. |
| get_user_tweetsB | Fetch a user's most recent posts from their profile timeline. |
| get_tweetA | Fetch a single post by its URL or numeric status id. |
| search_tweetsB | Search X for posts matching a query. |
| loginA | Open a visible browser and wait for you to sign in to X interactively. Run the server with |
| login_with_credentialsA | Attempt an automated DOM login using X_USERNAME / X_PASSWORD (fragile). This types the configured credentials into the login form. It does NOT handle
2FA, email confirmation, or the anti-bot challenges X frequently injects, so
it only works for simple accounts. Prefer Returns: ActionResult describing whether the session ended up authenticated. |
| post_tweetB | Publish a new post (tweet) from the authenticated account. |
| reply_to_tweetB | Reply to an existing post. |
| like_tweetA | Like a post by URL or status id (no-op if already liked). |
| follow_userA | Follow a user from their profile page. |
| check_authA | Report whether the browser session is logged in to X. Returns a dict with 'authenticated' (bool) and 'has_session_cookies' (whether X_AUTH_TOKEN was supplied). Use this to diagnose empty results. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/afikrim/x-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server