twitterapi-io-mcp 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/data/docs.json +1 -272
- package/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# twitterapi-io-mcp
|
|
2
2
|
|
|
3
|
-
> Offline TwitterAPI.io documentation for Claude and AI assistants via MCP.
|
|
3
|
+
> Offline TwitterAPI.io documentation for Claude and AI assistants via MCP. 58 active endpoints (with full method/params/body), 32 guides, 24 blog posts. No API key needed.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/twitterapi-io-mcp)
|
|
6
6
|
[](https://www.npmjs.com/package/twitterapi-io-mcp)
|
|
@@ -17,7 +17,7 @@ claude mcp add twitterapi-io -- npx -y twitterapi-io-mcp
|
|
|
17
17
|
|
|
18
18
|
An MCP server that gives Claude, Cursor, VS Code Copilot, and other AI assistants **instant, offline access** to [TwitterAPI.io](https://twitterapi.io) documentation.
|
|
19
19
|
|
|
20
|
-
- **
|
|
20
|
+
- **58 active API endpoints** with full HTTP method, body/query parameters, cURL examples, and response schemas
|
|
21
21
|
- **32 guide pages** covering pricing, authentication, rate limits, webhooks, streaming
|
|
22
22
|
- **24 blog posts** with tutorials and use cases
|
|
23
23
|
- **All v2 write endpoints** documented with `login_cookies`, `proxy`, and body params
|
|
@@ -178,7 +178,7 @@ Here are real prompts that work well with this MCP server:
|
|
|
178
178
|
- *"How do I upload media and create a tweet?"* — triggers sequential `get_twitterapi_endpoint` calls
|
|
179
179
|
|
|
180
180
|
<details>
|
|
181
|
-
<summary><strong>All
|
|
181
|
+
<summary><strong>All 58 endpoints by category</strong></summary>
|
|
182
182
|
|
|
183
183
|
| Category | Count | Endpoints |
|
|
184
184
|
|----------|-------|-----------|
|
|
@@ -238,7 +238,7 @@ Restart your MCP client after adding the server config. Most clients (Claude Des
|
|
|
238
238
|
│ Claude / │ ◄──────────────────► │ twitterapi-io-mcp│
|
|
239
239
|
│ Cursor / │ │ │
|
|
240
240
|
│ VS Code │ │ Bundled docs │
|
|
241
|
-
└─────────────┘ │ (
|
|
241
|
+
└─────────────┘ │ (58 endpoints) │
|
|
242
242
|
└──────────────────┘
|
|
243
243
|
No network needed
|
|
244
244
|
```
|
|
@@ -273,7 +273,7 @@ npm run scrape # Update docs snapshot from twitterapi.io
|
|
|
273
273
|
|
|
274
274
|
## Not using MCP?
|
|
275
275
|
|
|
276
|
-
If your AI tool doesn't support MCP (like OpenClaw), use the **skill version** instead — a single markdown file with all
|
|
276
|
+
If your AI tool doesn't support MCP (like OpenClaw), use the **skill version** instead — a single markdown file with all 58 active endpoints:
|
|
277
277
|
|
|
278
278
|
👉 **[twitterapi-io-skill](https://github.com/dorukardahan/twitterapi-io-skill)** — works with OpenClaw, Claude, GPT, Gemini, and any LLM.
|
|
279
279
|
|
package/data/docs.json
CHANGED
|
@@ -3648,277 +3648,6 @@
|
|
|
3648
3648
|
"curl --request GET \\\n --url 'https://api.twitterapi.io/twitter/list/tweets?listId=LIST_ID&cursor=CURSOR' \\\n --header 'X-API-Key: <api-key>'"
|
|
3649
3649
|
],
|
|
3650
3650
|
"raw_text": "Get tweets by list id. Each page returns exactly 20 tweets. Use cursor for pagination. listId: list id sinceTime: unix timestamp untilTime: unix timestamp includeReplies: include replies cursor: pagination cursor"
|
|
3651
|
-
},
|
|
3652
|
-
"user_login_v3": {
|
|
3653
|
-
"name": "user_login_v3",
|
|
3654
|
-
"url": "https://docs.twitterapi.io/api-reference/endpoint/user_login_v3",
|
|
3655
|
-
"scraped_at": "2026-03-20T20:06:00.000Z",
|
|
3656
|
-
"title": "V3 Login API",
|
|
3657
|
-
"description": "V3 Login API - Log in using your email, username, password, and 2FA code. This is an asynchronous login method. After calling this API, the system will process your login request in the background.",
|
|
3658
|
-
"method": "POST",
|
|
3659
|
-
"path": "/twitter/user_login_v3",
|
|
3660
|
-
"parameters": [],
|
|
3661
|
-
"requestBody": {
|
|
3662
|
-
"contentType": "application/json",
|
|
3663
|
-
"schema": {
|
|
3664
|
-
"type": "object",
|
|
3665
|
-
"properties": {
|
|
3666
|
-
"user_name": {
|
|
3667
|
-
"type": "string",
|
|
3668
|
-
"description": "Twitter username. Must be set.",
|
|
3669
|
-
"required": true
|
|
3670
|
-
},
|
|
3671
|
-
"email": {
|
|
3672
|
-
"type": "string",
|
|
3673
|
-
"description": "Email address associated with the account. Must be set if cookie is empty.",
|
|
3674
|
-
"required": false
|
|
3675
|
-
},
|
|
3676
|
-
"password": {
|
|
3677
|
-
"type": "string",
|
|
3678
|
-
"description": "The password of the user. Must be set if cookie is empty.",
|
|
3679
|
-
"required": false
|
|
3680
|
-
},
|
|
3681
|
-
"totp_code": {
|
|
3682
|
-
"type": "string",
|
|
3683
|
-
"description": "The TOTP secret key for 2FA authentication. It is a 10-character string.",
|
|
3684
|
-
"required": false
|
|
3685
|
-
},
|
|
3686
|
-
"cookie": {
|
|
3687
|
-
"type": "string",
|
|
3688
|
-
"description": "Optional. Pre-existing cookie string to resume a previous session.",
|
|
3689
|
-
"required": false
|
|
3690
|
-
},
|
|
3691
|
-
"proxy": {
|
|
3692
|
-
"type": "string",
|
|
3693
|
-
"description": "The proxy to use. Must use high-quality residential proxies.",
|
|
3694
|
-
"required": true
|
|
3695
|
-
}
|
|
3696
|
-
},
|
|
3697
|
-
"required": [
|
|
3698
|
-
"user_name",
|
|
3699
|
-
"proxy"
|
|
3700
|
-
]
|
|
3701
|
-
}
|
|
3702
|
-
},
|
|
3703
|
-
"curl": "curl -s -X POST \"https://api.twitterapi.io/twitter/user_login_v3\" -H \"X-API-Key: $TWITTERAPI_IO_KEY\" -H \"Content-Type: application/json\" -d '{\"user_name\": \"USERNAME\", \"email\": \"EMAIL\", \"password\": \"PASSWORD\", \"proxy\": \"http://user:pass@host:port\"}'"
|
|
3704
|
-
},
|
|
3705
|
-
"send_tweet_v3": {
|
|
3706
|
-
"name": "send_tweet_v3",
|
|
3707
|
-
"url": "https://docs.twitterapi.io/api-reference/endpoint/send_tweet_v3",
|
|
3708
|
-
"scraped_at": "2026-03-20T20:06:00.000Z",
|
|
3709
|
-
"title": "V3 Send Tweet API",
|
|
3710
|
-
"description": "V3 Send Tweet API - Send a tweet using your username. This is an asynchronous method that queues your tweet for posting. You must have logged in via user_login_v3 first.",
|
|
3711
|
-
"method": "POST",
|
|
3712
|
-
"path": "/twitter/send_tweet_v3",
|
|
3713
|
-
"parameters": [],
|
|
3714
|
-
"requestBody": {
|
|
3715
|
-
"contentType": "application/json",
|
|
3716
|
-
"schema": {
|
|
3717
|
-
"type": "object",
|
|
3718
|
-
"properties": {
|
|
3719
|
-
"user_name": {
|
|
3720
|
-
"type": "string",
|
|
3721
|
-
"description": "Twitter username. Must be set.",
|
|
3722
|
-
"required": true
|
|
3723
|
-
},
|
|
3724
|
-
"text": {
|
|
3725
|
-
"type": "string",
|
|
3726
|
-
"description": "The text content of the tweet. Must be set.",
|
|
3727
|
-
"required": true
|
|
3728
|
-
},
|
|
3729
|
-
"media_data_base64": {
|
|
3730
|
-
"type": "string",
|
|
3731
|
-
"description": "Optional. Base64 encoded media data.",
|
|
3732
|
-
"required": false
|
|
3733
|
-
},
|
|
3734
|
-
"media_type": {
|
|
3735
|
-
"type": "string",
|
|
3736
|
-
"description": "Optional. MIME type: image/jpeg, image/png, image/gif, video/mp4",
|
|
3737
|
-
"required": false
|
|
3738
|
-
},
|
|
3739
|
-
"community_id": {
|
|
3740
|
-
"type": "string",
|
|
3741
|
-
"description": "Optional. Community ID to post to.",
|
|
3742
|
-
"required": false
|
|
3743
|
-
}
|
|
3744
|
-
},
|
|
3745
|
-
"required": [
|
|
3746
|
-
"user_name",
|
|
3747
|
-
"text"
|
|
3748
|
-
]
|
|
3749
|
-
}
|
|
3750
|
-
},
|
|
3751
|
-
"curl": "curl -s -X POST \"https://api.twitterapi.io/twitter/send_tweet_v3\" -H \"X-API-Key: $TWITTERAPI_IO_KEY\" -H \"Content-Type: application/json\" -d '{\"user_name\": \"USERNAME\", \"text\": \"Hello world!\"}'"
|
|
3752
|
-
},
|
|
3753
|
-
"like_tweet_v3": {
|
|
3754
|
-
"name": "like_tweet_v3",
|
|
3755
|
-
"url": "https://docs.twitterapi.io/api-reference/endpoint/like_tweet_v3",
|
|
3756
|
-
"scraped_at": "2026-03-20T20:06:00.000Z",
|
|
3757
|
-
"title": "V3 Like Tweet API",
|
|
3758
|
-
"description": "V3 Like Tweet API - Like a tweet using your username. You must have logged in via user_login_v3 first. Trial operation price: $0.002 per call.",
|
|
3759
|
-
"method": "POST",
|
|
3760
|
-
"path": "/twitter/like_tweet_v3",
|
|
3761
|
-
"parameters": [],
|
|
3762
|
-
"requestBody": {
|
|
3763
|
-
"contentType": "application/json",
|
|
3764
|
-
"schema": {
|
|
3765
|
-
"type": "object",
|
|
3766
|
-
"properties": {
|
|
3767
|
-
"user_name": {
|
|
3768
|
-
"type": "string",
|
|
3769
|
-
"description": "Twitter username. Must be set.",
|
|
3770
|
-
"required": true
|
|
3771
|
-
},
|
|
3772
|
-
"tweet_id": {
|
|
3773
|
-
"type": "string",
|
|
3774
|
-
"description": "The ID of the tweet to like. Must be set.",
|
|
3775
|
-
"required": true
|
|
3776
|
-
}
|
|
3777
|
-
},
|
|
3778
|
-
"required": [
|
|
3779
|
-
"user_name",
|
|
3780
|
-
"tweet_id"
|
|
3781
|
-
]
|
|
3782
|
-
}
|
|
3783
|
-
},
|
|
3784
|
-
"curl": "curl -s -X POST \"https://api.twitterapi.io/twitter/like_tweet_v3\" -H \"X-API-Key: $TWITTERAPI_IO_KEY\" -H \"Content-Type: application/json\" -d '{\"user_name\": \"USERNAME\", \"tweet_id\": \"TWEET_ID\"}'"
|
|
3785
|
-
},
|
|
3786
|
-
"retweet_v3": {
|
|
3787
|
-
"name": "retweet_v3",
|
|
3788
|
-
"url": "https://docs.twitterapi.io/api-reference/endpoint/retweet_v3",
|
|
3789
|
-
"scraped_at": "2026-03-20T20:06:00.000Z",
|
|
3790
|
-
"title": "V3 Retweet API",
|
|
3791
|
-
"description": "V3 Retweet API - Retweet a tweet using your username. You must have logged in via user_login_v3 first. Trial operation price: $0.002 per call.",
|
|
3792
|
-
"method": "POST",
|
|
3793
|
-
"path": "/twitter/retweet_v3",
|
|
3794
|
-
"parameters": [],
|
|
3795
|
-
"requestBody": {
|
|
3796
|
-
"contentType": "application/json",
|
|
3797
|
-
"schema": {
|
|
3798
|
-
"type": "object",
|
|
3799
|
-
"properties": {
|
|
3800
|
-
"user_name": {
|
|
3801
|
-
"type": "string",
|
|
3802
|
-
"description": "Twitter username. Must be set.",
|
|
3803
|
-
"required": true
|
|
3804
|
-
},
|
|
3805
|
-
"tweet_id": {
|
|
3806
|
-
"type": "string",
|
|
3807
|
-
"description": "The ID of the tweet to retweet. Must be set.",
|
|
3808
|
-
"required": true
|
|
3809
|
-
}
|
|
3810
|
-
},
|
|
3811
|
-
"required": [
|
|
3812
|
-
"user_name",
|
|
3813
|
-
"tweet_id"
|
|
3814
|
-
]
|
|
3815
|
-
}
|
|
3816
|
-
},
|
|
3817
|
-
"curl": "curl -s -X POST \"https://api.twitterapi.io/twitter/retweet_v3\" -H \"X-API-Key: $TWITTERAPI_IO_KEY\" -H \"Content-Type: application/json\" -d '{\"user_name\": \"USERNAME\", \"tweet_id\": \"TWEET_ID\"}'"
|
|
3818
|
-
},
|
|
3819
|
-
"update_profile_v3": {
|
|
3820
|
-
"name": "update_profile_v3",
|
|
3821
|
-
"url": "https://docs.twitterapi.io/api-reference/endpoint/update_profile_v3",
|
|
3822
|
-
"scraped_at": "2026-03-20T20:06:00.000Z",
|
|
3823
|
-
"title": "V3 Update Profile API",
|
|
3824
|
-
"description": "V3 Update Profile API - Update your X profile information. Only non-empty fields will be updated. You must have logged in via user_login_v3 first.",
|
|
3825
|
-
"method": "PUT",
|
|
3826
|
-
"path": "/twitter/update_profile_v3",
|
|
3827
|
-
"parameters": [],
|
|
3828
|
-
"requestBody": {
|
|
3829
|
-
"contentType": "application/json",
|
|
3830
|
-
"schema": {
|
|
3831
|
-
"type": "object",
|
|
3832
|
-
"properties": {
|
|
3833
|
-
"user_name": {
|
|
3834
|
-
"type": "string",
|
|
3835
|
-
"description": "Twitter username. Must be set.",
|
|
3836
|
-
"required": true
|
|
3837
|
-
},
|
|
3838
|
-
"name": {
|
|
3839
|
-
"type": "string",
|
|
3840
|
-
"description": "Optional. Display name.",
|
|
3841
|
-
"required": false
|
|
3842
|
-
},
|
|
3843
|
-
"bio": {
|
|
3844
|
-
"type": "string",
|
|
3845
|
-
"description": "Optional. Profile bio/description.",
|
|
3846
|
-
"required": false
|
|
3847
|
-
},
|
|
3848
|
-
"location": {
|
|
3849
|
-
"type": "string",
|
|
3850
|
-
"description": "Optional. Location.",
|
|
3851
|
-
"required": false
|
|
3852
|
-
},
|
|
3853
|
-
"website": {
|
|
3854
|
-
"type": "string",
|
|
3855
|
-
"description": "Optional. Website URL.",
|
|
3856
|
-
"required": false
|
|
3857
|
-
},
|
|
3858
|
-
"avatar": {
|
|
3859
|
-
"type": "string",
|
|
3860
|
-
"description": "Optional. Avatar image (base64 or URL).",
|
|
3861
|
-
"required": false
|
|
3862
|
-
},
|
|
3863
|
-
"banner": {
|
|
3864
|
-
"type": "string",
|
|
3865
|
-
"description": "Optional. Banner image (base64 or URL).",
|
|
3866
|
-
"required": false
|
|
3867
|
-
}
|
|
3868
|
-
},
|
|
3869
|
-
"required": [
|
|
3870
|
-
"user_name"
|
|
3871
|
-
]
|
|
3872
|
-
}
|
|
3873
|
-
},
|
|
3874
|
-
"curl": "curl -s -X PUT \"https://api.twitterapi.io/twitter/update_profile_v3\" -H \"X-API-Key: $TWITTERAPI_IO_KEY\" -H \"Content-Type: application/json\" -d '{\"user_name\": \"USERNAME\", \"name\": \"Display Name\", \"bio\": \"Bio text\"}'"
|
|
3875
|
-
},
|
|
3876
|
-
"delete_my_x_account_v3": {
|
|
3877
|
-
"name": "delete_my_x_account_v3",
|
|
3878
|
-
"url": "https://docs.twitterapi.io/api-reference/endpoint/delete_my_x_account_v3",
|
|
3879
|
-
"scraped_at": "2026-03-20T20:06:00.000Z",
|
|
3880
|
-
"title": "V3 Delete Account API",
|
|
3881
|
-
"description": "Remove your X account cookie from the system. This will delete the account data that was logged in via user_login_v3.",
|
|
3882
|
-
"method": "DELETE",
|
|
3883
|
-
"path": "/twitter/delete_my_x_account_v3",
|
|
3884
|
-
"parameters": [],
|
|
3885
|
-
"requestBody": {
|
|
3886
|
-
"contentType": "application/json",
|
|
3887
|
-
"schema": {
|
|
3888
|
-
"type": "object",
|
|
3889
|
-
"properties": {
|
|
3890
|
-
"user_name": {
|
|
3891
|
-
"type": "string",
|
|
3892
|
-
"description": "Twitter username. Must be set.",
|
|
3893
|
-
"required": true
|
|
3894
|
-
}
|
|
3895
|
-
},
|
|
3896
|
-
"required": [
|
|
3897
|
-
"user_name"
|
|
3898
|
-
]
|
|
3899
|
-
}
|
|
3900
|
-
},
|
|
3901
|
-
"curl": "curl -s -X DELETE \"https://api.twitterapi.io/twitter/delete_my_x_account_v3\" -H \"X-API-Key: $TWITTERAPI_IO_KEY\" -H \"Content-Type: application/json\" -d '{\"user_name\": \"USERNAME\"}'"
|
|
3902
|
-
},
|
|
3903
|
-
"get_my_x_account_detail_v3": {
|
|
3904
|
-
"name": "get_my_x_account_detail_v3",
|
|
3905
|
-
"url": "https://docs.twitterapi.io/api-reference/endpoint/get_my_x_account_detail_v3",
|
|
3906
|
-
"scraped_at": "2026-03-20T20:06:00.000Z",
|
|
3907
|
-
"title": "V3 Get Account Detail API",
|
|
3908
|
-
"description": "V3 Get Account Detail API - Get the details of your X account that was logged in via user_login_v3. Once status is Active, then you can use the account to post tweets, etc.",
|
|
3909
|
-
"method": "GET",
|
|
3910
|
-
"path": "/twitter/get_my_x_account_detail_v3",
|
|
3911
|
-
"parameters": [
|
|
3912
|
-
{
|
|
3913
|
-
"name": "user_name",
|
|
3914
|
-
"in": "query",
|
|
3915
|
-
"type": "string",
|
|
3916
|
-
"format": "string",
|
|
3917
|
-
"required": true,
|
|
3918
|
-
"description": "Twitter username. Must be set. The user must have been logged in via user_login_v3."
|
|
3919
|
-
}
|
|
3920
|
-
],
|
|
3921
|
-
"curl": "curl -s \"https://api.twitterapi.io/twitter/get_my_x_account_detail_v3?user_name=USERNAME\" -H \"X-API-Key: $TWITTERAPI_IO_KEY\""
|
|
3922
3651
|
}
|
|
3923
3652
|
},
|
|
3924
3653
|
"pages": {
|
|
@@ -13977,4 +13706,4 @@
|
|
|
13977
13706
|
}
|
|
13978
13707
|
}
|
|
13979
13708
|
}
|
|
13980
|
-
}
|
|
13709
|
+
}
|
package/index.js
CHANGED
|
@@ -2348,7 +2348,7 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => ({
|
|
|
2348
2348
|
uri: "twitterapi://docs/all",
|
|
2349
2349
|
mimeType: "application/json",
|
|
2350
2350
|
name: "All TwitterAPI.io Documentation",
|
|
2351
|
-
description: "
|
|
2351
|
+
description: "58 endpoints + guide pages + blog posts",
|
|
2352
2352
|
},
|
|
2353
2353
|
{
|
|
2354
2354
|
uri: "twitterapi://docs/endpoints",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "twitterapi-io-mcp",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"mcpName": "io.github.dorukardahan/twitterapi-io-mcp",
|
|
5
5
|
"description": "TwitterAPI.io MCP server providing offline access to docs (endpoints, pages, blogs) for Claude and other AI assistants",
|
|
6
6
|
"main": "index.js",
|