About Opentwitter MCP
Opentwitter MCP is an MCP server published by 6551Team in the Developer Tools category: twitter/X Data · User Profiles · Tweet Search · Follower Events · KOL Tracking.
The repository has 1.4K stars and 102 forks, with the last commit 26 days ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/6551Team/opentwitter-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (15)
add_twitter_watchAdd a Twitter user to monitoring list (with event type options and `remark`)
Parameters not published.
delete_twitter_watchDelete a Twitter user from monitoring list
Parameters not published.
get_twitter_article_by_idGet Twitter article by ID
Parameters not published.
get_twitter_deleted_tweetsGet deleted tweets from a user
Parameters not published.
get_twitter_follower_eventsGet follower/unfollower events
Parameters not published.
get_twitter_kol_followersGet KOL (Key Opinion Leader) followers
Parameters not published.
get_twitter_quote_tweets_by_idGet tweets that quote a specific tweet
Parameters not published.
get_twitter_retweet_users_by_idGet users who retweeted a specific tweet
Parameters not published.
get_twitter_tweet_by_idGet tweet by ID with nested reply/quote tweets
Parameters not published.
get_twitter_userGet user profile by username
Parameters not published.
Show all 15 tools
get_twitter_user_by_idGet user profile by numeric ID
Parameters not published.
get_twitter_user_tweetsGet recent tweets from a user
Parameters not published.
get_twitter_watchGet all Twitter monitoring users
Parameters not published.
search_twitterSearch tweets with `query` and basic filters
Parameters not published.
search_twitter_advancedAdvanced search with multiple filters
Parameters not published.
Ask AI
Ask AI about Opentwitter MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 10 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
Quick Install
First, go to http://app.newsliquid.com/mcp to get your API Token.
Claude Code
claude mcp add twitter \
-e OPENNEWS_TOKEN=<your-token> \
-- uv --directory /path/to/twitter-mcp run twitter-mcp
Replace
/path/to/twitter-mcpwith your local project path, and<your-token>with your Token.
OpenClaw
export OPENNEWS_TOKEN="<your-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
<project-path>and<your-token>with actual values):
Please review and install the twitter-mcp MCP server for me. The project is at <project-path>.
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 http://app.newsliquid.com/mcp):
claude mcp add twitter -e OPENNEWS_TOKEN=<your-token> -- uv --directory <project-path> 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 |
| "Monitor @elonmusk with follower tracking and a custom note" | Add user to watch list with options |
| "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 |
| "Show the thesis and callout evidence for this meme token" | Get token evidence from fomo/pump feeds |
| "Show the later statements and buys/sells for this token" | Get meme activity and trade evidence |
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 query and 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_meme_token_evidence |
Get thesis and callout evidence for a meme token |
get_meme_activity |
Get meme token statements and buy/sell evidence |
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 (with event type options, remark, and optional group_name) |
delete_twitter_watch |
Delete a Twitter user from monitoring list |
Configuration
Get API Token
Go to http://app.newsliquid.com/mcp to get your API Token.
Set the environment variable:
# macOS / Linux
export OPENNEWS_TOKEN="<your-token>"
# Windows PowerShell
$env:OPENNEWS_TOKEN = "<your-token>"
| Variable | Required | Description |
|---|---|---|
OPENNEWS_TOKEN |
Yes | 6551 API Bearer Token (get from http://app.newsliquid.com/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):
{
"api_base_url": "https://ai.6551.io",
"api_token": "<your-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.
Heartbeat
To keep the connection alive, the client can send ping, and the server responds with pong.
Subscribe to Twitter Events
{
"jsonrpc": "2.0",
"id": 1,
"method": "twitter.subscribe"
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}
Unsubscribe
{
"jsonrpc": "2.0",
"id": 2,
"method": "twitter.unsubscribe"
}
Server Push - Twitter Event
When a monitored account has activity, the server pushes:
{
"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- This account followed a userNEW_UNFOLLOWER- This account unfollowed a user
Content structure for follower events (array):
[
{
"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 pinnedDELETE- Tweet deletedSYSTEM- System eventTRANSLATE- Tweet translationCA_CREATE- CA token created
Data Structures
Twitter User
{
"userId": "44196397",
"screenName": "elonmusk",
"name": "Elon Musk",
"description": "...",
"followersCount": 170000000,
"friendsCount": 500,
"statusesCount": 30000,
"verified": true
}
Tweet
{
"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://..."}]
}
Meme Feed Item
Meme evidence tools return fomo/pump feed data, including platform, kind,
author, text, createdAt, and (for trades) a trade object. Use
get_meme_token_evidence for the initial thesis/callout view and
get_meme_activity for later statements and buy/sell evidence.
In all configs below, replace
/path/to/twitter-mcpwith your actual local project path, and<your-token>with your Token from http://app.newsliquid.com/mcp.
Claude Desktop
Edit config (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"twitter": {
"command": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
}
}
}
}
Cursor
~/.cursor/mcp.json or Settings > MCP Servers:
{
"mcpServers": {
"twitter": {
"command": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
}
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"twitter": {
"command": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
}
}
}
}
Cline
VS Code sidebar > Cline > MCP Servers > Configure, edit cline_mcp_settings.json:
{
"mcpServers": {
"twitter": {
"command": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
},
"disabled": false,
"autoApprove": []
}
}
}
Continue.dev
~/.continue/config.yaml:
mcpServers:
- name: twitter
command: uv
args:
- --directory
- /path/to/twitter-mcp
- run
- twitter-mcp
env:
OPENNEWS_TOKEN: <your-token>
Cherry Studio
Settings > MCP Servers > Add > Type stdio: Command uv, Args --directory /path/to/twitter-mcp run twitter-mcp, Env OPENNEWS_TOKEN.
Zed Editor
~/.config/zed/settings.json:
{
"context_servers": {
"twitter": {
"command": {
"path": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
}
}
}
}
}
Any stdio MCP client
OPENNEWS_TOKEN=<your-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
cd /path/to/twitter-mcp
uv sync
uv run twitter-mcp
# 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
README fetched from the repository 10 hours ago. The original is authoritative.