The Twitter MCP connector routes your AI agent's tool calls to Twitter's own MCP server through Scalekit. Each user signs in to Twitter once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 100 tools.
- Tools
- 100
- What they doRead · write · destructive
- 59 · 27 · 1459 read27 write14 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Twitter MCP server app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Twitter MCP connection
In AgentKit > Connections, create a Twitter MCP connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Twitter MCP server connections use your own OAuth app. Register one with Twitter MCP server and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Twitter MCP connection.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'twittermcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Twitter MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'twittermcp_get_users_me',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "twittermcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Twitter MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="twittermcp_get_users_me",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooltwittermcp_chat_media_downloadDownloads encrypted media bytes from an XChat conversation.Read-onlyChat Media Download
Downloads encrypted media bytes from an XChat conversation. The response body contains raw binary bytes. Returns JSON with the response bytes base64-encoded in `data`, plus `content_type` and `size_bytes`. Needs the OAuth2 scope `media.write`.
Inputs
idstringrequired- No description.
media_hash_keystringrequired- No description.
twittermcp_get_broadcastReturns a broadcast owned by the authenticated user.Read-onlyGet Broadcast
Returns a broadcast owned by the authenticated user.
Inputs
idstringrequired- The ID of the broadcast to retrieve.
broadcast.fieldsstring- A comma separated list of Broadcast fields to display.
twittermcp_get_broadcast_chatReturns newest-first chat messages for a broadcast owned by the authenticated user.Read-onlyGet Broadcast Chat
Returns newest-first chat messages for a broadcast owned by the authenticated user.
Inputs
idstringrequired- ID of the broadcast whose chat messages to return. The broadcast must be owned by the authenticated user.
broadcast_chat_message.fieldsstring- A comma separated list of BroadcastChatMessage fields to display.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- Maximum number of chat messages to return.
pagination_tokenstring- A 64-bit signed integer.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_chat_conversationReturns metadata for a Chat conversation including type, muted status, group details, and your unread state.Read-onlyGet Chat Conversation
Returns metadata for a Chat conversation including type, muted status, group details, and your unread state. For the unread state, request chat_conversation.fields=unread,last_read_event_id,newest_event_id: those fields give your read state, computed from your latest read receipt and the conversation's latest notifying message. Use chat_conversation.fields to select which fields are returned. Use expansions to hydrate member, admin, or participant user objects. Use user.fields to control which profile fields are returned for expanded users.
Inputs
idstringrequired- ID of the Chat conversation to retrieve metadata for.
chat_conversation.fieldsstring- A comma separated list of ChatConversation fields to display.
expansionsstring- A comma separated list of fields to expand.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_chat_conversation_eventsRetrieves the events of a specific Chat conversation, newest first, with pagination support: messages, key changes, group changes, and read receipts.Read-onlyGet Chat Conversation Events
Retrieves the events of a specific Chat conversation, newest first, with pagination support: messages, key changes, group changes, and read receipts. Events with an id above the conversation's last_read_event_id are unread: they come after the point you read up to. To collect them, page until an event's id is at or below it. Only `id` and `encoded_event` are always present. Events are either end-to-end encrypted or unencrypted, such as messages sent before the conversation was encrypted. Encrypted events carry `conversation_key_version`, and usually `conversation_token` and `message_event_signature`; treat an encrypted event without `message_event_signature` as unverified. An event without `conversation_key_version` is unencrypted. Decode each `encoded_event` client-side, and decrypt it with the conversation key named by `conversation_key_version` when that is present. A page holds up to `max_results` events and can hold fewer while `has_more` is true. For 1:1 conversations, provide the recipient's user ID; the server constructs the canonical conversation ID from the authenticated user and recipient.
Inputs
idstringrequired- No description.
chat_message_event.fieldsstring- A comma separated list of ChatMessageEvent fields to display.
max_resultsinteger- The maximum number of events to return.
pagination_tokenstring- The next_token from a previous response, to fetch the next page.
twittermcp_get_chat_conversationsRetrieves a list of Chat conversations for the authenticated user's inbox, newest first: the most recently active conversation comes first.Read-onlyGet Chat Conversations
Retrieves a list of Chat conversations for the authenticated user's inbox, newest first: the most recently active conversation comes first. The unread, last_read_event_id and newest_event_id fields give your read state, computed from your latest read receipt and each conversation's latest notifying message. Request them with chat_conversation.fields=unread,last_read_event_id,newest_event_id. The filters unread_only, type, is_archived, is_muted, participant_ids, participant_query, start_time and end_time are optional, and all filters must match (AND). participant_query keeps conversations where another participant's username, or a word of their display name, starts with the query, ignoring case and accents; with a leading @ it matches usernames only. It considers the 100 people who best match the query, uses only public profile information, and never matches group names, nicknames or messages. start_time and end_time apply to the time of each conversation's latest message. Each page covers max_results conversations and returns those that match, so a page can hold fewer than max_results, or none, while meta.next_token is set and has_more is true: keep paging, passing meta.next_token as pagination_token. Once a page reaches a conversation whose latest message is older than start_time, has_more is false. A pagination_token only works with the same filters as the request that returned it; with other filters, the request fails with a 400. When both are provided, `start_time` must be earlier than `end_time`.
Inputs
chat_conversation.fieldsstring- A comma separated list of ChatConversation fields to display.
end_timestring- ISO 8601, e.g. 2026-10-17T00:00:00Z. Chats whose latest message is before this time.
expansionsstring- A comma separated list of fields to expand.
is_archivedboolean- true: only archived; false: only not archived. Omit for both.
is_mutedboolean- true: only muted; false: only not muted. Omit for both.
max_resultsinteger- Conversations covered per page (1-1000, default 200). Filtered pages can return fewer.
pagination_tokenstring- meta.next_token from the previous page. Send the same filters with it, or the request fails.
participant_idsstring- Comma-separated numeric user IDs (1-10), all in the chat. Names or @handles: use participant_query.
participant_querystring- Name or @username prefix (1-50 chars); keeps chats where any other participant matches it.
start_timestring- ISO 8601, e.g. 2026-10-16T00:00:00Z. Chats whose latest message is at or after this time.
typestring- Only direct (1:1) or only group conversations. Omit for both.one of
directgroup unread_onlyboolean- Return only unread conversations. A page can be short; keep paging while has_more.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_chat_message_requestRetrieves the message request state of a 1:1 Chat conversation and its newest message events.Read-onlyGet Chat Message Request
Retrieves the message request state of a 1:1 Chat conversation and its newest message events. Like opening the request in an X app, reading it marks the returned messages as delivered and updates the unread badge.
Inputs
idstringrequired- The other user's ID, or both user IDs joined by a hyphen.
chat_message_request_detail.fieldsstring- A comma separated list of ChatMessageRequestDetail fields to display.
twittermcp_get_chat_message_requestsRetrieves the authenticated user's pending Chat message requests from one inbox.Read-onlyGet Chat Message Requests
Retrieves the authenticated user's pending Chat message requests from one inbox. Message contents are end-to-end encrypted unless the conversation is unencrypted. Accepting or deleting requests between pages can skip or repeat requests, and a page can be empty while `next_token` is set.
Inputs
chat_message_request.fieldsstring- A comma separated list of ChatMessageRequest fields to display.
inbox_typestring- Which message request inbox to list: `you_may_know` (the apps' Priority tab) or `low_quality` (th...one of
you_may_knowlow_quality max_resultsinteger- The maximum number of message requests to return.
pagination_tokenstring- The next_token from a previous response, to fetch the next page.
twittermcp_get_chat_moderatorsReturns the authenticated broadcaster's persistent moderators as User resources.Read-onlyGet Chat Moderators
Returns the authenticated broadcaster's persistent moderators as User resources. The list applies to all of their current and future broadcast chats.
Inputs
expansionsstring- A comma separated list of fields to expand.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_communities_by_idRetrieves details of a specific Community by its ID.Read-onlyGet Communities By Id
Retrieves details of a specific Community by its ID.
Inputs
idstringrequired- No description.
community.fieldsstring- A comma separated list of Community fields to display.
twittermcp_get_lists_by_idRetrieves details of a specific List by its ID.Read-onlyGet Lists By Id
Retrieves details of a specific List by its ID.
Inputs
idstringrequired- The ID of the List.
expansionsstring- A comma separated list of fields to expand.
list.fieldsstring- A comma separated list of List fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_lists_followersRetrieves a list of Users who follow a specific List by its ID.Read-onlyGet Lists Followers
Retrieves a list of Users who follow a specific List by its ID.
Inputs
idstringrequired- The ID of the List.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- The maximum number of results to return.
pagination_tokenstring- A 64-bit signed integer.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_lists_membersRetrieves a list of Users who are members of a specific List by its ID.Read-onlyGet Lists Members
Retrieves a list of Users who are members of a specific List by its ID.
Inputs
idstringrequired- No description.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- No description.
pagination_tokenstring- A 64-bit signed integer.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_lists_postsRetrieves a list of Posts associated with a specific List by its ID.Read-onlyGet Lists Posts
Retrieves a list of Posts associated with a specific List by its ID.
Inputs
idstringrequired- The ID of the List whose Posts to retrieve.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- Maximum number of results to return per page. Allowed range is defined by the X API for this endpoint.
media.fieldsstring- A comma separated list of Media fields to display.
pagination_tokenstring- A base32hex-encoded pagination token.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_newsRetrieves news story by its ID.Read-onlyGet News
Retrieves news story by its ID. Each returned story includes a `url` deeplinking to its x.com page.
Inputs
idstringrequired- No description.
news.fieldsstring- A comma separated list of News fields to display.
twittermcp_get_posts_by_idRetrieves details of a specific Post by its ID.Read-onlyGet Posts By Id
Retrieves details of a specific Post by its ID. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
idstringrequired- No description.
expansionsstring- A comma separated list of fields to expand.
media.fieldsstring- A comma separated list of Media fields to display.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_posts_by_idsRetrieves details of multiple Posts by their IDs.Read-onlyGet Posts By Ids
Retrieves details of multiple Posts by their IDs. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
idsstringrequired- (comma-separated)
expansionsstring- A comma separated list of fields to expand.
media.fieldsstring- A comma separated list of Media fields to display.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_posts_counts_recentRetrieves the count of Posts from the last 7 days matching a search query.Read-onlyGet Posts Counts Recent
Retrieves the count of Posts from the last 7 days matching a search query. At most one of `pagination_token`, `next_token` may be provided.
Inputs
querystringrequired- The search query to count matching Posts for.
end_timestring- The end of the time window, as an ISO 8601 timestamp.
granularitystring- The granularity of the returned counts.one of
minutehourday next_tokenstring- A base32hex-encoded pagination token.
pagination_tokenstring- A base32hex-encoded pagination token.
search_count.fieldsstring- A comma separated list of search count fields to display.
since_idstring- Returns results with a Post ID greater than (more recent than) this ID.
start_timestring- Must be within the last 7 days.
until_idstring- Returns results with a Post ID less than (older than) this ID.
twittermcp_get_posts_liking_usersRetrieves a list of Users who liked a specific Post by its ID.Read-onlyGet Posts Liking Users
Retrieves a list of Users who liked a specific Post by its ID.
Inputs
idstringrequired- No description.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- No description.
pagination_tokenstring- A base32hex-encoded pagination token.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_posts_quoted_postsRetrieves a list of Posts that quote a specific Post by its ID.Read-onlyGet Posts Quoted Posts
Retrieves a list of Posts that quote a specific Post by its ID. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
idstringrequired- The ID of the Post whose quote Posts to retrieve.
excludestring- (comma-separated)
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- Maximum number of results to return per page. Allowed range is defined by the X API for this endpoint.
media.fieldsstring- A comma separated list of Media fields to display.
pagination_tokenstring- A base32hex-encoded pagination token.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_posts_reposted_byRetrieves a list of Users who reposted a specific Post by its ID.Read-onlyGet Posts Reposted By
Retrieves a list of Users who reposted a specific Post by its ID.
Inputs
idstringrequired- The ID of the resource this call applies to.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- Maximum number of results to return.
pagination_tokenstring- A base32hex-encoded pagination token.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_scheduled_broadcastReturns a single scheduled broadcast by its alphanumeric broadcast id.Read-onlyGet Scheduled Broadcast
Returns a single scheduled broadcast by its alphanumeric broadcast id.
Inputs
idstringrequired- The ID of the resource this call applies to.
twittermcp_get_scheduled_callReturns a scheduled call the authenticated user organizes or is invited to, at its occurrence running now or its next one within a year: its time, call, recurrence and who is invited and how they answered.Read-onlyGet Scheduled Call
Returns a scheduled call the authenticated user organizes or is invited to, at its occurrence running now or its next one within a year: its time, call, recurrence and who is invited and how they answered. Changes can take a few seconds to show here. Use scheduled_call.fields to select which fields are returned.
Inputs
idstringrequired- The ID of the resource this call applies to.
call.fieldsstring- A comma separated list of Call fields to display.
expansionsstring- A comma separated list of fields to expand.
scheduled_call.fieldsstring- A comma separated list of ScheduledCall fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_sourceReturns one of the authenticated user's stream sources.Read-onlyGet Source
Returns one of the authenticated user's stream sources. Poll it after starting an encoder and wait for `is_stream_active` before going live. The stream key is not included; read it with GET /2/sources/:id/stream_key.
Inputs
idstringrequired- Source id, from GET /2/sources.
twittermcp_get_spaces_by_creator_idsRetrieves details of Spaces created by specified User IDs.Read-onlyGet Spaces By Creator Ids
Retrieves details of Spaces created by specified User IDs.
Inputs
user_idsstringrequired- (comma-separated)
expansionsstring- A comma separated list of fields to expand.
space.fieldsstring- A comma separated list of Space fields to display.
topic.fieldsstring- A comma separated list of Topic fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_spaces_by_idRetrieves details of a specific Space by its ID.Read-onlyGet Spaces By Id
Retrieves details of a specific Space by its ID.
Inputs
idstringrequired- The ID of the resource this call applies to.
expansionsstring- A comma separated list of fields to expand.
space.fieldsstring- A comma separated list of Space fields to display.
topic.fieldsstring- A comma separated list of Topic fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_spaces_by_idsRetrieves details of multiple Spaces by their IDs.Read-onlyGet Spaces By Ids
Retrieves details of multiple Spaces by their IDs.
Inputs
idsstringrequired- (comma-separated)
expansionsstring- A comma separated list of fields to expand.
space.fieldsstring- A comma separated list of Space fields to display.
topic.fieldsstring- A comma separated list of Topic fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_spaces_postsRetrieves a list of Posts shared in a specific Space by its ID.Read-onlyGet Spaces Posts
Retrieves a list of Posts shared in a specific Space by its ID.
Inputs
idstringrequired- No description.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- No description.
media.fieldsstring- A comma separated list of Media fields to display.
pagination_tokenstring- A base32hex-encoded pagination token.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_trends_by_woeidRetrieves trending topics for a specific location identified by its WOEID.Read-onlyGet Trends By Woeid
Retrieves trending topics for a specific location identified by its WOEID. Each returned trend includes a `url` deeplinking to its x.com search.
Inputs
woeidintegerrequired- No description.
max_trendsinteger- No description.
trend.fieldsstring- A comma separated list of Trend fields to display.
twittermcp_get_usage_creditsReturns the payer's developer-platform credit balance in USD.Read-onlyGet Usage Credits
Returns the payer's developer-platform credit balance in USD. total_balance is max(0, prepaid_balance + free_balance); prepaid_balance may be negative.
Inputs
This tool takes no inputs.
twittermcp_get_users_blockingReturns the Users that the given User is blocking.Read-onlyGet Users Blocking
Returns the Users that the given User is blocking.
Inputs
idstringrequired- The ID of the authenticated user whose blocked users to list.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- Maximum number of results to return per page. Allowed range is defined by the X API for this endpoint.
pagination_tokenstring- A base32hex-encoded pagination token returned as next_token by a previous call, used to fetch the next page.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_bookmark_foldersRetrieves a list of Bookmark folders created by the authenticated user.Read-onlyGet Users Bookmark Folders
Retrieves a list of Bookmark folders created by the authenticated user.
Inputs
idstringrequired- The ID of the authenticated user.
max_resultsinteger- Maximum number of results to return.
pagination_tokenstring- A base32hex-encoded pagination token.
twittermcp_get_users_bookmarksRetrieves a list of Posts bookmarked by the authenticated user.Read-onlyGet Users Bookmarks
Retrieves a list of Posts bookmarked by the authenticated user. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
idstringrequired- No description.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- No description.
media.fieldsstring- A comma separated list of Media fields to display.
pagination_tokenstring- A base32hex-encoded pagination token.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_bookmarks_by_folder_idRetrieves Posts in a specific Bookmark folder by its ID for the authenticated user.Read-onlyGet Users Bookmarks By Folder Id
Retrieves Posts in a specific Bookmark folder by its ID for the authenticated user. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
folder_idstringrequired- The ID of the Bookmark folder.
idstringrequired- The ID of the authenticated user.
max_resultsinteger- The maximum number of results to return.
pagination_tokenstring- A base32hex-encoded pagination token.
twittermcp_get_users_by_idRetrieves details of a specific User by their ID.Read-onlyGet Users By Id
Retrieves details of a specific User by their ID.
Inputs
idstringrequired- No description.
expansionsstring- A comma separated list of fields to expand.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_by_usernameRetrieves details of a specific User by their username.Read-onlyGet Users By Username
Retrieves details of a specific User by their username.
Inputs
usernamestringrequired- The username of the User to look up.
expansionsstring- A comma separated list of fields to expand.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_by_usernamesRetrieves details of multiple Users by their usernames.Read-onlyGet Users By Usernames
Retrieves details of multiple Users by their usernames.
Inputs
usernamesstringrequired- (comma-separated)
expansionsstring- A comma separated list of fields to expand.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_followed_listsRetrieves a list of Lists followed by a specific User by their ID.Read-onlyGet Users Followed Lists
Retrieves a list of Lists followed by a specific User by their ID.
Inputs
idstringrequired- No description.
expansionsstring- A comma separated list of fields to expand.
list.fieldsstring- A comma separated list of List fields to display.
max_resultsinteger- No description.
pagination_tokenstring- A 64-bit signed integer.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_liked_postsRetrieves a list of Posts liked by a specific User by their ID.Read-onlyGet Users Liked Posts
Retrieves a list of Posts liked by a specific User by their ID. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
idstringrequired- The ID of the resource this call applies to.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- Maximum number of results to return.
media.fieldsstring- A comma separated list of Media fields to display.
pagination_tokenstring- A base32hex-encoded pagination token.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_list_membershipsRetrieves a list of Lists that a specific User is a member of by their ID.Read-onlyGet Users List Memberships
Retrieves a list of Lists that a specific User is a member of by their ID.
Inputs
idstringrequired- No description.
expansionsstring- A comma separated list of fields to expand.
list.fieldsstring- A comma separated list of List fields to display.
max_resultsinteger- No description.
pagination_tokenstring- No description.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_meRetrieves details of the authenticated user.Read-onlyGet Users Me
Retrieves details of the authenticated user.
Inputs
expansionsstring- A comma separated list of fields to expand.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_me_followersReturns the Users who follow the authenticated user.Read-onlyGet Users Me Followers
Returns the Users who follow the authenticated user. Same results as `GET /2/users/{id}/followers` with your own user ID, without looking it up.
Inputs
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- The maximum number of users to return.
pagination_tokenstring- The next_token or previous_token from a previous response, to fetch that page. A base32hex-encode...
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_me_followingReturns the Users the authenticated user follows.Read-onlyGet Users Me Following
Returns the Users the authenticated user follows. Same results as `GET /2/users/{id}/following` with your own user ID, without looking it up.
Inputs
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- The maximum number of users to return.
pagination_tokenstring- The next_token or previous_token from a previous response, to fetch that page. A base32hex-encode...
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_mentionsRetrieves a list of Posts that mention a specific User by their ID.Read-onlyGet Users Mentions
Retrieves a list of Posts that mention a specific User by their ID. When both are provided, `start_time` must be earlier than `end_time`. When both are provided, `since_id` must be less than `until_id`. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
idstringrequired- No description.
end_timestring- Must be on or after 2010-11-06.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- No description.
media.fieldsstring- A comma separated list of Media fields to display.
pagination_tokenstring- A base32hex-encoded pagination token.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
since_idstring- No description.
start_timestring- Must be on or after 2010-11-06.
until_idstring- No description.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_owned_listsRetrieves a list of Lists owned by a specific User by their ID.Read-onlyGet Users Owned Lists
Retrieves a list of Lists owned by a specific User by their ID.
Inputs
idstringrequired- The ID of the User.
expansionsstring- A comma separated list of fields to expand.
list.fieldsstring- A comma separated list of List fields to display.
max_resultsinteger- Maximum number of results to return.
pagination_tokenstring- A 64-bit signed integer.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_pinned_listsRetrieves a list of Lists pinned by the authenticated user.Read-onlyGet Users Pinned Lists
Retrieves a list of Lists pinned by the authenticated user.
Inputs
idstringrequired- ID of the authenticated user whose pinned Lists to retrieve.
expansionsstring- A comma separated list of fields to expand.
list.fieldsstring- A comma separated list of List fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_postsRetrieves a list of Posts authored by a specific User by their ID.Read-onlyGet Users Posts
Retrieves a list of Posts authored by a specific User by their ID. When both are provided, `start_time` must be earlier than `end_time`. When both are provided, `since_id` must be less than `until_id`. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
idstringrequired- The ID of the User whose Posts to retrieve.
end_timestring- Must be on or after 2010-11-06.
excludestring- (comma-separated)
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- Maximum number of results to return per page. Allowed range is defined by the X API for this endpoint.
media.fieldsstring- A comma separated list of Media fields to display.
pagination_tokenstring- A base32hex-encoded pagination token.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
since_idstring- Only return Posts with an ID greater than this one. Must be less than until_id when both are given.
start_timestring- Must be on or after 2010-11-06.
until_idstring- Only return Posts with an ID less than this one.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_get_users_public_keyReturns a user's registered public keys for X Chat encryption.Read-onlyGet Users Public Key
Returns a user's registered public keys for X Chat encryption.
Inputs
idstringrequired- No description.
public_key.fieldsstring- A comma separated list of PublicKey fields to display.
twittermcp_get_users_public_keysReturns registered public keys for X Chat encryption for the specified users.Read-onlyGet Users Public Keys
Returns registered public keys for X Chat encryption for the specified users.
Inputs
idsstringrequired- (comma-separated)
public_key.fieldsstring- A comma separated list of PublicKey fields to display.
twittermcp_get_users_timelineRetrieves a reverse chronological list of Posts in the authenticated user's Timeline.Read-onlyGet Users Timeline
Retrieves a reverse chronological list of Posts in the authenticated user's Timeline. When both are provided, `start_time` must be earlier than `end_time`. When both are provided, `since_id` must be less than `until_id`. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
idstringrequired- No description.
end_timestring- Must be on or after 2010-11-06.
excludestring- (comma-separated)
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- No description.
media.fieldsstring- A comma separated list of Media fields to display.
pagination_tokenstring- A base32hex-encoded pagination token.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
since_idstring- No description.
start_timestring- Must be on or after 2010-11-06.
until_idstring- No description.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_list_broadcastsReturns the authenticated user's live-video broadcasts, or selected owned broadcasts when ids are provided.Read-onlyList Broadcasts
Returns the authenticated user's live-video broadcasts, or selected owned broadcasts when ids are provided. At most one of `ids`, `max_results` may be provided. At most one of `ids`, `pagination_token` may be provided.
Inputs
broadcast.fieldsstring- A comma separated list of Broadcast fields to display.
idsstring- Comma-separated broadcast IDs to retrieve instead of listing broadcasts.
max_resultsinteger- Maximum number of results to return.
pagination_tokenstring- Token for fetching the next page of results.
twittermcp_list_scheduled_broadcastsReturns scheduled broadcasts owned by the authenticated user.Read-onlyList Scheduled Broadcasts
Returns scheduled broadcasts owned by the authenticated user.
Inputs
max_resultsinteger- No description.
newest_start_timestring- No description.
oldest_start_timestring- No description.
pagination_tokenstring- No description.
twittermcp_list_scheduled_callsReturns the X calls on the authenticated user's calendar, earliest first: events on their X Calls calendar, and events on the Microsoft Outlook calendars they linked to X whose conference is an X call.Read-onlyList Scheduled Calls
Returns the X calls on the authenticated user's calendar, earliest first: events on their X Calls calendar, and events on the Microsoft Outlook calendars they linked to X whose conference is an X call. Calls still running at start_time are included. The window defaults to the next 24 hours and may span at most 7 days. Use scheduled_call.fields to select which fields are returned. When both are provided, `start_time` must be earlier than `end_time`.
Inputs
call.fieldsstring- A comma separated list of Call fields to display.
end_timestring- Calls starting before this time (RFC 3339). Defaults to 24 hours after start_time.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- The most calls to return. Defaults to 20.
scheduled_call.fieldsstring- A comma separated list of ScheduledCall fields to display.
start_timestring- Calls still running at this time or starting after it (RFC 3339). Defaults to now.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_list_sourcesReturns the authenticated user's RTMP/RTMPS stream sources.Read-onlyList Sources
Returns the authenticated user's RTMP/RTMPS stream sources. A source's `id` is the `source_id` that POST /2/broadcasts and scheduled broadcasts take. Stream keys are not included; read one with GET /2/sources/:id/stream_key.
Inputs
This tool takes no inputs.
twittermcp_search_communitiesRetrieves a list of Communities matching the specified search query.Read-onlySearch Communities
Retrieves a list of Communities matching the specified search query.
Inputs
querystringrequired- The search query string.
community.fieldsstring- A comma separated list of Community fields to display.
max_resultsinteger- Maximum number of results to return.
next_tokenstring- Token for fetching the next page of results.
pagination_tokenstring- Token for fetching the next or previous page of results.
twittermcp_search_newsRetrieves a list of News stories matching the specified search query.Read-onlySearch News
Retrieves a list of News stories matching the specified search query. Each returned story includes a `url` deeplinking to its x.com page.
Inputs
querystringrequired- The search query string.
max_age_hoursinteger- Maximum age of news stories in hours.
max_resultsinteger- Maximum number of results to return.
news.fieldsstring- A comma separated list of News fields to display.
twittermcp_search_posts_allRetrieves Posts from the full archive matching a search query.Read-onlySearch Posts All
Retrieves Posts from the full archive matching a search query. At most one of `start_time`, `since_id` may be provided. At most one of `end_time`, `until_id` may be provided. At most one of `pagination_token`, `next_token` may be provided. Each returned post includes a `url` deeplinking to it on x.com.
Inputs
querystringrequired- No description.
end_timestring- No description.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- No description.
media.fieldsstring- A comma separated list of Media fields to display.
next_tokenstring- A base32hex-encoded pagination token.
pagination_tokenstring- A base32hex-encoded pagination token.
place.fieldsstring- A comma separated list of Place fields to display.
poll.fieldsstring- A comma separated list of Poll fields to display.
post.fieldsstring- A comma separated list of Post fields to display.
since_idstring- No description.
sort_orderstring- No description.one of
recencyrelevancy start_timestring- No description.
until_idstring- No description.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_search_spacesRetrieves a list of Spaces matching the specified search query.Read-onlySearch Spaces
Retrieves a list of Spaces matching the specified search query.
Inputs
querystringrequired- The search term used to find Spaces by title or topic.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- Maximum number of results to return per page. Allowed range is defined by the X API for this endpoint.
space.fieldsstring- A comma separated list of Space fields to display.
statestring- Filter Spaces by state: live, scheduled, or all.one of
livescheduledall topic.fieldsstring- A comma separated list of Topic fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_search_usersRetrieves a list of Users matching a search query.Read-onlySearch Users
Retrieves a list of Users matching a search query.
Inputs
querystringrequired- No description.
expansionsstring- A comma separated list of fields to expand.
max_resultsinteger- No description.
next_tokenstring- No description.
post.fieldsstring- A comma separated list of Post fields to display.
user.fieldsstring- A comma separated list of User fields to display.
twittermcp_accept_chat_message_requestAccepts the other user's pending message request in a 1:1 Chat conversation, which moves to the authenticated user's inbox.WriteAccept Chat Message Request
Accepts the other user's pending message request in a 1:1 Chat conversation, which moves to the authenticated user's inbox. Without a pending request, including after a successful accept, the response is 404. Replying to a request does not accept it.
Inputs
idstringrequired- The other user's ID, or both user IDs joined by a hyphen.
twittermcp_add_chat_moderatorAdds a moderator to the authenticated broadcaster's persistent list and returns the updated moderator user IDs.WriteAdd Chat Moderator
Adds a moderator to the authenticated broadcaster's persistent list and returns the updated moderator user IDs. The list applies to all current and future broadcast chats.
Inputs
user_idstringrequired- The user to appoint as a moderator.
twittermcp_add_conversation_keysAdds (initializes or rotates) the encryption keys for a Chat conversation.WriteAdd Conversation Keys
Adds (initializes or rotates) the encryption keys for a Chat conversation. Call this before sending messages in a new 1:1 conversation, and again with a newer key version to rotate the conversation key. For 1:1 conversations, provide the recipient's user ID as the conversation id; the server constructs the canonical conversation ID from the authenticated user and recipient. The request body must contain the conversation key version and participant keys (the conversation key encrypted for each participant using their public key).
Inputs
conversation_key_versionstringrequired- Version of the conversation encryption key (typically a timestamp in milliseconds).
conversation_participant_keysarrayrequired- Encrypted conversation keys for each participant.
idstringrequired- No description.
action_signaturesarray- Signatures for this action, forwarded in the order they are sent.
base64_encoded_key_rotationstring- Base64-encoded key rotation payload for ratchet tree key management.
twittermcp_add_lists_memberAdds a User to a specific List by its ID.WriteAdd Lists Member
Adds a User to a specific List by its ID.
Inputs
idstringrequired- No description.
user_idstringrequired- No description.
twittermcp_article_create_draftCreates a new Article draft that can later be published.WriteArticle Create Draft
Creates a new Article draft that can later be published.
Inputs
content_stateobjectrequired- No description.
titlestringrequired- The title of the Article.
cover_mediaobject- No description.
twittermcp_chat_media_upload_appendAppends media data to an XChat upload session.WriteChat Media Upload Append
Appends media data to an XChat upload session. Needs the OAuth2 scope `media.write`.
Inputs
conversation_idstringrequired- The XChat conversation the upload belongs to.
idstringrequired- ID of the XChat upload session to append the media segment to.
mediastringrequired- The media segment bytes: base64-encoded in JSON bodies, raw bytes in multipart bodies.
media_hash_keystringrequired- The media hash key returned by the initialize step.
segment_indexintegerrequired- The index of this segment in the upload sequence.
twittermcp_chat_media_upload_finalizeFinalizes an XChat media upload session.WriteChat Media Upload Finalize
Finalizes an XChat media upload session. Needs the OAuth2 scope `media.write`.
Inputs
conversation_idstringrequired- The XChat conversation the upload belongs to.
idstringrequired- The ID of the media upload session to finalize.
media_hash_keystringrequired- The media hash key returned by the initialize step.
num_partsstringrequired- Total number of uploaded parts, as a numeric string.
message_idstring- Optional message identifier associated with the upload.
ttl_msecstring- Optional TTL for the media in milliseconds, as a numeric string.
twittermcp_chat_media_upload_initializeInitializes an XChat media upload session.WriteChat Media Upload Initialize
Initializes an XChat media upload session. Needs the OAuth2 scope `media.write`.
Inputs
conversation_idstringrequired- The XChat conversation the upload belongs to.
total_bytesintegerrequired- Total size of the media upload in bytes.
twittermcp_create_listsCreates a new List for the authenticated user.WriteCreate Lists
Creates a new List for the authenticated user.
Inputs
namestringrequired- Name of the List (1-25 characters).
descriptionstring- Description of the List (up to 100 characters).
privateboolean- Whether the List is private.
twittermcp_create_postsCreates a new Post for the authenticated user, or edits an existing Post when edit_options are provided.WriteCreate Posts
Creates a new Post for the authenticated user, or edits an existing Post when edit_options are provided. Supports paid partnership disclosure via the paid_partnership field.
Inputs
card_uristring- Card URI parameter.
community_idstring- Community to post the tweet to.
direct_message_deep_linkstring- Direct message deep link.
edit_optionsobject- Object with previous_post_id, the ID of the Post being edited.
for_super_followers_onlyboolean- Restrict tweet to super followers.
geoobject- Object with place_id, the Place ID used for geo tagging.
made_with_aiboolean- Disclose that the tweet contains AI-generated media.
mediaobject- Media object. media_ids (array of media IDs) is required; optional keys include description, title, embeddable, preview_media_id, tagged_user_ids and call_to_actions (app_install, visit_site, watch_now).
nullcastboolean- If true, the tweet is not shown in the public timeline.
paid_partnershipboolean- Disclose that the tweet is a paid partnership.
pollobject- Poll object. options (2-4 choices, 1-25 characters each) and duration_minutes are required; reply_settings is optional.
quote_tweet_idstring- Tweet ID to quote.
replyobject- Reply object. in_reply_to_tweet_id is required; optional keys are exclude_reply_user_ids and auto_populate_reply_metadata.
reply_settingsstring- Who can reply to this tweet.one of
followingmentionedUserssubscribersverified share_with_followersboolean- Share an exclusive (super-follower) tweet with all followers.
textstring- Text of the tweet. Required unless media is provided. Defaulted to an empty string so it is alwa...
twittermcp_create_scheduled_broadcastSchedules a broadcast for the authenticated user on one of their sources: `source_id` is required.WriteCreate Scheduled Broadcast
Schedules a broadcast for the authenticated user on one of their sources: `source_id` is required. Passing a stream key as `source_id` is deprecated and stops working when the /2/users/:id/sources and /2/users/:id/broadcasts routes reach end of life on January 1, 2027; pass the source's `id` from GET /2/sources instead.
Inputs
scheduled_start_msstringrequired- Start time, ms since Unix epoch (decimal string).
source_idstringrequired- Source to bind: a source's `id` from GET /2/sources. A stream key is also accepted but deprecated...
available_for_replayboolean- Enable replay.
chat_optionstring- Who can chat (numeric string): `0` default, `1` chat off, `2` everyone, `3` verified accounts, `4...
descriptionstring- Description.
is_lockedboolean- Lock the broadcast.
localestring- Locale.
manual_publishboolean- If true, do not auto-publish at start; call POST .../live when ready.
recurrenceobject- No description.
scheduled_end_msstring- Optional end time, ms since Unix epoch (decimal string). Omit for an open-ended broadcast.
telecast_idstring- Deprecated: telecast associations are being retired and this field will be ignored.
thumbnail_media_idstring- Pre-live slate media id (numeric string).
titlestring- Title / status text.
twittermcp_create_sourceCreates a persistent RTMP/RTMPS ingest point for the authenticated user.WriteCreate Source
Creates a persistent RTMP/RTMPS ingest point for the authenticated user. Push an encoder to `rtmps_url` with the returned `stream_key`. This is the only response that includes the stream key; read it later with GET /2/sources/:id/stream_key.
Inputs
namestringrequired- Label for the source.
regionstringrequired- Ingest region, as returned by GET /2/region. us-west-1 and us-west-2 ingest in US West; us-east-1...
twittermcp_create_users_bookmarkAdds one or more Posts to the authenticated user's Bookmarks.WriteCreate Users Bookmark
Adds one or more Posts to the authenticated user's Bookmarks. Supply `tweet_id` for a single Post, or `tweet_ids` (at most 25) to bookmark several in one request. Optional `folder_id` applies to every Post in the request. Billing and rate limits still apply per HTTP request.
Inputs
idstringrequired- No description.
folder_idstring- Optional ID of the Bookmark folder to add the Post(s) to. When omitted, Posts are added to the us...
tweet_idstring- The ID of the Post to add to the user's Bookmarks. Mutually exclusive with `tweet_ids`.
tweet_idsarray- Post IDs to add to the user's Bookmarks. At most 25. Mutually exclusive with `tweet_id`.
twittermcp_create_users_bookmark_folderCreates a new Bookmark folder for the authenticated user.WriteCreate Users Bookmark Folder
Creates a new Bookmark folder for the authenticated user.
Inputs
idstringrequired- ID of the authenticated user who owns the new Bookmark folder.
namestringrequired- Name of the Bookmark folder (1-25 characters).
twittermcp_follow_listCauses the authenticated user to follow a specific List by its ID.WriteFollow List
Causes the authenticated user to follow a specific List by its ID.
Inputs
idstringrequired- No description.
list_idstringrequired- No description.
twittermcp_go_live_scheduled_broadcastPublishes a schedule that was created or updated with `manual_publish: true`.WriteGo Live Scheduled Broadcast
Publishes a schedule that was created or updated with `manual_publish: true`. Without that flag the coordinator auto-publishes at start and this call is rejected.
Inputs
idstringrequired- No description.
twittermcp_mark_chat_conversation_readMarks a specific Chat conversation as read on behalf of the authenticated user.WriteMark Chat Conversation Read
Marks a specific Chat conversation as read on behalf of the authenticated user. For 1:1 conversations, provide the recipient's user ID; the server constructs the canonical conversation ID from the authenticated user and recipient. Without action_signatures the conversation is marked read up to its newest event and the read receipt is unsigned. With one action signature over a MarkConversationReadEvent, the server sends that signed read receipt, marking the conversation read up to the event it names.
Inputs
idstringrequired- The ID of the resource this call applies to.
action_signaturesarray- Signature over the read receipt (a MarkConversationReadEvent). Omit to send it unsigned.
twittermcp_mark_chat_conversation_unreadMarks a specific Chat conversation as unread on behalf of the authenticated user.WriteMark Chat Conversation Unread
Marks a specific Chat conversation as unread on behalf of the authenticated user. For 1:1 conversations, provide the recipient's user ID; the server constructs the canonical conversation ID from the authenticated user and recipient.
Inputs
idstringrequired- No description.
twittermcp_pin_listCauses the authenticated user to pin a specific List by its ID.WritePin List
Causes the authenticated user to pin a specific List by its ID.
Inputs
idstringrequired- The ID of the authenticated user pinning the List.
list_idstringrequired- The ID of the List to pin.
twittermcp_respond_to_scheduled_callAccepts, declines or tentatively accepts an invitation to a scheduled call for the authenticated user.WriteRespond To Scheduled Call
Accepts, declines or tentatively accepts an invitation to a scheduled call for the authenticated user. For a recurring call, scope and occurrence_start_time pick the occurrences the answer is for: all of them (the default), one, or one and every one after it.
Inputs
idstringrequired- No description.
responsestringrequired- The answer to the invitation.one of
accepteddeclinedtentative occurrence_start_timestring- Start of the occurrence that scope this or this_and_following refers to (RFC 3339).
scopestring- Which occurrences of a recurring call: all (the default without occurrence_start_time), this (the...one of
allthisthis_and_following
twittermcp_schedule_callPuts an X call on the authenticated user's X Calls calendar, with them as its organizer, and invites people to it.WriteSchedule Call
Puts an X call on the authenticated user's X Calls calendar, with them as its organizer, and invites people to it. The call exists right away: share its join_url, or put an agent in it at start time with POST /2/calls/:id/join. A recurrence (an RFC 5545 RRULE) repeats it. Invitees get an email unless notify_invitees is false.
Inputs
start_timestringrequired- When the call starts (RFC 3339); not in the past.
descriptionstring- What the call is about.
duration_minutesinteger- How long the call lasts, in minutes. Defaults to 30; at most 31 days.
invitee_idsarray- X user ids of the people to invite.
notify_inviteesboolean- Whether invitees get an email about the call. Defaults to true.
recurrencestring- RFC 5545 RRULE to repeat the call by, such as FREQ=WEEKLY;BYDAY=MO; the RRULE: prefix is optional.
time_zonestring- IANA time zone the recurrence follows, such as America/Los_Angeles.
titlestring- Title invitees see.
twittermcp_send_chat_messageSends a message or reaction to a specific Chat conversation.WriteSend Chat Message
Sends a message or reaction to a specific Chat conversation. Send `encoded_message_create_event`, an end-to-end encrypted event built with the Chat XDK. `content`, a plaintext message or reaction sent unencrypted, is only a fallback for a 1:1 conversation that X Chat can't encrypt because one of the two users has connected an enterprise app that reads their DMs; check that the recipient's `receives_your_chat` user field is `unencrypted` before using it. Otherwise a `content` send is refused, and retrying it won't help: HTTP 400 https://api.x.com/2/problems/encryption-required when the conversation can be encrypted or is a group (send `encoded_message_create_event` instead), 400 https://api.x.com/2/problems/xchat-setup-required when you haven't set up X Chat, 400 https://api.x.com/2/problems/recipient-xchat-setup-required when the recipient hasn't, and 403 https://api.x.com/2/problems/message-request-not-supported when it would be a message request. HTTP 503 https://api.x.com/2/problems/chat-permissions-unavailable means the check failed and nothing was sent; retry it. For 1:1 conversations, provide the recipient's user ID; the server constructs the canonical conversation ID from the authenticated user and recipient. A recipient who cannot be messaged (closed inbox, system/notification account, or a 1:1 block) returns HTTP 403 with type https://api.x.com/2/problems/recipient-not-messageable.
Inputs
idstringrequired- The Chat conversation ID. For a 1:1 conversation, provide the recipient's user ID. Sending posts a real message from the authenticated account.
message_idstringrequired- Unique identifier for this message.
contentobject- Plaintext message or reaction sent unencrypted. Only a fallback for 1:1 conversations that X Chat cannot encrypt; otherwise use encoded_message_create_event. Provide one of message, reaction_add or reaction_remove as a JSON object.
conversation_tokenstring- Optional conversation token.
encoded_message_create_eventstring- Base64-encoded Thrift MessageCreateEvent containing encrypted message contents. Omit when sending...
encoded_message_event_signaturestring- Base64-encoded Thrift MessageEventSignature for message verification.
xdk_versionstring- Version of the Chat XDK that produced the payload.
twittermcp_send_chat_typing_indicatorSends a typing indicator to a specific Chat conversation on behalf of the authenticated user.WriteSend Chat Typing Indicator
Sends a typing indicator to a specific Chat conversation on behalf of the authenticated user. For 1:1 conversations, provide the recipient's user ID; the server constructs the canonical conversation ID from the authenticated user and recipient.
Inputs
idstringrequired- No description.
twittermcp_update_listsUpdates the details of a specific List owned by the authenticated user by its ID.WriteUpdate Lists
Updates the details of a specific List owned by the authenticated user by its ID.
Inputs
idstringrequired- ID of the List to update. The List must be owned by the authenticated user.
descriptionstring- New description for the List (up to 100 characters).
namestring- New name for the List (1-25 characters).
privateboolean- Whether the List is private.
twittermcp_update_scheduled_broadcastUpdates a scheduled broadcast.WriteUpdate Scheduled Broadcast
Updates a scheduled broadcast. Path `:id` is the broadcast id; the body must include `scheduled_broadcast_id`. Re-send every field that should be kept. Passing a stream key as `source_id` is deprecated and stops working when the /2/users/:id/sources and /2/users/:id/broadcasts routes reach end of life on January 1, 2027; pass the source's `id` from GET /2/sources instead.
Inputs
idstringrequired- No description.
scheduled_broadcast_idstringrequired- Numeric scheduler id from create/list/get.
scheduled_end_msstringrequired- End time, ms since Unix epoch (decimal string).
scheduled_start_msstringrequired- Start time, ms since Unix epoch (decimal string).
available_for_replayboolean- Enable replay.
chat_optionstring- Who can chat (numeric string): `0` default, `1` chat off, `2` everyone, `3` verified accounts, `4...
descriptionstring- Description.
is_lockedboolean- Lock the broadcast.
localestring- Locale.
manual_publishboolean- If true, do not auto-publish at start; call POST .../live when ready.
roll_forwardboolean- Deprecated: recurring schedules are being retired and `true` will be rejected.
source_idstring- Source to bind: a source's `id` from GET /2/sources. A stream key is also accepted but deprecated...
thumbnail_media_idstring- Pre-live slate media id (numeric string).
titlestring- Title / status text.
twittermcp_update_scheduled_callMoves, renames or re-invites a scheduled call the authenticated user organizes.WriteUpdate Scheduled Call
Moves, renames or re-invites a scheduled call the authenticated user organizes. Only the fields sent change. For a recurring call, scope and occurrence_start_time pick the occurrences: all of them (the default), one, or one and every one after it.
Inputs
idstringrequired- No description.
descriptionstring- What the call is about.
duration_minutesinteger- How long the call lasts, in minutes.
invitee_idsarray- Everyone to invite: replaces the invite list. At most 25 of them may be people not invited yet.
notify_inviteesboolean- Whether invitees get an email about the change. Defaults to true.
occurrence_start_timestring- Start of the occurrence that scope this or this_and_following refers to (RFC 3339).
recurrencestring- RFC 5545 RRULE to repeat the call by, such as FREQ=WEEKLY;BYDAY=MO.
scopestring- Which occurrences of a recurring call: all (the default without occurrence_start_time), this (the...one of
allthisthis_and_following start_timestring- When the call (or the chosen occurrence) starts now (RFC 3339).
time_zonestring- IANA time zone the recurrence follows.
titlestring- Title invitees see.
twittermcp_update_sourceRenames one of the authenticated user's stream sources.WriteUpdate Source
Renames one of the authenticated user's stream sources.
Inputs
idstringrequired- Source id, from GET /2/sources.
namestringrequired- New label for the source.
twittermcp_archive_chat_conversationArchives a Chat conversation for the authenticated user only.DestructiveArchive Chat Conversation
Archives a Chat conversation for the authenticated user only. Archiving an archived conversation changes nothing. Works for group and 1:1 conversations. For 1:1 conversations, provide the recipient's user ID; the server constructs the canonical conversation ID from the authenticated user and recipient.
Inputs
idstringrequired- The ID of the conversation: a group ID starting with `g`, the other user's ID for a 1:1 conversat...
action_signaturesarray- Signatures for this action, forwarded in the order they are sent.
twittermcp_cancel_scheduled_callCancels a scheduled call the authenticated user organizes, and takes it off invitees' calendars.DestructiveCancel Scheduled Call
Cancels a scheduled call the authenticated user organizes, and takes it off invitees' calendars. For a recurring call, scope and occurrence_start_time pick the occurrences: all of them (the default), one, or one and every one after it. Cancelling what is already cancelled succeeds.
Inputs
idstringrequired- The ID of the scheduled call to cancel. The authenticated user must be the organizer.
notify_inviteesboolean- Whether invitees get an email about it. Defaults to true.
occurrence_start_timestring- Start of the occurrence that scope this or this_and_following refers to (RFC 3339).
scopestring- Which occurrences: all (the default without occurrence_start_time), this (the default with it), o...one of
allthisthis_and_following
twittermcp_delete_scheduled_broadcastDeletes a scheduled broadcast by its alphanumeric broadcast id.DestructiveDelete Scheduled Broadcast
Deletes a scheduled broadcast by its alphanumeric broadcast id.
Inputs
idstringrequired- The alphanumeric ID of the scheduled broadcast to delete. This permanently deletes the broadcast.
roll_forwardboolean- Deprecated: recurring schedules are being retired and `true` will be rejected.
twittermcp_delete_sourceDeletes one of the authenticated user's stream sources.DestructiveDelete Source
Deletes one of the authenticated user's stream sources.
Inputs
idstringrequired- Source id, from GET /2/sources.
twittermcp_delete_users_bookmarkRemoves a Post from the authenticated user's Bookmarks by its ID.DestructiveDelete Users Bookmark
Removes a Post from the authenticated user's Bookmarks by its ID.
Inputs
idstringrequired- No description.
tweet_idstringrequired- No description.
twittermcp_mute_broadcast_chat_userPrevents a user from posting further messages in a running broadcast chat.DestructiveMute Broadcast Chat User
Prevents a user from posting further messages in a running broadcast chat. When `end_at_ms` is provided, the mute expires at that time. The authenticated user must be the broadcast host or a moderator.
Inputs
idstringrequired- The ID of the broadcast whose chat the user is muted in.
user_idstringrequired- The user to mute.
end_at_msstring- The Unix timestamp in milliseconds when the mute expires. Omit this field to mute indefinitely.
message_idstring- A chat message to remove while muting the user.
twittermcp_remove_chat_moderatorRemoves a moderator from the authenticated broadcaster's persistent list and returns the updated moderator user IDs.DestructiveRemove Chat Moderator
Removes a moderator from the authenticated broadcaster's persistent list and returns the updated moderator user IDs.
Inputs
user_idstringrequired- A 64-bit signed integer.
twittermcp_remove_lists_member_by_user_idRemoves a User from a List by their ID.DestructiveRemove Lists Member By User Id
Removes a User from a List by their ID.
Inputs
idstringrequired- No description.
user_idstringrequired- No description.
twittermcp_unarchive_chat_conversationUnarchives a Chat conversation for the authenticated user only.DestructiveUnarchive Chat Conversation
Unarchives a Chat conversation for the authenticated user only. Unarchiving a conversation that is not archived changes nothing. Works for group and 1:1 conversations. For 1:1 conversations, provide the recipient's user ID; the server constructs the canonical conversation ID from the authenticated user and recipient.
Inputs
idstringrequired- The ID of the conversation: a group ID starting with `g`, the other user's ID for a 1:1 conversat...
twittermcp_unfollow_listCauses the authenticated user to unfollow a List by its ID.DestructiveUnfollow List
Causes the authenticated user to unfollow a List by its ID.
Inputs
idstringrequired- The ID of the authenticated user who will unfollow the List.
list_idstringrequired- The ID of the List to unfollow.
twittermcp_unmute_broadcast_chat_userAllows a muted user to post messages in a running broadcast chat again.DestructiveUnmute Broadcast Chat User
Allows a muted user to post messages in a running broadcast chat again. The authenticated user must be the broadcast host or a moderator.
Inputs
idstringrequired- No description.
user_idstringrequired- A 64-bit signed integer.
twittermcp_unpin_listCauses the authenticated user to unpin a List by its ID.DestructiveUnpin List
Causes the authenticated user to unpin a List by its ID.
Inputs
idstringrequired- No description.
list_idstringrequired- No description.
twittermcp_users_id_blockCauses the source User to block the target User.DestructiveUsers Id Block
Causes the source User to block the target User.
Inputs
idstringrequired- The ID of the resource this call applies to.
target_user_idstringrequired- The numeric ID of the target user.
twittermcp_users_id_unblockCauses the source User to unblock the target User.DestructiveUsers Id Unblock
Causes the source User to unblock the target User.
Inputs
source_user_idstringrequired- The numeric ID of the source user (the account performing the action).
target_user_idstringrequired- The numeric ID of the target user.
No tools match.