Last updated: August 31, 2026

Post to X from Zed

Add OpenTweet as a context server in Zed settings.json and the Agent Panel can publish, schedule, and thread on X. Run the npm package locally, or bridge to the hosted endpoint at mcp.opentweet.io/mcp with mcp-remote. No X developer account.

Working in a JetBrains IDE instead? The same tools reach you through the Agent Client Protocol, because in an ACP setup the MCP servers travel with the agent rather than the editor. That section is below.

7-day free trial. No X developer account needed.

What the Agent Panel can do on X

One server entry, the full toolset.

Post now

opentweet_create_tweet publishes from the Agent Panel.

Schedule

opentweet_schedule_tweet and opentweet_batch_schedule queue posts server side.

Threads

opentweet_create_thread ships a connected thread in one call.

36 tools

Posts, threads, articles, evergreen, media, analytics.

Analytics

Read what performed, then write the next batch accordingly.

No X API

No developer account, no OAuth, no per-post charges.

Setup in Zed

Connect your X account to OpenTweet, copy the ot_ key, then open Zed settings.json and add one entry under context_servers.

Local package

~/.config/zed/settings.json
{
  "context_servers": {
    "opentweet": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "@opentweet/mcp-server"],
      "env": {
        "OPENTWEET_API_KEY": "ot_your_key"
      }
    }
  }
}

Hosted endpoint through mcp-remote

Zed starts context servers as local processes. The mcp-remote bridge runs locally and forwards to the hosted endpoint, so you get the hosted server without waiting for a native remote transport field.

~/.config/zed/settings.json
{
  "context_servers": {
    "opentweet": {
      "source": "custom",
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://mcp.opentweet.io/mcp",
        "--header", "Authorization: Bearer ot_your_key"
      ]
    }
  }
}

Restart Zed, open the Agent Panel, and the OpenTweet tools appear. Every tool name and argument is in the MCP docs.

JetBrains and Junie, over ACP

The Agent Client Protocol lets an editor host an external coding agent in a panel. JetBrains ships Junie and supports ACP agents in its IDEs, which changes where your configuration lives: ACP carries the agent, MCP carries the tools, and the tools belong to the agent.

In practice that means you do not configure OpenTweet in the IDE at all. You configure it once in whichever agent you run, for example Claude Code, and the posting tools show up wherever that agent is hosted: a terminal, Zed, or a JetBrains panel.

Why a hosted endpoint matters more in an ACP world

When the agent moves between editors, a local stdio server has to be installed everywhere the agent runs. A hosted URL and a bearer key follow it for free. That is the entire argument for mcp.opentweet.io/mcp over a per-machine install.

The REST fallback

When the post should come out of a script or CI rather than an editor session, use the same key against one endpoint.

post.sh
curl -X POST https://opentweet.io/api/v1/posts \
  -H "Authorization: Bearer ot_your_key" \
  -H "Content-Type: application/json" \
  -d '{"text":"Rewrote the diff view. It renders 10k lines without dropping a frame.","publish_now":true}'

# Queue it for the morning instead:
#   {"text":"...","scheduled_date":"2026-09-02T09:00:00Z"}

The route is /api/v1/posts. Fields and errors are in the API docs. Running your own MCP server too? See the 2026-07-28 spec migration guide.

Good fits

Zed users who live in the Agent Panel

Ship the change, ask the panel to write the post, schedule it for a decent hour.

JetBrains teams adopting ACP

Configure the posting tool once in the agent, use it from every IDE the agent runs in.

Anyone bridging with mcp-remote

A hosted server behind a local bridge avoids per-machine installs and version drift.

Release-driven accounts

The queue lives on our servers, so a post scheduled from the editor still fires with the editor closed.

Same server, other clients: OpenCode, goose, Kilo Code, VS Code.

Frequently asked questions

How do I add an MCP server to Zed?

Add it under context_servers in your Zed settings.json, or use the Agent Panel settings to add a custom server. Zed launches the server as a local process, so for the hosted OpenTweet endpoint you bridge it with mcp-remote, which turns a stdio server entry into a call to https://mcp.opentweet.io/mcp.

Can Zed talk to a remote MCP server directly?

It depends on your Zed version. The dependable path that works on every build is the mcp-remote bridge shown below, which runs locally and forwards to the hosted endpoint with your Authorization header. If your build offers a URL field for remote servers, use it and drop the bridge.

What is the Agent Client Protocol, and what does it have to do with JetBrains?

ACP is the protocol that lets an editor host an external coding agent in its own panel. JetBrains ships Junie and supports ACP agents in its IDEs. The useful consequence is that MCP configuration follows the agent, not the editor: run an ACP agent that already has the OpenTweet MCP server, and the posting tools appear inside JetBrains without any IDE-side setup.

So where does the MCP config live in a JetBrains setup?

With the agent. If you run Claude Code as your ACP agent, the OpenTweet server is configured in Claude Code and JetBrains sees the tools through the panel. This is the same reason a single hosted MCP endpoint is worth more than an editor-specific plugin: it moves with you.

Do I need an X developer account?

No. OpenTweet owns the X connection, the OAuth flow, and the token refresh. Zed authenticates to OpenTweet with one ot_ bearer key. You never create an X developer app and you never touch the pay-per-use X API.

Can the agent schedule instead of posting now?

Yes. opentweet_schedule_tweet queues one post, opentweet_batch_schedule queues many, and the queue runs on OpenTweet servers, so it does not depend on your editor being open. The X API does not offer scheduling at all.

What does it cost?

Pro is $11.99/month with the API included and a 7-day free trial. The X API bills $0.015 per post and $0.20 per post containing a link, so a flat plan pulls ahead past roughly 60 link posts a month.

Ship in Zed, post from Zed

One entry in settings.json and the Agent Panel can run your X account.

$11.99/month, API included. Cancel anytime.