@apteva/integrations 0.2.3 → 0.3.0

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.
Files changed (236) hide show
  1. package/package.json +1 -1
  2. package/src/apps/activecampaign.json +209 -0
  3. package/src/apps/activecollab.json +417 -0
  4. package/src/apps/airtable.json +235 -0
  5. package/src/apps/alpaca-trading.json +1554 -0
  6. package/src/apps/amadeus.json +225 -0
  7. package/src/apps/anthropic-api.json +96 -0
  8. package/src/apps/apify.json +203 -0
  9. package/src/apps/apollo.json +748 -0
  10. package/src/apps/apple-podcasts.json +116 -0
  11. package/src/apps/archive-api.json +104 -0
  12. package/src/apps/archive.json +151 -0
  13. package/src/apps/arduino-cloud.json +301 -0
  14. package/src/apps/arest.json +492 -0
  15. package/src/apps/asana.json +184 -0
  16. package/src/apps/ashby.json +176 -0
  17. package/src/apps/assemblyai.json +163 -0
  18. package/src/apps/attio.json +243 -0
  19. package/src/apps/aws-cloudfront.json +132 -0
  20. package/src/apps/aws-dynamodb.json +295 -0
  21. package/src/apps/aws-ec2.json +184 -0
  22. package/src/apps/aws-lambda.json +361 -0
  23. package/src/apps/aws-route53.json +110 -0
  24. package/src/apps/aws-s3.json +303 -0
  25. package/src/apps/aws-ses.json +556 -0
  26. package/src/apps/aws-sns.json +217 -0
  27. package/src/apps/aws-sqs.json +234 -0
  28. package/src/apps/axiom.json +123 -0
  29. package/src/apps/beehiiv.json +252 -0
  30. package/src/apps/binance-trading.json +555 -0
  31. package/src/apps/bitly.json +175 -0
  32. package/src/apps/bloobirds.json +246 -0
  33. package/src/apps/bluesky.json +201 -0
  34. package/src/apps/blynk.json +316 -0
  35. package/src/apps/booking-com.json +144 -0
  36. package/src/apps/box.json +289 -0
  37. package/src/apps/brevo.json +1423 -0
  38. package/src/apps/browse-ai.json +148 -0
  39. package/src/apps/bunny-cdn.json +330 -0
  40. package/src/apps/bunny-stream.json +387 -0
  41. package/src/apps/cal-com.json +240 -0
  42. package/src/apps/calendly.json +578 -0
  43. package/src/apps/calflow-calendar.json +706 -0
  44. package/src/apps/callrail.json +190 -0
  45. package/src/apps/canva.json +197 -0
  46. package/src/apps/cartesia.json +201 -0
  47. package/src/apps/castbase.json +753 -0
  48. package/src/apps/chargebee.json +226 -0
  49. package/src/apps/cleanster.json +359 -0
  50. package/src/apps/clicksend.json +278 -0
  51. package/src/apps/clickup.json +266 -0
  52. package/src/apps/clipkit.json +517 -0
  53. package/src/apps/close.json +359 -0
  54. package/src/apps/cloudflare.json +329 -0
  55. package/src/apps/cloudinary.json +164 -0
  56. package/src/apps/coda.json +288 -0
  57. package/src/apps/cohere.json +158 -0
  58. package/src/apps/coinbase.json +268 -0
  59. package/src/apps/composio.json +146 -0
  60. package/src/apps/confluence.json +270 -0
  61. package/src/apps/consensus.json +879 -0
  62. package/src/apps/contabo.json +733 -0
  63. package/src/apps/convertkit.json +211 -0
  64. package/src/apps/core-image.json +426 -0
  65. package/src/apps/core-video.json +1246 -0
  66. package/src/apps/craftcloud.json +298 -0
  67. package/src/apps/datadog.json +401 -0
  68. package/src/apps/dataforseo.json +1273 -0
  69. package/src/apps/deepseek.json +150 -0
  70. package/src/apps/dialpad.json +229 -0
  71. package/src/apps/discord.json +239 -0
  72. package/src/apps/dnsimple.json +405 -0
  73. package/src/apps/docusign.json +214 -0
  74. package/src/apps/docx.json +282 -0
  75. package/src/apps/dropbox.json +185 -0
  76. package/src/apps/duffel.json +231 -0
  77. package/src/apps/dux-soup.json +694 -0
  78. package/src/apps/dynadot.json +250 -0
  79. package/src/apps/elevenlabs.json +327 -0
  80. package/src/apps/eventbrite-events.json +598 -0
  81. package/src/apps/facebook-ads.json +1399 -0
  82. package/src/apps/facebook-api.json +282 -0
  83. package/src/apps/fal-ai.json +400 -0
  84. package/src/apps/fathom.json +86 -0
  85. package/src/apps/figma.json +162 -0
  86. package/src/apps/filestack.json +159 -0
  87. package/src/apps/firebase.json +271 -0
  88. package/src/apps/firecrawl.json +278 -0
  89. package/src/apps/folk.json +564 -0
  90. package/src/apps/forecast-app.json +377 -0
  91. package/src/apps/freshdesk.json +283 -0
  92. package/src/apps/gemini.json +528 -0
  93. package/src/apps/ghost.json +439 -0
  94. package/src/apps/gigs-marketplace.json +1442 -0
  95. package/src/apps/github.json +1479 -47
  96. package/src/apps/gitlab.json +448 -0
  97. package/src/apps/gmail.json +839 -28
  98. package/src/apps/gohighlevel.json +596 -0
  99. package/src/apps/google-ads.json +270 -0
  100. package/src/apps/google-calendar.json +996 -36
  101. package/src/apps/google-docs.json +278 -0
  102. package/src/apps/google-drive.json +360 -0
  103. package/src/apps/google-maps.json +473 -0
  104. package/src/apps/google-sheets.json +330 -0
  105. package/src/apps/gooten.json +411 -0
  106. package/src/apps/gravity-forms.json +385 -0
  107. package/src/apps/gusto.json +171 -0
  108. package/src/apps/hackernews.json +221 -0
  109. package/src/apps/harmonic.json +86 -0
  110. package/src/apps/helpscout.json +664 -0
  111. package/src/apps/hetzner.json +658 -0
  112. package/src/apps/heygen.json +184 -0
  113. package/src/apps/heyreach.json +388 -0
  114. package/src/apps/hospitable.json +340 -0
  115. package/src/apps/hostinger.json +374 -0
  116. package/src/apps/hubspot.json +682 -0
  117. package/src/apps/huggingface.json +97 -0
  118. package/src/apps/hunter.json +504 -0
  119. package/src/apps/ig-trading.json +849 -0
  120. package/src/apps/imaterialise.json +349 -0
  121. package/src/apps/instagram-api.json +538 -0
  122. package/src/apps/intercom.json +648 -0
  123. package/src/apps/jira.json +226 -0
  124. package/src/apps/klaviyo.json +199 -0
  125. package/src/apps/kling-ai.json +206 -0
  126. package/src/apps/kraken.json +870 -0
  127. package/src/apps/late.json +1056 -0
  128. package/src/apps/leadpages.json +243 -0
  129. package/src/apps/learning-platform.json +2244 -0
  130. package/src/apps/linear.json +184 -57
  131. package/src/apps/linkedin.json +179 -0
  132. package/src/apps/listen-notes.json +136 -0
  133. package/src/apps/lnk-bio.json +125 -0
  134. package/src/apps/loom.json +188 -0
  135. package/src/apps/luma.json +280 -0
  136. package/src/apps/mailchimp.json +238 -0
  137. package/src/apps/mailgun.json +310 -0
  138. package/src/apps/manychat.json +312 -0
  139. package/src/apps/marin-software.json +843 -0
  140. package/src/apps/media-downloader.json +157 -0
  141. package/src/apps/meetup-events.json +361 -0
  142. package/src/apps/meshy.json +248 -0
  143. package/src/apps/microsoft-teams.json +162 -0
  144. package/src/apps/monday.json +213 -0
  145. package/src/apps/mongodb-atlas.json +467 -0
  146. package/src/apps/namecheap.json +252 -0
  147. package/src/apps/nexar.json +289 -0
  148. package/src/apps/notion.json +530 -50
  149. package/src/apps/omnikit-analytics.json +374 -0
  150. package/src/apps/omnikit-api-gateway.json +660 -0
  151. package/src/apps/omnikit-billing.json +1781 -0
  152. package/src/apps/omnikit-cms.json +899 -0
  153. package/src/apps/omnikit-functions.json +329 -0
  154. package/src/apps/omnikit-intelligence.json +650 -0
  155. package/src/apps/omnikit-management.json +214 -0
  156. package/src/apps/omnikit-media.json +646 -0
  157. package/src/apps/omnikit-messaging.json +1826 -0
  158. package/src/apps/omnikit-redirects.json +209 -0
  159. package/src/apps/omnikit-webhooks.json +269 -0
  160. package/src/apps/omnikit-workflows.json +323 -0
  161. package/src/apps/openai-api.json +462 -0
  162. package/src/apps/openmeteo-weather.json +75 -0
  163. package/src/apps/optinmonster.json +244 -0
  164. package/src/apps/paidkit.json +1218 -0
  165. package/src/apps/paypal.json +254 -0
  166. package/src/apps/pdf.json +366 -0
  167. package/src/apps/pipedrive.json +255 -0
  168. package/src/apps/polymarket.json +653 -0
  169. package/src/apps/porkbun.json +417 -0
  170. package/src/apps/portfolio.json +501 -0
  171. package/src/apps/postmark.json +257 -0
  172. package/src/apps/printful.json +273 -0
  173. package/src/apps/printify.json +295 -0
  174. package/src/apps/producthunt.json +346 -0
  175. package/src/apps/pushover-notifications.json +113 -0
  176. package/src/apps/qonto.json +366 -0
  177. package/src/apps/quickbooks.json +234 -0
  178. package/src/apps/replicate.json +106 -0
  179. package/src/apps/rss.json +281 -0
  180. package/src/apps/salesflow.json +538 -0
  181. package/src/apps/salesforce-crm.json +216 -0
  182. package/src/apps/sap.json +256 -0
  183. package/src/apps/scaleway.json +911 -0
  184. package/src/apps/sculpteo.json +234 -0
  185. package/src/apps/sendgrid-email.json +233 -0
  186. package/src/apps/sendgrid.json +160 -35
  187. package/src/apps/shapeways.json +188 -0
  188. package/src/apps/shopify.json +1217 -0
  189. package/src/apps/skai.json +779 -0
  190. package/src/apps/slack.json +228 -38
  191. package/src/apps/slant3d.json +231 -0
  192. package/src/apps/slides.json +760 -0
  193. package/src/apps/smartly.json +504 -0
  194. package/src/apps/snov.json +467 -0
  195. package/src/apps/socialcast.json +553 -63
  196. package/src/apps/square.json +274 -0
  197. package/src/apps/storage-management.json +788 -0
  198. package/src/apps/storylane.json +180 -0
  199. package/src/apps/strapi.json +338 -0
  200. package/src/apps/stripe-payments.json +847 -0
  201. package/src/apps/stripe.json +472 -35
  202. package/src/apps/supabase.json +169 -0
  203. package/src/apps/supademo.json +115 -0
  204. package/src/apps/taskflow.json +714 -0
  205. package/src/apps/teamwork.json +457 -0
  206. package/src/apps/telegram.json +444 -0
  207. package/src/apps/thinger.json +458 -0
  208. package/src/apps/ticktick.json +169 -0
  209. package/src/apps/tiktok-api.json +406 -0
  210. package/src/apps/todoist.json +151 -0
  211. package/src/apps/together.json +123 -0
  212. package/src/apps/torrent.json +267 -0
  213. package/src/apps/trading.json +1012 -0
  214. package/src/apps/trading212.json +383 -0
  215. package/src/apps/trello.json +205 -0
  216. package/src/apps/tripo.json +157 -0
  217. package/src/apps/twilio.json +1008 -0
  218. package/src/apps/twitter-ads.json +875 -0
  219. package/src/apps/twitter-api.json +1151 -0
  220. package/src/apps/twitterapiio.json +548 -0
  221. package/src/apps/typeform.json +210 -0
  222. package/src/apps/vidforge.json +1020 -0
  223. package/src/apps/vonage.json +394 -0
  224. package/src/apps/vultr.json +225 -0
  225. package/src/apps/webflow.json +223 -0
  226. package/src/apps/wise.json +273 -0
  227. package/src/apps/wistia.json +283 -0
  228. package/src/apps/woocommerce.json +288 -0
  229. package/src/apps/wordpress.json +1675 -0
  230. package/src/apps/xero.json +257 -0
  231. package/src/apps/youtube-api.json +861 -0
  232. package/src/apps/zendesk.json +295 -0
  233. package/src/apps/zite.json +173 -0
  234. package/src/apps/zoho-crm.json +386 -0
  235. package/src/apps/zoo.json +193 -0
  236. package/src/apps/zoom.json +334 -0
