# Twitter MCP 服务器 **GitHub**: [6551team/opentwitter-mcp](https://github.com/6551team/opentwitter-mcp) | **Gitea**: [mc-skills/6551team--opentwitter-mcp](http://192.168.0.109:3000/mc-skills/6551team--opentwitter-mcp) ## 中文摘要 为 AI 助手提供 Twitter/X 数据访问能力,支持用户资料查询、推文搜索、关键词/话题标签检索、互动数据过滤、粉丝关注/取关事件追踪及 KOL 监控,可通过自然语言指令操作。 ## 标签 `Twitter` `MCP` `社交媒体` `AI工具` `数据查询` --- ## README 原文

Twitter MCP Server
Twitter/X Data · User Profiles · Tweet Search · Follower Events · KOL Tracking

中文 | 日本語 | 한국어

--- ## Quick Install > **First, go to [https://6551.io/mcp](https://6551.io/mcp) to get your API Token.** ### Claude Code ```bash claude mcp add twitter \ -e TWITTER_TOKEN= \ -- uv --directory /path/to/twitter-mcp run twitter-mcp ``` > Replace `/path/to/twitter-mcp` with your local project path, and `` with your Token. ### OpenClaw ```bash export TWITTER_TOKEN="" cp -r openclaw-skill/opentwitter ~/.openclaw/skills/ ``` --- ## Let AI Review & Install For You Not sure if this MCP is safe? Paste the prompt below to your AI assistant — it will review the source code first, then install if safe: > **Copy this prompt and send it to your AI assistant (replace `` and `` with actual values):** ```text Please review and install the twitter-mcp MCP server for me. The project is at . Steps: 1. Review these files for security: - src/twitter_mcp/api_client.py — Confirm it only connects to ai.6551.io, no data sent elsewhere - src/twitter_mcp/config.py — Confirm token is only read from local config.json or env vars, no hardcoded secrets or leaks - src/twitter_mcp/tools.py — Confirm all tools only perform API queries, no file writes, command execution, or dangerous operations - pyproject.toml — Confirm dependencies are only mcp, httpx, no suspicious packages 2. Tell me your conclusion: safe / risky / problematic, with specific reasons 3. If safe, run the install (get Token from https://6551.io/mcp): claude mcp add twitter -e TWITTER_TOKEN= -- uv --directory run twitter-mcp ``` --- ## What Can It Do? Once connected, just ask your AI assistant: | You say | It does | |---------|---------| | "Show @elonmusk's Twitter profile" | Get user profile info | | "What did @VitalikButerin tweet recently" | Get user's recent tweets | | "Search Bitcoin related tweets" | Keyword search | | "Find tweets with #crypto hashtag" | Hashtag search | | "Popular tweets about ETH with 1000+ likes" | Search with engagement filters | | "Who quoted this tweet" | Get quote tweets for a tweet | | "Who retweeted this tweet" | Get users who retweeted a tweet | | "Who followed @elonmusk recently" | Get new follower events | | "Who unfollowed @elonmusk" | Get unfollower events | | "What tweets did @elonmusk delete" | Get deleted tweets | | "Which KOLs follow @elonmusk" | Get KOL followers | --- ## Available Tools | Tool | Description | |------|-------------| | `get_twitter_user` | Get user profile by username | | `get_twitter_user_by_id` | Get user profile by numeric ID | | `get_twitter_user_tweets` | Get recent tweets from a user | | `search_twitter` | Search tweets with basic filters | | `search_twitter_advanced` | Advanced search with multiple filters | | `get_twitter_follower_events` | Get follower/unfollower events | | `get_twitter_deleted_tweets` | Get deleted tweets from a user | | `get_twitter_kol_followers` | Get KOL (Key Opinion Leader) followers | | `get_twitter_article_by_id` | Get Twitter article by ID | | `get_twitter_tweet_by_id` | Get tweet by ID with nested reply/quote tweets | | `get_twitter_quote_tweets_by_id` | Get tweets that quote a specific tweet | | `get_twitter_retweet_users_by_id` | Get users who retweeted a specific tweet | | `get_twitter_watch` | Get all Twitter monitoring users | | `add_twitter_watch` | Add a Twitter user to monitoring list | | `delete_twitter_watch` | Delete a Twitter user from monitoring list by username | --- ## Configuration ### Get API Token Go to [https://6551.io/mcp](https://6551.io/mcp) to get your API Token. Set the environment variable: ```bash # macOS / Linux export TWITTER_TOKEN="" # Windows PowerShell $env:TWITTER_TOKEN = "" ``` | Variable | Required | Description | |----------|----------|-------------| | `TWITTER_TOKEN` | **Yes** | 6551 API Bearer Token (get from https://6551.io/mcp) | | `TWITTER_API_BASE` | No | Override REST API URL | | `TWITTER_MAX_ROWS` | No | Max results per query (default: 100) | Also supports `config.json` in the project root (env vars take precedence): ```json { "api_base_url": "https://ai.6551.io", "api_token": "", "max_rows": 100 } ``` --- ## WebSocket Real-time Subscriptions **Endpoint**: `wss://ai.6551.io/open/twitter_wss?token=YOUR_TOKEN` Subscribe to real-time events from your monitored Twitter accounts. ### Subscribe to Twitter Events ```json { "jsonrpc": "2.0", "id": 1, "method": "twitter.subscribe" } ``` **Response**: ```json { "jsonrpc": "2.0", "id": 1, "result": { "success": true } } ``` ### Unsubscribe ```json { "jsonrpc": "2.0", "id": 2, "method": "twitter.unsubscribe" } ``` ### Server Push - Twitter Event When a monitored account has activity, the server pushes: ```json { "jsonrpc": "2.0", "method": "twitter.event", "params": { "id": 123456, "twAccount": "elonmusk", "twUserName": "Elon Musk", "profileUrl": "https://twitter.com/elonmusk", "eventType": "NEW_TWEET", "content": "...", "ca": "0x1234...", "remark": "Custom note", "createdAt": "2026-03-06T10:00:00Z" } } ``` **Note**: The `content` field structure varies by event type (see below). ``` **Event Types and Content Structure**: #### Tweet Events - `NEW_TWEET` - New tweet posted - `NEW_TWEET_REPLY` - New reply tweet - `NEW_TWEET_QUOTE` - New quote tweet - `NEW_RETWEET` - Retweeted - `CA` - Tweet with CA address Content structure for tweet events: ```json { "id": "1234567890", "text": "Tweet content...", "createdAt": "2026-03-06T10:00:00Z", "language": "en", "retweetCount": 100, "favoriteCount": 500, "replyCount": 20, "quoteCount": 10, "viewCount": 10000, "userScreenName": "elonmusk", "userName": "Elon Musk", "userIdStr": "44196397", "userFollowers": 170000000, "userVerified": true, "conversationId": "1234567890", "isReply": false, "isQuote": false, "hashtags": ["crypto", "bitcoin"], "media": [ { "type": "photo", "url": "https://...", "thumbUrl": "https://..." } ], "urls": [ { "url": "https://...", "expandedUrl": "https://...", "displayUrl": "example.com" } ], "mentions": [ { "username": "VitalikButerin", "name": "Vitalik Buterin" } ] } ``` #### Follower Events - `NEW_FOLLOWER` - New follower - `NEW_UNFOLLOWER` - Unfollower event Content structure for follower events (array): ```json [ { "id": 123, "twId": 44196397, "twAccount": "elonmusk", "twUserName": "Elon Musk", "twUserLabel": "Verified", "description": "User bio...", "profileUrl": "https://...", "bannerUrl": "https://...", "followerCount": 170000000, "friendCount": 500, "createdAt": "2026-03-06T10:00:00Z" } ] ``` #### Profile Update Events - `UPDATE_NAME` - Username changed (content: new name string) - `UPDATE_DESCRIPTION` - Bio updated (content: new description string) - `UPDATE_AVATAR` - Profile picture changed (content: new avatar URL string) - `UPDATE_BANNER` - Banner image changed (content: new banner URL string) #### Other Events - `TWEET_TOPPING` - Tweet pinned - `DELETE` - Tweet deleted - `SYSTEM` - System event - `TRANSLATE` - Tweet translation - `CA_CREATE` - CA token created --- ## Data Structures ### Twitter User ```json { "userId": "44196397", "screenName": "elonmusk", "name": "Elon Musk", "description": "...", "followersCount": 170000000, "friendsCount": 500, "statusesCount": 30000, "verified": true } ``` ### Tweet ```json { "id": "1234567890", "text": "Tweet content...", "createdAt": "2024-02-20T12:00:00Z", "retweetCount": 1000, "favoriteCount": 5000, "replyCount": 200, "userScreenName": "elonmusk", "hashtags": ["crypto", "bitcoin"], "urls": [{"url": "https://..."}] } ``` ---
Other Clients — Manual Install (click to expand) > In all configs below, replace `/path/to/twitter-mcp` with your actual local project path, and `` with your Token from [https://6551.io/mcp](https://6551.io/mcp). ### Claude Desktop Edit config (macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`, Windows: `%APPDATA%\Claude\claude_desktop_config.json`): ```json { "mcpServers": { "twitter": { "command": "uv", "args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"], "env": { "TWITTER_TOKEN": "" } } } } ``` ### Cursor `~/.cursor/mcp.json` or Settings > MCP Servers: ```json { "mcpServers": { "twitter": { "command": "uv", "args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"], "env": { "TWITTER_TOKEN": "" } } } } ``` ### Windsurf `~/.codeium/windsurf/mcp_config.json`: ```json { "mcpServers": { "twitter": { "command": "uv", "args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"], "env": { "TWITTER_TOKEN": "" } } } } ``` ### Cline VS Code sidebar > Cline > MCP Servers > Configure, edit `cline_mcp_settings.json`: ```json { "mcpServers": { "twitter": { "command": "uv", "args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"], "env": { "TWITTER_TOKEN": "" }, "disabled": false, "autoApprove": [] } } } ``` ### Continue.dev `~/.continue/config.yaml`: ```yaml mcpServers: - name: twitter command: uv args: - --directory - /path/to/twitter-mcp - run - twitter-mcp env: TWITTER_TOKEN: ``` ### Cherry Studio Settings > MCP Servers > Add > Type stdio: Command `uv`, Args `--directory /path/to/twitter-mcp run twitter-mcp`, Env `TWITTER_TOKEN`. ### Zed Editor `~/.config/zed/settings.json`: ```json { "context_servers": { "twitter": { "command": { "path": "uv", "args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"], "env": { "TWITTER_TOKEN": "" } } } } } ``` ### Any stdio MCP client ```bash TWITTER_TOKEN= \ uv --directory /path/to/twitter-mcp run twitter-mcp ```
--- ## Compatibility | Client | Install Method | Status | |--------|---------------|--------| | **Claude Code** | `claude mcp add` | One-liner | | **OpenClaw** | Copy skill directory | One-liner | | Claude Desktop | JSON config | Supported | | Cursor | JSON config | Supported | | Windsurf | JSON config | Supported | | Cline | JSON config | Supported | | Continue.dev | YAML / JSON | Supported | | Cherry Studio | GUI | Supported | | Zed | JSON config | Supported | --- ## Development ```bash cd /path/to/twitter-mcp uv sync uv run twitter-mcp ``` ```bash # MCP Inspector npx @modelcontextprotocol/inspector uv --directory /path/to/twitter-mcp run twitter-mcp ``` ### Project Structure ``` ├── README.md ├── docs/ │ ├── README_JA.md # 日本語 │ └── README_KO.md # 한국어 ├── openclaw-skill/opentwitter/ # OpenClaw Skill ├── pyproject.toml ├── config.json └── src/twitter_mcp/ ├── server.py # Entry point ├── app.py # FastMCP instance ├── config.py # Config loader ├── api_client.py # HTTP client └── tools.py # 8 tools ``` ## License MIT