Post to Mastodon from Cursor
Cursor can post to Mastodon on Mastodon through ClipSpeed. Add the ClipSpeed server with one config block, sign in, and then ask Cursor to post to Mastodon, pick the time, and apply Mastodon's settings, without leaving the Cursor editor's Agent. Mastodon is on the roadmap on ClipSpeed's rail; this page describes how it works and says so.
Keep a human in the loop: Cursor shows the plan and asks before anything is public. Posting today: YouTube, TikTok, Instagram, X (Twitter) and LinkedIn.
Also try
How to post Mastodon from Cursor
Cursor reads MCP servers from a JSON file. Add the block, open Cursor Settings → MCP, click the sign-in for clipspeed, and the Agent has the tools. Connect Mastodon in ClipSpeed, then describe the post. Setup takes about a minute.
# One-time setup: .cursor/mcp.json (project) or ~/.cursor/mcp.json (global)
{
"mcpServers": {
"clipspeed": { "url": "https://api.clipspeed.ai/mcp" }
}
}
# Then ask Cursor:
> Post the announcement to Mastodon at 9am
Cursor: Preview — nothing booked yet. Mastodon — text under 500. Book it?Cursor shows the tools under Settings → MCP once the server connects. If the list is empty, check the JSON and restart Cursor. ClipSpeed has not yet seen a real Cursor session connect; the setup is Cursor's documented MCP route and the URL is the same as every verified client.
- Create .cursor/mcp.json in the project (or ~/.cursor/mcp.json for every project) with the block shown.
- Open Cursor Settings → MCP. clipspeed appears; click to authenticate and approve the ClipSpeed sign-in.
- Open the Agent panel and ask it to list your channels.
- Connect Mastodon in the ClipSpeed app, or ask Cursor for a connect link: it is private, valid for ten minutes, and Mastodon signs you in itself.
Developer reference: the Cursor MCP page.
What can Cursor do on Mastodon?
On Mastodon, Cursor can post 500-character text, images and video to a Mastodon account on any server. Every booking runs through the same rules as the ClipSpeed app.
Text, Image and Video posts
Mastodon takes text, image and video through ClipSpeed. Video: MP4 or WebM. Image: JPG, PNG or GIF; up to four per post on Mastodon.
500 characters, checked at booking
Mastodon's own arithmetic, with every link counted as 23. Too long is refused with the real count, never trimmed at send time.
Exact time or refused
Name the minute and Cursor books it, or you are told why not and offered the next open slot. A booked Mastodon post is never moved behind your back.
Preview before anything posts
preview: true runs the whole booking and writes nothing. Cursor shows the plan, with each slot and the day's remaining cap, and books only on your yes.
Clips cut in the same chat
Submit a video or stream link, get captioned 9:16 clips with a viral score, and post the best as native video on Mastodon. No download, no re-upload.
Pacing and numbers
Planned: Text posts on Mastodon are at least 30 minutes apart, up to 10 a day. Video on Mastodon is at least 4 hours apart, up to 4 a day under your plan. After a post goes out, Cursor can read back views and engagement where Mastodon provides them.
How does Cursor post to Mastodon through ClipSpeed?
You describe what you want in plain language and Cursor makes the ClipSpeed calls. A typical conversation has three beats.
Find your Mastodon channel
Ask Cursor whether Mastodon is connected. It calls list_channels and reads platform_settings, so it also knows what Mastodon accepts and the limits before you write a word.
Compose within the rules
Describe the post. Cursor drafts within Mastodon's limits, counting links as 23; mention a clip or a file and it attaches it.
Schedule or publish
Name a time, or say now. The slot is booked exactly or refused with the next open one, and the reply carries the id you can cancel or edit by.
Mastodon settings reference
These are the schedule_post fields that apply to Mastodon. Mention any of them in plain language and Cursor sets them; the server checks them at booking. Fields marked planned land with the Mastodon release.
| Field | Type | Required | What it does on Mastodon |
|---|---|---|---|
platforms | string[] | Yes | Include "mastodon". Up to ten platforms per call; each books its own slot. |
text | string | Yes for a text post | Up to 500 characters on a default server; links count as 23. |
visibility | public | unlisted | followers | Planned | Mastodon's post visibility. |
media_kind | text | image | video | No | Detected from the file when omitted. |
clip_id or media_url | string | No | A clip or a public link. |
scheduled_at | ISO 8601 | No | Exact or refused with the next open slot. |
preview | boolean | No | Plan only. |
Common Mastodon configurations
Ask Cursor for any of these and it applies the matching settings.
Public post
Unlisted test
Clip as video
Day of posts, previewed
Example prompts for Mastodon in Cursor
Type these into the Cursor editor's Agent, or pass one to terminal in a script. Cursor calls ClipSpeed and confirms before publishing.
Post Mastodon with a scheduled time
Post the announcement to Mastodon at 9am. Keep the text under 500 characters with links counted as 23. Preview first.
Cut the clips, then post the best
Clip this link, keep the top three by viral score, and schedule them to Mastodon at 11am, 3pm and 7pm tomorrow. Show me the plan before booking.
From a script with Cursor
cursor-agent -p "Summarise the changes since the last git tag as one Mastodon post under 500 characters. Schedule it via ClipSpeed for today at 10am; preview first and book if nothing is refused."
Mastodon limits and gotchas to know
Mastodon enforces a few rules that Cursor and ClipSpeed respect automatically, but knowing them helps you phrase requests.
- 500 characters is the default limit, with every link counted as 23. Some servers allow more; ClipSpeed will use your server's limit at booking.
- Your account lives on one server; you connect that server, not mastodon.social in general.
- Mastodon is on ClipSpeed's roadmap, not the next rail. Bookings are refused plainly until it posts.
- Content warnings and alt text are planned fields.
- Planned pacing: ten text posts a day 30 minutes apart, video four hours apart.
| Rule | Mastodon |
|---|---|
| Accepts | Text, Image, Video |
| Text limit | 500 characters; every link counts as 23 (500 is the default; your server may allow more) |
| Title | No title field |
| Links in the caption | Kept; every link counts as 23 characters |
| Pacing | Planned: Text posts on Mastodon are at least 30 minutes apart, up to 10 a day. Video on Mastodon is at least 4 hours apart, up to 4 a day under your plan. |
| Formats | Image: JPG, PNG or GIF; up to four per post on Mastodon. Video: MP4 or WebM. Aspect: any |
| Status | On the roadmap; described here, not yet bookable |
What Postiz-style schedulers cannot do
Cut the clips first
Cursor does not need finished video to start. Hand it a YouTube link, a podcast, a stream VOD or a local export. ClipSpeed finds the moments, cuts them to 9:16 with word-by-word captions, scores each one 0 to 100 for shareability, and returns them in the same conversation. Cursor picks by score, writes the caption from the transcript, and books the clips on Mastodon. Three tool calls, one approval, no download and no re-upload.
- Clips arrive with a title written from the hook, a transcript and a viral score, so the agent can choose and caption without watching the footage.
- Live streams can be clipped while they are still on air; the agent books the highlights for the next morning before the stream ends.
- Every clip is already hosted, so
schedule_posttakes its id directly. Nothing moves through your laptop.
submit_to_clipspeedPaste the link. ClipSpeed starts the job and returns a project id.check_clipsPoll with the project id. Back come the finished 9:16 clips with titles, transcripts, viral scores and preview links.schedule_postPass the clip id, the platforms, a caption and a time. Cursor shows the plan with preview: true, you say yes, it books.generate_image or generate_videoDescribe the shot. ClipSpeed runs it on the model that fits (Seedance, Kling, Veo, Nano Banana Pro, GPT Image and others) and quotes the credits first.wait_for_generationReturns the hosted result link and a preview the agent can show you.schedule_post with media_urlThe result link goes straight into the booking on Mastodon. The caption, the time and the file are approved together.The other half nobody else has
Generate the image or video, then post it
A product shot for Instagram, a 16:9 announcement graphic for X, a six-second opener before a clip: Cursor can make an image or a short video with ClipSpeed's image and video models and book the result in the same reply. There is no separate design tool, no export, no upload page. The generated file is hosted, so media_url is the only thing the booking needs.
- The price in credits is quoted before anything renders, within the per-generation and daily caps you set in Settings.
- Results are previewed in the conversation, so you approve the picture and the post at once.
- Images post as JPG, PNG or WebP up to 25 MB; video posts as MP4, MOV or WebM up to 1 GB.
What is Cursor?
Cursor is the AI code editor built on VS Code. Its Agent runs multi-step tasks in your project, runs commands and calls MCP tools. With ClipSpeed in Cursor's MCP settings, the Agent can clip a video, generate media and schedule posts from inside the editor, and the Cursor CLI can do the same from a script.
How ClipSpeed works with Cursor
- Cursor reads .cursor/mcp.json and connects to the ClipSpeed server; sign in under Settings → MCP
- The Agent reads
platform_settingsbefore composing schedule_postbooks exactly or refuses with the next open slotpreview: truefor a plan with nothing booked- cursor-agent -p runs the same flow from a script
Cursor vs Windsurf vs Claude Code: Cursor (cursor editor, cursor-agent), Windsurf (windsurf editor), Claude Code (terminal). This page is about Cursor; the Cursor guide compares them.
{
"mcpServers": {
"clipspeed": {
"url": "https://api.clipspeed.ai/mcp"
// no browser on this machine? add:
// "headers": { "Authorization": "Bearer csai_live_..." }
}
}
}
# .cursor/rules/clipspeed.mdc
# Always call schedule_post with preview: true first and show the plan.
# X posts stay under 280 characters; every link counts as 23.# What the agent reads at connect time (tool descriptions, abridged)
list_channels Connected platforms, what each accepts, limits, your time zone
connect_channel A private 10-minute link to connect one platform
platform_settings Limits, title rules, link handling, pacing per platform
schedule_post clip_id | text | media_url → platforms[], scheduled_at, preview
list_scheduled_posts Scheduled, sending, posted, failed — with post links
update_scheduled_post Edit copy while still scheduled (the time never moves)
cancel_scheduled_post Cancel; undoable 72 h in the app
post_analytics Views, likes, comments, shares where the platform gives them
submit_to_clipspeed Start clipping a video or stream link → projectId
check_clips Finished 9:16 clips with titles, transcripts, viral scores
generate_image / generate_video / wait_for_generation
# Mastodon: text/image/video · text 500 (links = 23)Post to Mastodon and other platforms from Cursor
One request can book the same content to Mastodon and other channels, each keeping its own settings and its own slot. Every platform below has its own Cursor guide.
Also works with
Mastodon and Cursor: frequently asked questions
How do I post to Mastodon from Cursor?
Create .cursor/mcp.json in the project (or ~/.cursor/mcp.json for every project) with the block shown. Open Cursor Settings → MCP. clipspeed appears; click to authenticate and approve the ClipSpeed sign-in. Connect Mastodon in ClipSpeed (or ask Cursor for a connect link; it is private and valid for ten minutes), then describe the post in plain language. Cursor reads the Mastodon rules, drafts within them, shows the plan and books on your yes. Mastodon is on the roadmap; until the badge changes, the booking is refused with a plain message.
What can Cursor post to Mastodon through ClipSpeed?
Post 500-character text, images and video to a Mastodon account on any server. Mastodon takes text, image and video posts. Text is limited to 500 characters, with every link counted as 23.
Which Mastodon settings can Cursor control?
The fields in the settings reference above: text, visibility, media_kind, clip_id or media_url, scheduled_at, preview. Mention any of them in plain language ("unlisted", "tomorrow at 9", "preview first") and Cursor sets the matching field before it books.
Do I need a Mastodon API key or developer account?
No. You connect Mastodon to ClipSpeed once through Mastodon's own sign-in, and Cursor talks to ClipSpeed over OAuth. No Mastodon developer key, bearer token or password is pasted anywhere.
How many Mastodon posts a day can Cursor schedule?
Planned: Text posts on Mastodon are at least 30 minutes apart, up to 10 a day. Video on Mastodon is at least 4 hours apart, up to 4 a day under your plan. When a time is taken, the booking is refused with the next open slot rather than moved. Ask for preview to see a day's plan and the remaining cap before anything is booked.
Can Cursor post to Mastodon from a script or a cron job?
Yes. Cursor's headless mode (terminal) runs one prompt and exits, and the ClipSpeed server registered on that machine does the booking. On a runner with no browser, authenticate with a ClipSpeed API key header. Keep preview on so the run reports a plan before it books.
Is posting to Mastodon from Cursor different from Windsurf?
The booking is identical: the same rules, the same calendar, the same refusals. What differs is where you work. Cursor: the cursor editor; cursor-agent on the command line. Windsurf: windsurf editor, cascade agent; same url.