Skip to content

Cursor + Wahlu

Post to Bluesky from Cursor with Wahlu

Connect Cursor to Wahlu once, then plan, draft and schedule posts for Bluesky accounts on any server, connected with your handle from the Cursor editor. Every schedule can wait for your approval.

What Cursor can prepare on Bluesky
  • Text post

    Up to 300 characters, with clickable links, mentions and hashtags.

  • Image post

    One to four images with alt text. Text is optional.

  • Video post

    One video, MP4 or MOV, up to 100 MB and 3 minutes. Text is optional.

Ask Cursor for Bluesky posts

Example prompts and the steps to expect. These are illustrations, not recorded conversations.

Example prompt

“Read the feature summary in this chat and write a Bluesky post announcing the release in under 300 characters. Hold it for review tomorrow at 9am.”

Example prompt

“Create a Bluesky image post from the screenshots in docs/launch for the feature summary in this chat, with alt text for each, then run a readiness check.”

Example prompt

“Check whether anything is already scheduled on Bluesky this week before you draft a post about the feature summary in this chat.”

What Wahlu does on Bluesky

Cursor works through Wahlu's tools, so it can set the Bluesky options Wahlu supports.

Bluesky settings on a draft

Post type
Text, image or video.
Alt text
A description of each image or video for screen readers.

Agents can post Bluesky threads of up to 25 posts with thread_parts. Quote posts aren't available. Video needs a verified email on Bluesky. Bluesky follower and post numbers show in the app on paid plans; agents can't read them yet.

The tool calls, in order

  1. 01

    list_targetsFinds the brand's connected Bluesky account and checks it's ready.

  2. 02

    upload_media_from_file, import_media_from_url or list_mediaBrings in the image or video, or picks one from your media library.

  3. 03

    create_draftCreates the draft with its caption and bluesky_settings, such as the post type.

  4. 04

    preflight_draftChecks the draft against Bluesky's rules without changing it.

  5. 05

    create_schedulePuts it on the calendar at pending_review, held for your approval.

Bluesky limits to know

Wahlu checks these before a post is scheduled, so the agent finds out early.

Getting images and video to Bluesky

The local server can upload a file straight from your computer with upload_media_from_file, so screenshots and videos in your project don't need a public link.

Connect Cursor to Wahlu

Set this up once and Cursor can work on every network you've connected, not just Bluesky.

  1. 1

    In the Wahlu app, create an API key under Settings → API Keys in your workspace, with only the permissions and brands you need.

  2. 2

    Add the Wahlu configuration to ~/.cursor/mcp.json and paste the key into it yourself.

  3. 3

    Restart Cursor, or refresh its MCP servers, so it starts the Wahlu server.

Checked against the Cursor docs on 27 September 2026. Menus can change; if a step doesn't match what you see, follow the vendor's current instructions.

~/.cursor/mcp.json
{
  "mcpServers": {
    "wahlu": {
      "command": "npx",
      "args": ["-y", "@wahlu/mcp-server@latest"],
      "env": {
        "WAHLU_API_KEY": "paste-your-key-here"
      }
    }
  }
}

Cursor can't sign in to the hosted URL yet, because it doesn't support Client ID Metadata Documents. The local server runs on your computer. Available tools depend on the installed version, so check the local MCP server notes before relying on a tool listed for the hosted server. Keep the key out of project files that are committed.

You stay in control.

Every Wahlu plan includes agent access, through MCP and the API. You choose the workspace, brands and permissions each connection gets, and can disconnect it at any time.

Held until you approve

Agents create schedules at pending_review unless you've told them to publish. A held schedule can't publish until you approve it in Wahlu or ask an agent with Publishing permission to approve it.

Publishing is its own permission

Publishing is separate from Manage your schedule. Leave it unticked and nothing your agent schedules can go out on its own.

Checked before it's scheduled

preflight_draft reports anything that would stop a post, such as media the network won't accept or a caption that's too long, without changing anything.

Some things stay in the app

Use the app for queues, draft media and platform settings, and connecting social accounts. Agents can change the name or caption of an unused draft and approve held schedules with the right permissions.

Your next Bluesky post, drafted by Cursor.

Connect your Bluesky account in Wahlu, then give Cursor a specific brief.