PluginBench
Skill
Review
Audit score 70

opentwitter

6551team/opentwitter-mcp

Query Twitter/X user profiles, tweets, search results, and follower events via the 6551 API.

What is opentwitter?

Access Twitter/X data through the 6551 platform REST API, including user profiles, tweet search with filters, user timelines, follower tracking, deleted tweets, and KOL followers. Requires a Bearer token from 6551.io and curl.

  • Retrieve user profiles by username or ID
  • Search tweets with keyword, hashtag, date, engagement, and language filters
  • Fetch recent tweets from specific users with options for replies and retweets
  • Track new followers and unfollowers for any account
  • Access deleted tweets from a user's history
  • Identify Key Opinion Leaders (KOLs) following a user

How to install opentwitter

npx skills add https://github.com/6551team/opentwitter-mcp --skill opentwitter
Prerequisites
  • TWITTER_TOKEN environment variable set (obtain from https://6551.io/mcp)
  • curl installed (can be installed via brew on macOS/Linux)
Claude Code
Cursor
Windsurf
Cline

How to use opentwitter

  1. 1.Set your TWITTER_TOKEN environment variable with your 6551 API token
  2. 2.Use curl with POST requests to https://ai.6551.io endpoints, including Authorization header with Bearer token
  3. 3.For user info: POST to /open/twitter_user_info or /open/twitter_user_by_id with username or userId
  4. 4.For tweets: POST to /open/twitter_user_tweets with username and optional maxResults, product, includeReplies, includeRetweets
  5. 5.For search: POST to /open/twitter_search with keywords, hashtag, fromUser, date ranges, engagement thresholds, or language filters
  6. 6.For followers: POST to /open/twitter_follower_events with username and isFollow flag (true for new followers, false for unfollowers)
  7. 7.For deleted tweets: POST to /open/twitter_deleted_tweets with username
  8. 8.For KOL followers: POST to /open/twitter_kol_followers with username

Use cases

Good for
  • Monitor competitor or influencer Twitter activity and engagement trends
  • Search for tweets about specific topics, hashtags, or from particular users within date ranges
  • Track follower changes and identify new KOL followers for growth analysis
  • Analyze deleted tweets to understand account behavior or content strategy changes
  • Build datasets of tweets for research or sentiment analysis on crypto, tech, or other topics
Who it's for
  • Social media analysts and researchers
  • Crypto and fintech professionals tracking KOL sentiment
  • Competitive intelligence teams
  • Content strategists monitoring brand mentions and hashtags
  • Data scientists building Twitter datasets

opentwitter FAQ

How do I get a TWITTER_TOKEN?

Visit https://6551.io/mcp to obtain your Bearer token for the 6551 API.

What's the difference between 'Top' and 'Latest' product filters?

'Top' returns the most popular/engaging tweets matching your criteria, while 'Latest' returns the most recent tweets in chronological order.

Can I search tweets from a specific date range?

Yes, use the sinceDate and untilDate parameters in the search endpoint with YYYY-MM-DD format.

What engagement thresholds can I filter by?

You can filter by minLikes, minRetweets, and minReplies to find tweets with minimum engagement levels.

How do I get context for a tweet (replies and quotes)?

Use /open/twitter_tweet_by_id with the tweet ID to retrieve the main tweet plus any tweets it replies to or quotes. Use /open/twitter_quote_tweets_by_id to get tweets that quote a specific tweet.

Full instructions (SKILL.md)

Source of truth, from 6551team/opentwitter-mcp.


name: opentwitter description: Twitter/X data via the 6551 API. Supports user profiles, tweet search, user tweets, follower events, deleted tweets, and KOL followers.

user-invocable: true metadata: openclaw: requires: env: - TWITTER_TOKEN bins: - curl primaryEnv: TWITTER_TOKEN emoji: "\U0001F426" install: - id: curl kind: brew formula: curl label: curl (HTTP client) os: - darwin - linux - win32 version: 1.0.0

Twitter/X Data Skill

Query Twitter/X data from the 6551 platform REST API. All endpoints require a Bearer token via $TWITTER_TOKEN.

Get your token: https://6551.io/mcp

Base URL: https://ai.6551.io

Authentication

All requests require the header:

Authorization: Bearer $TWITTER_TOKEN

Twitter Operations

1. Get Twitter User Info

Get user profile by username.

curl -s -X POST "https://ai.6551.io/open/twitter_user_info" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk"}'

2. Get Twitter User by ID

Get user profile by numeric ID.

curl -s -X POST "https://ai.6551.io/open/twitter_user_by_id" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"userId": "44196397"}'

3. Get User Tweets

Get recent tweets from a user.

curl -s -X POST "https://ai.6551.io/open/twitter_user_tweets" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "maxResults": 20, "product": "Latest"}'
ParameterTypeDefaultDescription
usernamestringrequiredTwitter username (without @)
maxResultsinteger20Max tweets (1-100)
productstring"Latest""Latest" or "Top"
includeRepliesbooleanfalseInclude reply tweets
includeRetweetsbooleanfalseInclude retweets

4. Search Twitter

Search tweets with various filters.

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "bitcoin", "maxResults": 20, "product": "Top"}'

Search from specific user:

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fromUser": "VitalikButerin", "maxResults": 20}'

Search by hashtag:

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"hashtag": "crypto", "minLikes": 100, "maxResults": 20}'

Twitter Search Parameters

