The posting layer for X, built for AI agents

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.

Read the docs

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.

Works withClaude CodeCodexOpenClawHermesand any MCP client

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 works
New post1 draft

Shipped 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
One draft in. A native post on every network you ticked.
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.

01MCP Server

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
claude_desktop_config.json
{
  "mcpServers": {
    "opentweet": {
      "command": "npx",
      "args": ["-y", "@opentweet/mcp-server"],
      "env": {
        "OPENTWEET_API_KEY": "ot_your_key_here"
      }
    }
  }
}
Connected · 43 tools available in Claude
02REST API

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
terminal
# 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" }
200 OK · scheduled
03CLI Tool

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
terminal
# 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 7d
✓ Scheduled for tomorrow 09:00
Start the quickstart43 tools, one key, about three minutes.

Built 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.
QueueAug 24 to 3011 posts, 6 by agents
Mon24
Tue25
Wed26
Thu27
Fri28
Sat29
Sun30
09:00Claude Code

Shipped the hosted MCP endpoint.

17:30You

Why we priced the API flat.

09:00GitHub

v2.4.0 is out. Changelog in thread.

08:15Claude Code

Three things I learned shipping MCP.

14:00You

Reply guy energy, but for changelogs.

09:00Claude Code

The X API pricing table nobody reads.

13:00You

Weekly build log. Revenue and churn.

16:30Claude Code

What 80,000 posts taught us about timing.

09:00You

Long-form: the posting layer, explained.

15:00GitHub

New Stripe milestone: 250 customers.

10:00Claude Code

Weekend reading thread.

PostedPublishing nowScheduledWritten by an agent or by hand. Same queue either way.
Your agent starts filling this queue in about three minutes.

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 works
Every surface above is in every plan, from $11.99 a month.

X 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
Articles1 published, 1 scheduled
  • 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

    Published
  • 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

    Scheduled
  • 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

    Draft
Markdown in, X Article out. Same queue as your posts.
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 works
DM Campaigns24 sent this month

Devs who replied to the MCP thread

Sending
412
Found
96
Qualified
24
Approved
24
Sent
9
Replied

Qualified 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
Sent through X's official API. No browser automation, no scraping.
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. 1

    Get an API key

    Create a key in the dashboard and connect your X account with one click. No X developer account.

  2. 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. 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. 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

Petar
Petar
@MladiPistolero4

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.

The DevOps Guy
The DevOps Guy
@justdevopsguy

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.

August Lilleaas
August Lilleaas
@augustl

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.

Shaad Khan
Shaad Khan
@_shaadkhan_

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.

Kristoffer
Kristoffer
@kristofferkepin

Great tool btw, insanely useful for my twitter automation

Jimi Barkway
Jimi Barkway
@JimiBarkway

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.

Jane
Jane
@Jarrchh

Just shipped my first week of content on OpenTweet. Genuinely impressed, cleanest scheduling tool I've tried.

Three plans. The API is in all of them.

Full pricing
Pro$11.99/mo

One account, posting every day.

  • 1 X account
  • 20 posts a day
  • 10 AI generations a day
  • 3 API keys
Advanced$29/mo

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
Agency$49/mo

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

OpenTweet is the posting layer for X (Twitter), built for AI agents, developers, and creators. AI agents post through the MCP server and REST API with no X developer account. Automated accounts run on smart connectors (RSS, GitHub, Stripe). And creators get a full Twitter scheduler: visual calendar, AI content generation, thread scheduling, and an evergreen queue. One tool, whether the one posting is you or your agent.
Yes. OpenTweet has an MCP server (Model Context Protocol) and REST API that lets AI agents post to X. Point Claude Desktop, Claude Code, Cursor, Windsurf, or any MCP-compatible client at the hosted server at https://mcp.opentweet.io/mcp, or install the npm package locally. Your agent gets 43 tools including create_tweet, schedule_tweet, create_thread, batch_schedule, create_article, get_analytics and add_to_evergreen. No X developer account needed.
MCP (Model Context Protocol) is an open standard by Anthropic that lets AI assistants connect to external tools. The OpenTweet MCP server gives your AI agent direct access to post, schedule, and manage your X account through natural conversation. Run it two ways: point your client at the hosted endpoint at https://mcp.opentweet.io/mcp with nothing to install, or install the npm package so it runs locally and your API key never leaves your machine.
OpenTweet has an MCP server (Model Context Protocol) that connects to Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, and any MCP-compatible AI client. Add three lines to your MCP config file with your OpenTweet API key, and your AI assistant gets 43 tools to post tweets, schedule threads, check analytics, and manage your evergreen queue, all through natural conversation.
No. You connect your X account through OpenTweet's dashboard with one click. OpenTweet handles the Twitter API for you: no developer applications, no API key management from X, and setup takes under 2 minutes.
The official X API and XMCP both require an X developer account and pay-per-use API pricing since February 2026: about $0.015 a post, $0.200 when the post contains a link, and $0.005 a read. The $200 Basic and $5,000 Pro tiers were retired to new signups in May 2026. OpenTweet sits on top of all that: you connect your X account with one click, and your agent gets an MCP server, REST API, and CLI with scheduling, threads, analytics, and an evergreen queue already built in, for a flat $11.99 to $49 a month with no meter. No developer application, no OAuth token management, no usage-based bill.
No, and no other tool on a self-serve tier can either. On 23 February 2026 X restricted programmatic replies through POST /2/tweets: an app can only reply when the original author @mentions it or quote-posts it. That applies to the pay-per-use tier too, and only Enterprise access is exempt. OpenTweet posts through the official X API, so the restriction applies to us as well. Threads still work, because a thread is a reply to your own post, which is unaffected.
No. Scheduled and automated posting is allowed under X’s automation rules as long as it goes through the official API on an account you authorized. OpenTweet publishes through the official X API. It does not scrape, it does not drive a logged-in browser session, and it never signs in with your password, which are the behaviours that get accounts suspended.

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.

See pricing

Free for 7 days, then from $11.99 a month. Cancel anytime.