Control surface
for Twitter.
Run by your agents.
Authorized Twitter account actions and Grok-backed research over a single MCP endpoint. No scraping around login walls, no copied secrets.
check this out: https://extweets.com/llms.txt. How do we get set up?
Paste this into your AI agent. It'll read our docs and work with you to get set up. Every Twitter account you connect comes with $2.00 of free credit, once per account.
Hand one URL to an OAuth-capable MCP client or MCP-enabled AI agent.
The client discovers the authorization server, registers itself, sends the human through approval, and receives its own access token. There is nothing to copy.
https://extweets.com/mcpAdd the endpoint
Use the MCP URL in any client that supports OAuth authorization.
Approve access
The client opens the flow and receives its own token from /token.
Agents run tools
Agents call list_x_accounts first, then pass account when more than one handle is connected.
Research, read, and act from connected accounts.
Research is separate from account actions. Public writes, DMs, follows, and paid usage are governed by enforceable limits, not polite instructions to an agent.
Grok research
ask_grok_xAsk Grok to research current Twitter posts using xAI X Search.ask_grok_webAsk Grok to research the web using xAI Web Search.
Connected accounts
list_x_accountsList the Twitter accounts connected to the current MCP user.set_default_x_accountChoose which connected account is used when no account is specified.
Read and search
search_tweetsSearch recent posts with standard Twitter search syntax.get_tweetFetch one post by ID.get_user_profileLook up a public profile by username.get_my_profileInspect the selected connected account.get_user_timelineFetch recent posts from a public user timeline.get_home_timelineFetch the selected account's home timeline.get_bookmarksFetch bookmarks for the selected connected account.get_mentionsFetch posts mentioning the selected account, including incoming replies and tags.get_recent_dmsFetch recent DM events across the selected account's conversations.get_dm_historyFetch the DM history between the selected account and one user.
Account actions
post_tweetPost from a selected connected account.upload_tweet_imageUpload an image for a post and receive a media ID. Pass a fetchable media_url (preferred) and the server downloads it; base64 also accepted.reply_to_tweetReply from a selected connected account.delete_tweetDelete a post from a selected connected account.like_tweetLike a post from a selected connected account.unlike_tweetRemove a like from a selected connected account.follow_userFollow a user from a selected connected account.unfollow_userUnfollow a user from a selected connected account.bookmark_tweetBookmark a post from a selected connected account.unbookmark_tweetRemove a bookmark from a selected connected account.send_dmSend a direct message from a selected connected account.
Prepaid credits. Pay only for what your agents run.
No subscription. Load only what you want your agents to be able to spend, and usage stops automatically at zero. The first time a Twitter account is connected to ExTweets it earns $2.00 of free credit, once per Twitter account, ever.
Twitter actions and Grok research are billed at the underlying X and xAI rates, plus a 20% service margin that keeps ExTweets running.
Protect the accounts. Constrain the agents using them.
Least privilege by default
You pick what each Twitter account allows, whether read-only, posting, or engagement, before Twitter is ever asked. DMs stay off unless you switch them on, and tools that lack a permission are blocked server-side.
Consent, then access
Every MCP client is approved by you on a consent screen that names the client and shows exactly what it gets. It receives its own token, with no reusable account secret to paste anywhere.
Token custody
Connection tokens are encrypted in D1, never returned to tools, and kept separate from short-lived OAuth login state. Disconnecting deletes them and revokes them on Twitter's side too.
Hard spend ceiling
Prepaid credits are the budget: when the balance hits zero, paid tools are rejected before any upstream call. An agent can never spend more than you loaded.
Write-rate ceilings you control
Per-client hourly caps on posting, engagement, deletes, and DMs are enforced before each call, and you can tighten every one of them, or switch a category off entirely, from the dashboard's Safety tab.
Audit, revoke, kill switch
Every call is logged with client, account, target, cost, and result. Pause all agents with one click, revoke any client instantly, or delete your whole account in one action: every client revoked, every Twitter account disconnected, tokens destroyed.