Post to X from your agents, and from your calendar.
One key gives any MCP or REST client a hosted endpoint and 43 tools. The calendar, the studio and the analytics read the same queue your agent writes to, so anyone on the team can review or reschedule without touching the API. No X developer account.
Free for 7 days, then from $11.99 a month. Cancel anytime.
{
"mcpServers": {
"opentweet": {
"url": "https://mcp.opentweet.io/mcp",
"headers": {
"Authorization": "Bearer ot_your_key"
}
}
}
}Then you say
“Schedule this thread for Tuesday at 9am, and add the release notes as an Article.”
It lands in the queue, and on the calendar, at 09:00 Tuesday.
Cross-posting
Post to X and Bluesky at the same time, from one draft.
Write the post or the thread once, tick both networks, and each one publishes it through its own API as a native post that stands on its own. Nothing is retyped into a second composer, and nothing on Bluesky is a link back to your tweet.
Connecting Bluesky takes a handle and one approval, because Bluesky issues no API keys and there is no developer account to apply for. OpenTweet then records the outcome per network, so you can see what published, what failed and what was skipped rather than guessing.
How cross-posting worksShipped the hosted MCP endpoint today. One URL, no local install, and your agent can post to X without an X developer account.
148 characters·1 image with alt text
Cross-post to
- X
- Bluesky
- LinkedInsoon
- Threadssoon
Publish result
- XPublished · 14:02
- BlueskyPublished · 14:02
- Native posts, not link mirrors
- Each network publishes the real text through its own API. No "see my tweet" link on Bluesky, and no screenshot of one.
- Threads post as real reply chains
- Write the thread once. Every network gets a proper chain, with each part carrying its own images and alt text.
- Nothing to apply for on Bluesky
- Bluesky issues no API keys and runs no developer program, so there is no application, no approval wait and no rate-limit tier to negotiate.
- No password, and no App Password
- You authorize on the server that holds your account and OpenTweet keeps a scoped atproto OAuth grant. Self-hosted servers work, because OAuth resolves your server from your handle.
- Skipped, never truncated
- Bluesky stops at 300 characters, X at 280 or 25,000 on Premium. A post too long for one network is skipped there with a stated reason and still goes out everywhere it fits.
- Your agent cross-posts too
- The same key drives it. Pass platforms on the REST API or the MCP server and one call fans out to every network you picked.
For developers and AI agents
Twitter MCP Server, REST API & CLI
Three ways in, all on the same key. Post to X from your terminal, your agent, or a CI pipeline. No X developer account, no per-post meter charging $0.20 every time a post carries a link.
Add 43 X tools to Claude Desktop, Cursor or Claude Code
Add one config block to Claude Desktop or Cursor and your AI agent gets 43 tools: schedule tweets, publish threads, fetch analytics, manage your queue, all without touching a browser. Works with OpenClaw too.
MCP setup guide{
"mcpServers": {
"opentweet": {
"command": "npx",
"args": ["-y", "@opentweet/mcp-server"],
"env": {
"OPENTWEET_API_KEY": "ot_your_key_here"
}
}
}
}One POST from any language, no meter
A single POST request from any language: Python, Go, Ruby, PHP, or raw curl. No Twitter developer account, no API approval process, no per-post meter charging $0.20 every time a post carries a link. Just your OpenTweet key and you're live.
Full API reference# post immediately
curl -X POST https://opentweet.io/api/v1/posts \
-H "Authorization: Bearer ot_xxx" \
-d '{"text": "shipped v2.0"}'
# schedule for tomorrow 9am
curl -X POST https://opentweet.io/api/v1/posts \
-H "Authorization: Bearer ot_xxx" \
-d '{"text": "launch day!", "scheduled_date": "2026-09-02T09:00:00Z"}'
# → 200 OK
{ "id": "1928374650123", "status": "scheduled" }Tweet from your terminal or CI/CD pipeline
Install once, run anywhere. Fire a tweet from a GitHub Action after every deploy, a cron job every morning, or straight from your terminal. Supports threads, scheduling, and analytics, all from the command line.
CLI documentation# setup
npm install -g @opentweet/cli && opentweet auth
# post immediately
opentweet tweet "just shipped" --now
# schedule for morning
opentweet tweet "big launch today" --schedule "tomorrow 09:00"
# in .github/workflows/deploy.yml
run: opentweet tweet "deployed to prod" --now
# check your stats
opentweet analytics --last 7dBuilt for agents and developers
Wire an agent to X with one key. Safely.
No OAuth dance, no X developer account, no ban risk from scraping. Your agent gets a real X account through a key you can revoke in one click.
- Scoped and revocable
- Bearer ot_ keys, rotated or killed from the dashboard. Keep them server-side.
- 43 MCP tools
- Post, thread, schedule, Articles, analytics and an evergreen queue.
Visibility
Your agent posts. You can see every post it made.
A post your agent scheduled over MCP and a post you dragged into a calendar slot are the same record. Open the app and the queue is there, editable, whether the thing that wrote it was you or not. Most teams run the agent and rarely open it. It is there for the week they need it.
- Review
- Every scheduled post on one calendar, agent-created or not.
- Edit
- Change anything before it ships, or after, until it goes live.
- Revoke
- Kill the key in one click without touching your X account.
Shipped the hosted MCP endpoint.
Why we priced the API flat.
v2.4.0 is out. Changelog in thread.
Three things I learned shipping MCP.
Reply guy energy, but for changelogs.
The X API pricing table nobody reads.
Weekly build log. Revenue and churn.
What 80,000 posts taught us about timing.
Long-form: the posting layer, explained.
New Stripe milestone: 250 customers.
Weekend reading thread.
Review the queue, and schedule tweets on X by hand
Every post your agent, your connectors or you created lands on one calendar. Drag any of them to a different slot. The best-time heatmap is built from your own engagement, not a generic best-practice chart.
How scheduling worksEdit and generate in the same place
Write a post, or have it written. Voice learning reads what you already published and mirrors your tone, across seven models. Images and short video generate here too.
How the AI writesManage what feeds the queue
Point RSS, GitHub, Stripe or any webhook at the queue and your releases, posts and revenue milestones become drafts without a prompt. This is how an account keeps publishing on the weeks you do not open it.
See the connectorsRead what each post earned
Impressions, engagement rate and growth per post, including the ones an agent published while you were asleep. The same numbers feed the scheduling suggestions.
See the analyticsReuse what already worked
Save strong posts from your niche, then rewrite them in your voice as a single post or a full thread. Up to ten at once, from search or the Chrome extension.
How repurposing worksX Articles
Publish the long version where the audience already is.
A thread disappears in an afternoon. An Article stays on your profile, gets indexed, and keeps earning long after the timeline has moved on. It is the difference between renting attention and keeping it.
Write in markdown, or hand the job to your agent. The same key that posts your tweets schedules Articles, so a release note can go out as a post now and the full write-up on Thursday, from one call.
How X Articles work- Published
What 80,000 scheduled posts taught us about timing
We looked at every post published through OpenTweet this year and the pattern was not the one the best-practice charts predict.
1,840 words·8 min read·28 Aug, 09:00
- Scheduled
The X API is a meter now. Here is the arithmetic.
Pay-per-use charges $0.20 for any post carrying a link. At sixty link posts a month that is more than a flat plan costs.
1,120 words·5 min read·2 Sep, 09:00
- Draft
Build log: shipping the hosted MCP endpoint
One URL, no local install, and what broke twice before it worked.
640 words·3 min read·Edited 2h ago
- Written in markdown
- Your source of truth stays a file, not a rich-text box you cannot diff.
- Scheduled on the same queue
- Articles sit on the calendar beside your posts and reschedule the same way.
- Reachable from the API
- create_article and publish_article are two of the tools your agent already has.
DM Campaigns
Talk to the people who already engaged, without risking the account.
Posting builds an audience. Revenue usually starts in the DMs. The tools that automate this mostly work by driving a logged-in browser session, which is what gets accounts suspended.
OpenTweet finds candidates from real engagement, drafts each message, and then stops. Nothing sends until you approve it, and every send goes through the official API rather than a scripted browser.
How DM outreach worksDevs who replied to the MCP thread
SendingQualified to Approved is you. Nothing sends without it.
Waiting for your approval
- @marcusdevReplied to your MCP thread
Saw you were wiring an agent to X. Happy to share how we handle retries.
ApproveSkip - @leabuildsFollowed after your build log
You mentioned scheduling was your bottleneck. Two minutes of setup might fix it.
ApproveSkip
- Every message approved by a human
- Campaigns draft and queue. You read each one before it leaves.
- Official API, no browser automation
- No session cookies, no headless login, no scraping your own inbox.
- Targeted from real engagement
- Candidates come from people who already replied, liked or followed.
How to schedule tweets on X, from an agent or by hand
Four steps, about three minutes.
- 1
Get an API key
Create a key in the dashboard and connect your X account with one click. No X developer account.
- 2
Connect via MCP or REST
Point any MCP client at the hosted server, or POST to the REST API. Works with Claude Code, Codex, Cursor and OpenClaw.
- 3
Create or schedule
Publish now, or pass a date to schedule. Drag it to a different slot in the calendar whenever you like.
- 4
It posts to X
OpenTweet publishes at the scheduled time and confirms. Read the results back through the analytics tools.
What people say
7 reviews, 5.0 average
“I use OpenTweet for my daily X posts, and it has significantly improved my productivity since I'm very busy during the day. It's much easier to use and handle than similar apps like Typefully or Buffer, while also being more cost-effective.”
“I have been using OpenTweet for a while now and it has been an excellent experience. The platform is simple, reliable, and makes staying consistent on X effortless without any unnecessary complexity. What really sets it apart is the founder's responsiveness and the speed at which feedback turns into meaningful new features.”
“OpenTweet started as a "why not" because it was so cheap, and turned out to be just the tool I needed to be able to post consistently on X. Editing and scheduling posts also turns out to improve my post quality as I spend some time writing and improving them instead of random fire and forget posts.”
“Been using OpenTweet for the past few days and honestly, it's been a game-changer for my content workflow. Scheduling tweets in advance means I'm not scrambling to post at odd hours anymore. Just batch my content, schedule it, and focus on actually engaging with my community. Simple, clean interface. No bloat. Just works.”
“Great tool btw, insanely useful for my twitter automation”
“Just started with OpenTweet to build up my X presence while building my SaaS. Setup took minutes. Scheduling is dead simple and the AI saves me from staring at a blank timeline wondering who to talk to. Early days for me, but it's already doing exactly what I needed: making it easy to show up consistently instead of overthinking every post.”
“Just shipped my first week of content on OpenTweet. Genuinely impressed, cleanest scheduling tool I've tried.”
Teams publishing 400 to 1,000 posts a month
All customer storiesAlso: TYPA, ProPakistani, Popped Las Vegas, Scalaris
Three plans. The API is in all of them.
Full pricingOne account, posting every day.
- 1 X account
- 20 posts a day
- 10 AI generations a day
- 3 API keys
An agent at volume, or a few accounts.
- 3 X accounts
- 100 posts a day
- 50 AI generations a day
- 10 API keys, X analytics
Client work across many accounts.
- 10 X accounts
- 300 posts a day
- 150 AI generations a day
- 25 API keys, X analytics
Every plan includes the REST API, the CLI and the hosted MCP server with 43 tools. Free for 7 days.
X's own API bills per call, $0.20 for any post with a link. Work out what that would cost you.
Also in every plan: Cross-posting to Bluesky, Evergreen queue, Best time to post, Voice learning, Multiple X accounts, Thread scheduler, Scheduling API.
Frequently Asked Questions
Still have questions? Reach out on X
Give your agent an X account it can actually post from.
Create a key, point your MCP client or a POST request at it, and the first post goes out in about three minutes. The calendar is there when you want to look.
Free for 7 days, then from $11.99 a month. Cancel anytime.