twscrape-twitter-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port (Railway injects this). | 8080 |
| TWSCRAPE_TWITTER_MCP_DB | No | Override the pool path directly. | |
| TWSCRAPE_TWITTER_MCP_HOME | No | Where the sqlite account pool lives. Point at a volume in prod. | ~/.config/twscrape-twitter-mcp |
| TWSCRAPE_TWITTER_MCP_PROXY | No | Global proxy for every account. | |
| TWSCRAPE_TWITTER_MCP_CDP_URL | No | Browser DevTools endpoint for login --attach. | http://127.0.0.1:9222 |
| TWSCRAPE_TWITTER_MCP_AUTH_TOKEN | No | Required bearer token for HTTP transport. | |
| TWSCRAPE_TWITTER_MCP_DEFAULT_LIMIT | No | Default result count. | 40 |
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
} |
| 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 |
|---|---|
| auth_statusA | Check whether this server has an active X session, without exposing cookies. |
| read_tweetA | Read a single X post by URL or numeric id. Returns clean markdown. |
| user_profileA | Read an X user's profile by handle. Returns clean markdown. Pass the handle with or without a leading @. |
| read_threadA | Read a full X thread as markdown: the root post, the author's self-thread, and top replies. Pass any tweet in the thread. |
| read_repliesA | Read the replies to an X post as markdown. |
| read_quotesA | Read quote-tweets of an X post (best-effort, via search:quoted_tweet_id). Coverage is partial, X does not expose a complete quotes endpoint. |
| user_timelineA | Read a user's recent posts as markdown, newest first. Pass the handle with or without a leading @. Set include_replies=True to include the user's replies alongside their standalone posts. |
| searchA | Search X and return matching posts as markdown. product: "Latest" | "Top" | "Media". Supports X operators, e.g. from:user, to:user, has:media, -is:retweet, min_faves:100, since:2026-01-01. |
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 8 tools
Each tool targets a distinct aspect of X data: auth status, individual tweets, user profiles, threads, replies, quotes, timelines, and search. Even though read_thread and read_replies both involve replies, their scopes are clearly differentiated.
The naming is mostly consistent with snake_case and a read_* prefix for the data access tools, but auth_status, user_profile, user_timeline, and search follow a different pattern. This minor inconsistency does not hinder usability.
Eight tools provide a well-scoped coverage for a read-only Twitter client. Each tool serves a clear purpose and the count is within the ideal range for a focused server.
The tool set covers the core read workflows: tweets, profiles, threads, replies, quotes, timelines, and search. Minor gaps exist, such as no ability to fetch a user's followers/following or to paginate through large result sets, but these are reasonable for the stated purpose.