ParameterTypeDefaultDescription
keywordsstring-Search keywords
fromUserstring-Tweets from specific user
toUserstring-Tweets to specific user
mentionUserstring-Tweets mentioning user
hashtagstring-Filter by hashtag (without #)
excludeRepliesbooleanfalseExclude reply tweets
excludeRetweetsbooleanfalseExclude retweets
minLikesinteger0Minimum likes threshold
minRetweetsinteger0Minimum retweets threshold
minRepliesinteger0Minimum replies threshold
sinceDatestring-Start date (YYYY-MM-DD)
untilDatestring-End date (YYYY-MM-DD)
langstring-Language code (e.g. "en", "zh")
productstring"Top""Top" or "Latest"
maxResultsinteger20Max tweets (1-100)

5. Get Follower Events

Get new followers or unfollowers for a user.

# Get new followers
curl -s -X POST "https://ai.6551.io/open/twitter_follower_events" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "isFollow": true, "maxResults": 20}'

# Get unfollowers
curl -s -X POST "https://ai.6551.io/open/twitter_follower_events" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "isFollow": false, "maxResults": 20}'
ParameterTypeDefaultDescription
usernamestringrequiredTwitter username (without @)
isFollowbooleantruetrue=new followers, false=unfollowers
maxResultsinteger20Max events (1-100)

6. Get Deleted Tweets

Get deleted tweets from a user.

curl -s -X POST "https://ai.6551.io/open/twitter_deleted_tweets" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "maxResults": 20}'
ParameterTypeDefaultDescription
usernamestringrequiredTwitter username (without @)
maxResultsinteger20Max tweets (1-100)

7. Get KOL Followers

Get which KOLs (Key Opinion Leaders) are following a user.

curl -s -X POST "https://ai.6551.io/open/twitter_kol_followers" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk"}'
ParameterTypeDefaultDescription
usernamestringrequiredTwitter username (without @)

8. Get Twitter Article by ID

Get Twitter article by ID.

curl -s -X POST "https://ai.6551.io/open/twitter_article_by_id" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "article_id"}'
ParameterTypeDefaultDescription
idstringrequiredTwitter article ID

9. Get Tweet by ID

Get a specific tweet by its ID, including nested reply/quote tweets.

This endpoint retrieves a tweet by ID and automatically fetches any tweets it replies to or quotes, providing complete context.

curl -s -X POST "https://ai.6551.io/open/twitter_tweet_by_id" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"twId": "2030318958512164966"}'
ParameterTypeDefaultDescription
twIdstringrequiredTwitter tweet ID (numeric)

Response includes:

  • Main tweet data
  • replyStatus: The tweet being replied to (if applicable)
  • quotedStatus: The tweet being quoted (if applicable)

10. Get Quote Tweets by ID

Get tweets that quote a specific tweet.

curl -s -X POST "https://ai.6551.io/open/twitter_quote_tweets_by_id" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "2030318958512164966", "maxResults": 20}'
ParameterTypeDefaultDescription
idstringrequiredTwitter tweet ID (numeric)
maxResultsinteger20Max tweets (1-100)

11. Get Retweet Users by ID

Get users who retweeted a specific tweet.

curl -s -X POST "https://ai.6551.io/open/twitter_retweet_users_by_id" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "2030318958512164966"}'
ParameterTypeDefaultDescription
idstringrequiredTwitter tweet ID (numeric)
cursorstring-Pagination cursor for next page

12. Get Twitter Watch List

Get all Twitter monitoring users for the current user.

curl -s -X POST "https://ai.6551.io/open/twitter_watch" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

13. Add Twitter Watch

Add a Twitter user to monitoring list.

curl -s -X POST "https://ai.6551.io/open/twitter_watch_add" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "newTweetBol": true, "newFlwBol": false}'
ParameterTypeDefaultDescription
usernamestringrequiredTwitter username (without @)
newTweetBolbooleantrue (server)Monitor new tweets
newFlwBolbooleanfalse (server)Monitor new followers
newUnFlwBolbooleanfalse (server)Monitor unfollowers
newTweetReplyBolbooleantrue (server)Monitor tweet replies
newTweetQuoteBolbooleantrue (server)Monitor quote tweets
newRetweetBolbooleantrue (server)Monitor retweets
updateNameBolbooleantrue (server)Monitor username changes
updateDescBolbooleantrue (server)Monitor bio/description changes
updateAvatarBolbooleantrue (server)Monitor profile picture changes
updateBannerBolbooleantrue (server)Monitor banner image changes
newCaBolbooleanfalse (server)Monitor CA (contract address) events
tweetToppingBolbooleanfalse (server)Monitor tweet pinning events

14. Delete Twitter Watch

Delete a Twitter user from monitoring list by username.

curl -s -X POST "https://ai.6551.io/open/twitter_watch_delete" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk"}'
ParameterTypeDefaultDescription
usernamestringrequiredTwitter username to delete (without @)

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

{
  "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 - New follower
  • NEW_UNFOLLOWER - Unfollower event

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 pinned
  • DELETE - Tweet deleted
  • SYSTEM - System event
  • TRANSLATE - Tweet translation
  • CA_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://..."}]
}

Common Workflows

Crypto Twitter KOL Tweets

curl -s -X POST "https://ai.6551.io/open/twitter_user_tweets" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "VitalikButerin", "maxResults": 10}'

Trending Crypto Tweets

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $TWITTER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "bitcoin", "minLikes": 1000, "product": "Top", "maxResults": 20}'

Notes

  • Get your API token at https://6551.io/mcp
  • Rate limits apply; max 100 results per request
  • Twitter usernames should not include the @ symbol