opentwitter
Twitter/X data via the 6551 API. Supports user profiles, tweet search, user tweets, follower events, deleted tweets, and KOL followers.
How do I install this agent skill?
npx skills add https://github.com/6551team/opentwitter-mcp --skill opentwitterIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides a standard interface for querying Twitter/X data through the 6551 API using curl commands. It handles authentication securely via environment variables and includes comprehensive documentation for various data retrieval and monitoring operations.
- Socketwarn
1 alert: gptAnomaly
- Snykwarn
Risk: MEDIUM · 1 issue
- Runlayerwarn
1/2 files flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Twitter/X Data Skill
Query Twitter/X data from the 6551 platform REST API. All endpoints require a Bearer token via $OPENNEWS_TOKEN.
Get your token: http://app.newsliquid.com/mcp
Base URL: https://ai.6551.io
Authentication
All requests require the header:
Authorization: Bearer $OPENNEWS_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 $OPENNEWS_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 $OPENNEWS_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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "elonmusk", "maxResults": 20, "product": "Latest"}'
| Parameter | Type | Default | Description |
|---|---|---|---|
username | string | required | Twitter username (without @) |
maxResults | integer | 20 | Max tweets (1-100) |
product | string | "Latest" | "Latest" or "Top" |
includeReplies | boolean | false | Include reply tweets |
includeRetweets | boolean | false | Include retweets |
4. Search Twitter
Search tweets with various filters.
curl -s -X POST "https://ai.6551.io/open/twitter_search" \
-H "Authorization: Bearer $OPENNEWS_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 $OPENNEWS_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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"hashtag": "crypto", "minLikes": 100, "maxResults": 20}'
Twitter Search Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | string | - | Search keywords |
fromUser | string | - | Tweets from specific user |
toUser | string | - | Tweets to specific user |
mentionUser | string | - | Tweets mentioning user |
hashtag | string | - | Filter by hashtag (without #) |
excludeReplies | boolean | false | Exclude reply tweets |
excludeRetweets | boolean | false | Exclude retweets |
minLikes | integer | 0 | Minimum likes threshold |
minRetweets | integer | 0 | Minimum retweets threshold |
minReplies | integer | 0 | Minimum replies threshold |
sinceDate | string | - | Start date (YYYY-MM-DD) |
untilDate | string | - | End date (YYYY-MM-DD) |
lang | string | - | Language code (e.g. "en", "zh") |
product | string | "Top" | "Top" or "Latest" |
maxResults | integer | 20 | Max 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 $OPENNEWS_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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "elonmusk", "isFollow": false, "maxResults": 20}'
| Parameter | Type | Default | Description |
|---|---|---|---|
username | string | required | Twitter username (without @) |
isFollow | boolean | true | true=new followers, false=unfollowers |
maxResults | integer | 20 | Max 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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "elonmusk", "maxResults": 20}'
| Parameter | Type | Default | Description |
|---|---|---|---|
username | string | required | Twitter username (without @) |
maxResults | integer | 20 | Max 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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "elonmusk"}'
| Parameter | Type | Default | Description |
|---|---|---|---|
username | string | required | Twitter 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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "article_id"}'
| Parameter | Type | Default | Description |
|---|---|---|---|
id | string | required | Twitter 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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"twId": "2030318958512164966"}'
| Parameter | Type | Default | Description |
|---|---|---|---|
twId | string | required | Twitter 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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "2030318958512164966", "maxResults": 20}'
| Parameter | Type | Default | Description |
|---|---|---|---|
id | string | required | Twitter tweet ID (numeric) |
maxResults | integer | 20 | Max 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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "2030318958512164966"}'
| Parameter | Type | Default | Description |
|---|---|---|---|
id | string | required | Twitter tweet ID (numeric) |
cursor | string | - | 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 $OPENNEWS_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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "elonmusk", "newTweetBol": true, "newFlwBol": false}'
| Parameter | Type | Default | Description |
|---|---|---|---|
username | string | required | Twitter username (without @) |
newTweetBol | boolean | true (server) | Monitor new tweets |
newFlwBol | boolean | false (server) | Monitor new followers |
newUnFlwBol | boolean | false (server) | Monitor unfollowers |
newTweetReplyBol | boolean | true (server) | Monitor tweet replies |
newTweetQuoteBol | boolean | true (server) | Monitor quote tweets |
newRetweetBol | boolean | true (server) | Monitor retweets |
updateNameBol | boolean | true (server) | Monitor username changes |
updateDescBol | boolean | true (server) | Monitor bio/description changes |
updateAvatarBol | boolean | true (server) | Monitor profile picture changes |
updateBannerBol | boolean | true (server) | Monitor banner image changes |
newCaBol | boolean | false (server) | Monitor CA (contract address) events |
tweetToppingBol | boolean | false (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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "elonmusk"}'
| Parameter | Type | Default | Description |
|---|---|---|---|
username | string | required | Twitter 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.
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- New followerNEW_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 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://..."}]
}
Common Workflows
Crypto Twitter KOL Tweets
curl -s -X POST "https://ai.6551.io/open/twitter_user_tweets" \
-H "Authorization: Bearer $OPENNEWS_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 $OPENNEWS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": "bitcoin", "minLikes": 1000, "product": "Top", "maxResults": 20}'
Notes
- Get your API token at http://app.newsliquid.com/mcp
- Rate limits apply; max 100 results per request
- Twitter usernames should not include the @ symbol
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/6551team/opentwitter-mcp/opentwitter">View opentwitter on skillZs</a>