@@ -0,0 +1,548 @@
1
+ {
2
+ "slug": "twitterapiio",
3
+ "name": "Twitter/X (via TwitterAPI.io)",
4
+ "description": "MCP server for Twitter/X operations including tweet search, user profiles, posting, engagement, and trend analysis via TwitterAPI.io - a cost-effective alternative to the official Twitter API",
5
+ "logo": "https://www.google.com/s2/favicons?domain=twitter.com&sz=128",
6
+ "categories": [
7
+ "twitter",
8
+ "x",
9
+ "social-media",
10
+ "tweets",
11
+ "posting",
12
+ "twitterapiio"
13
+ ],
14
+ "base_url": "",
15
+ "auth": {
16
+ "types": [
17
+ "bearer"
18
+ ],
19
+ "headers": {
20
+ "Authorization": "Bearer {{token}}"
21
+ },
22
+ "credential_fields": [
23
+ {
24
+ "name": "token",
25
+ "label": "API Key"
26
+ }
27
+ ]
28
+ },
29
+ "tools": [
30
+ {
31
+ "name": "user_info",
32
+ "description": "Get Twitter user profile information by username including bio, follower count, tweet count, verification status, and profile images",
33
+ "method": "GET",
34
+ "path": "/user-info",
35
+ "input_schema": {
36
+ "type": "object",
37
+ "properties": {
38
+ "userName": {
39
+ "type": "string",
40
+ "description": "Twitter username (without @)"
41
+ }
42
+ },
43
+ "required": [
44
+ "userName"
45
+ ]
46
+ }
47
+ },
48
+ {
49
+ "name": "user_tweets",
50
+ "description": "Get a user's recent tweets by userId or userName with pagination support",
51
+ "method": "GET",
52
+ "path": "/user-tweets",
53
+ "input_schema": {
54
+ "type": "object",
55
+ "properties": {
56
+ "userId": {
57
+ "type": "string",
58
+ "description": "Twitter user ID"
59
+ },
60
+ "userName": {
61
+ "type": "string",
62
+ "description": "Twitter username (without @)"
63
+ },
64
+ "cursor": {
65
+ "type": "string",
66
+ "description": "Pagination cursor for next page"
67
+ },
68
+ "limit": {
69
+ "type": "integer",
70
+ "description": "Number of tweets to return (default: 20)",
71
+ "default": 20
72
+ }
73
+ }
74
+ }
75
+ },
76
+ {
77
+ "name": "user_followers",
78
+ "description": "Get a user's followers list with pagination support",
79
+ "method": "GET",
80
+ "path": "/user-followers",
81
+ "input_schema": {
82
+ "type": "object",
83
+ "properties": {
84
+ "userId": {
85
+ "type": "string",
86
+ "description": "Twitter user ID"
87
+ },
88
+ "userName": {
89
+ "type": "string",
90
+ "description": "Twitter username (without @)"
91
+ },
92
+ "cursor": {
93
+ "type": "string",
94
+ "description": "Pagination cursor for next page"
95
+ },
96
+ "limit": {
97
+ "type": "integer",
98
+ "description": "Number of followers to return (default: 20)",
99
+ "default": 20
100
+ }
101
+ }
102
+ }
103
+ },
104
+ {
105
+ "name": "user_following",
106
+ "description": "Get list of users that a user follows with pagination support",
107
+ "method": "GET",
108
+ "path": "/user-following",
109
+ "input_schema": {
110
+ "type": "object",
111
+ "properties": {
112
+ "userId": {
113
+ "type": "string",
114
+ "description": "Twitter user ID"
115
+ },
116
+ "userName": {
117
+ "type": "string",
118
+ "description": "Twitter username (without @)"
119
+ },
120
+ "cursor": {
121
+ "type": "string",
122
+ "description": "Pagination cursor for next page"
123
+ },
124
+ "limit": {
125
+ "type": "integer",
126
+ "description": "Number of users to return (default: 20)",
127
+ "default": 20
128
+ }
129
+ }
130
+ }
131
+ },
132
+ {
133
+ "name": "user_mentions",
134
+ "description": "Get tweets that mention a specific user",
135
+ "method": "GET",
136
+ "path": "/user-mentions",
137
+ "input_schema": {
138
+ "type": "object",
139
+ "properties": {
140
+ "userId": {
141
+ "type": "string",
142
+ "description": "Twitter user ID"
143
+ },
144
+ "userName": {
145
+ "type": "string",
146
+ "description": "Twitter username (without @)"
147
+ },
148
+ "cursor": {
149
+ "type": "string",
150
+ "description": "Pagination cursor for next page"
151
+ },
152
+ "limit": {
153
+ "type": "integer",
154
+ "description": "Number of mentions to return (default: 20)",
155
+ "default": 20
156
+ }
157
+ }
158
+ }
159
+ },
160
+ {
161
+ "name": "user_search",
162
+ "description": "Search for Twitter users by keyword",
163
+ "method": "GET",
164
+ "path": "/user-search",
165
+ "input_schema": {
166
+ "type": "object",
167
+ "properties": {
168
+ "query": {
169
+ "type": "string",
170
+ "description": "Search query for finding users"
171
+ },
172
+ "cursor": {
173
+ "type": "string",
174
+ "description": "Pagination cursor for next page"
175
+ },
176
+ "limit": {
177
+ "type": "integer",
178
+ "description": "Number of users to return (default: 20)",
179
+ "default": 20
180
+ }
181
+ },
182
+ "required": [
183
+ "query"
184
+ ]
185
+ }
186
+ },
187
+ {
188
+ "name": "follow_check",
189
+ "description": "Check if two users follow each other",
190
+ "method": "GET",
191
+ "path": "/follow-check",
192
+ "input_schema": {
193
+ "type": "object",
194
+ "properties": {
195
+ "sourceUserId": {
196
+ "type": "string",
197
+ "description": "Source user's Twitter ID"
198
+ },
199
+ "sourceUserName": {
200
+ "type": "string",
201
+ "description": "Source user's Twitter username"
202
+ },
203
+ "targetUserId": {
204
+ "type": "string",
205
+ "description": "Target user's Twitter ID"
206
+ },
207
+ "targetUserName": {
208
+ "type": "string",
209
+ "description": "Target user's Twitter username"
210
+ }
211
+ }
212
+ }
213
+ },
214
+ {
215
+ "name": "tweet_get",
216
+ "description": "Get tweet(s) by ID - supports single tweet or multiple tweets",
217
+ "method": "GET",
218
+ "path": "/tweet-get",
219
+ "input_schema": {
220
+ "type": "object",
221
+ "properties": {
222
+ "tweetId": {
223
+ "type": "string",
224
+ "description": "Single tweet ID"
225
+ },
226
+ "tweetIds": {
227
+ "type": "array",
228
+ "items": {
229
+ "type": "string"
230
+ },
231
+ "description": "Array of tweet IDs to fetch multiple tweets"
232
+ }
233
+ }
234
+ }
235
+ },
236
+ {
237
+ "name": "tweet_search",
238
+ "description": "Search tweets by keyword with advanced filtering. Supports Latest or Top results.",
239
+ "method": "GET",
240
+ "path": "/tweet-search",
241
+ "input_schema": {
242
+ "type": "object",
243
+ "properties": {
244
+ "query": {
245
+ "type": "string",
246
+ "description": "Search query (supports Twitter search operators)"
247
+ },
248
+ "queryType": {
249
+ "type": "string",
250
+ "enum": [
251
+ "Latest",
252
+ "Top"
253
+ ],
254
+ "description": "Type of results: Latest (most recent) or Top (most relevant)",
255
+ "default": "Latest"
256
+ },
257
+ "cursor": {
258
+ "type": "string",
259
+ "description": "Pagination cursor for next page"
260
+ },
261
+ "limit": {
262
+ "type": "integer",
263
+ "description": "Number of tweets to return (default: 20)",
264
+ "default": 20
265
+ }
266
+ },
267
+ "required": [
268
+ "query"
269
+ ]
270
+ }
271
+ },
272
+ {
273
+ "name": "tweet_replies",
274
+ "description": "Get replies to a specific tweet",
275
+ "method": "GET",
276
+ "path": "/tweet-replies",
277
+ "input_schema": {
278
+ "type": "object",
279
+ "properties": {
280
+ "tweetId": {
281
+ "type": "string",
282
+ "description": "Tweet ID to get replies for"
283
+ },
284
+ "cursor": {
285
+ "type": "string",
286
+ "description": "Pagination cursor for next page"
287
+ },
288
+ "limit": {
289
+ "type": "integer",
290
+ "description": "Number of replies to return (default: 20)",
291
+ "default": 20
292
+ }
293
+ },
294
+ "required": [
295
+ "tweetId"
296
+ ]
297
+ }
298
+ },
299
+ {
300
+ "name": "tweet_quotes",
301
+ "description": "Get quote tweets of a specific tweet",
302
+ "method": "GET",
303
+ "path": "/tweet-quotes",
304
+ "input_schema": {
305
+ "type": "object",
306
+ "properties": {
307
+ "tweetId": {
308
+ "type": "string",
309
+ "description": "Tweet ID to get quotes for"
310
+ },
311
+ "cursor": {
312
+ "type": "string",
313
+ "description": "Pagination cursor for next page"
314
+ },
315
+ "limit": {
316
+ "type": "integer",
317
+ "description": "Number of quotes to return (default: 20)",
318
+ "default": 20
319
+ }
320
+ },
321
+ "required": [
322
+ "tweetId"
323
+ ]
324
+ }
325
+ },
326
+ {
327
+ "name": "tweet_retweets",
328
+ "description": "Get users who retweeted a specific tweet",
329
+ "method": "GET",
330
+ "path": "/tweet-retweets",
331
+ "input_schema": {
332
+ "type": "object",
333
+ "properties": {
334
+ "tweetId": {
335
+ "type": "string",
336
+ "description": "Tweet ID to get retweeters for"
337
+ },
338
+ "cursor": {
339
+ "type": "string",
340
+ "description": "Pagination cursor for next page"
341
+ },
342
+ "limit": {
343
+ "type": "integer",
344
+ "description": "Number of retweeters to return (default: 20)",
345
+ "default": 20
346
+ }
347
+ },
348
+ "required": [
349
+ "tweetId"
350
+ ]
351
+ }
352
+ },
353
+ {
354
+ "name": "tweet_thread",
355
+ "description": "Get full conversation thread including parent tweets and direct replies",
356
+ "method": "GET",
357
+ "path": "/tweet-thread",
358
+ "input_schema": {
359
+ "type": "object",
360
+ "properties": {
361
+ "tweetId": {
362
+ "type": "string",
363
+ "description": "Tweet ID to get thread for"
364
+ }
365
+ },
366
+ "required": [
367
+ "tweetId"
368
+ ]
369
+ }
370
+ },
371
+ {
372
+ "name": "trends",
373
+ "description": "Get current trending topics on Twitter",
374
+ "method": "GET",
375
+ "path": "/trends",
376
+ "input_schema": {
377
+ "type": "object",
378
+ "properties": {}
379
+ }
380
+ },
381
+ {
382
+ "name": "tweet_post",
383
+ "description": "Post a new tweet. Can also be used to reply to another tweet or include media.",
384
+ "method": "GET",
385
+ "path": "/tweet-post",
386
+ "input_schema": {
387
+ "type": "object",
388
+ "properties": {
389
+ "text": {
390
+ "type": "string",
391
+ "description": "Tweet text content (max 280 characters)"
392
+ },
393
+ "replyToTweetId": {
394
+ "type": "string",
395
+ "description": "Tweet ID to reply to (optional)"
396
+ },
397
+ "mediaIds": {
398
+ "type": "array",
399
+ "items": {
400
+ "type": "string"
401
+ },
402
+ "description": "Array of media IDs to attach (optional)"
403
+ }
404
+ },
405
+ "required": [
406
+ "text"
407
+ ]
408
+ }
409
+ },
410
+ {
411
+ "name": "tweet_like",
412
+ "description": "Like a tweet",
413
+ "method": "GET",
414
+ "path": "/tweet-like",
415
+ "input_schema": {
416
+ "type": "object",
417
+ "properties": {
418
+ "tweetId": {
419
+ "type": "string",
420
+ "description": "Tweet ID to like"
421
+ }
422
+ },
423
+ "required": [
424
+ "tweetId"
425
+ ]
426
+ }
427
+ },
428
+ {
429
+ "name": "tweet_unlike",
430
+ "description": "Remove like from a tweet",
431
+ "method": "GET",
432
+ "path": "/tweet-unlike",
433
+ "input_schema": {
434
+ "type": "object",
435
+ "properties": {
436
+ "tweetId": {
437
+ "type": "string",
438
+ "description": "Tweet ID to unlike"
439
+ }
440
+ },
441
+ "required": [
442
+ "tweetId"
443
+ ]
444
+ }
445
+ },
446
+ {
447
+ "name": "tweet_retweet",
448
+ "description": "Retweet a tweet",
449
+ "method": "GET",
450
+ "path": "/tweet-retweet",
451
+ "input_schema": {
452
+ "type": "object",
453
+ "properties": {
454
+ "tweetId": {
455
+ "type": "string",
456
+ "description": "Tweet ID to retweet"
457
+ }
458
+ },
459
+ "required": [
460
+ "tweetId"
461
+ ]
462
+ }
463
+ },
464
+ {
465
+ "name": "tweet_delete",
466
+ "description": "Delete a tweet (must be your own tweet)",
467
+ "method": "GET",
468
+ "path": "/tweet-delete",
469
+ "input_schema": {
470
+ "type": "object",
471
+ "properties": {
472
+ "tweetId": {
473
+ "type": "string",
474
+ "description": "Tweet ID to delete"
475
+ }
476
+ },
477
+ "required": [
478
+ "tweetId"
479
+ ]
480
+ }
481
+ },
482
+ {
483
+ "name": "follow_user",
484
+ "description": "Follow a Twitter user",
485
+ "method": "GET",
486
+ "path": "/follow-user",
487
+ "input_schema": {
488
+ "type": "object",
489
+ "properties": {
490
+ "userId": {
491
+ "type": "string",
492
+ "description": "Twitter user ID to follow"
493
+ },
494
+ "userName": {
495
+ "type": "string",
496
+ "description": "Twitter username to follow (without @)"
497
+ }
498
+ }
499
+ }
500
+ },
501
+ {
502
+ "name": "unfollow_user",
503
+ "description": "Unfollow a Twitter user",
504
+ "method": "GET",
505
+ "path": "/unfollow-user",
506
+ "input_schema": {
507
+ "type": "object",
508
+ "properties": {
509
+ "userId": {
510
+ "type": "string",
511
+ "description": "Twitter user ID to unfollow"
512
+ },
513
+ "userName": {
514
+ "type": "string",
515
+ "description": "Twitter username to unfollow (without @)"
516
+ }
517
+ }
518
+ }
519
+ },
520
+ {
521
+ "name": "dm_send",
522
+ "description": "Send a direct message to a Twitter user",
523
+ "method": "GET",
524
+ "path": "/dm-send",
525
+ "input_schema": {
526
+ "type": "object",
527
+ "properties": {
528
+ "recipientId": {
529
+ "type": "string",
530
+ "description": "Twitter user ID of the recipient"
531
+ },
532
+ "text": {
533
+ "type": "string",
534
+ "description": "Message text content"
535
+ },
536
+ "mediaId": {
537
+ "type": "string",
538
+ "description": "Media ID to attach (optional)"
539
+ }
540
+ },
541
+ "required": [
542
+ "recipientId",
543
+ "text"
544
+ ]
545
+ }
546
+ }
547
+ ]
548
+ }