Give your agent a calendar to write into.
Add Staqly to Claude Code, Codex or Cursor in one line. Your agent writes the posts, Staqly puts them on time.
Install
One line per agent.
Create a workspace, copy its API key into STAQLY_API_KEY and add one line to your agent.
$ claude mcp add --transport http staqly https://app.staqly.ai/mcp \ --header "Authorization: Bearer $STAQLY_API_KEY"Running Staqly Community Edition? Point it at localhost:3333/mcp with the access token Staqly prints when it starts. Full guide
Not an MCP agent? Use the REST API, n8n, the CLI or the TypeScript and Python SDKs.
What the agent gets
100 tools. These are the ones that matter.
| create_post | Write a post into a collection: text, media, one target per channel with its own text or settings |
| preview_post | See the text each channel will carry and what its platform objects to before publishing |
| schedule_post | Put a post on the calendar; publish_post sends it now, cancel_post takes it off |
| list_requested_work | See what the workspace asks of the agent: schedules out of posts, targets waiting for a result |
| create_schedule | Weekday mornings, every six hours or once: which posts, which channels, what to do when nothing waits |
| list_channels | The connected accounts with their status; connect_channel adds a token platform |
| report_publish_result | Close a target on your own automation with the published link or an error |
How it runs
Write, preview, schedule, refill.
- 1The agent writes: create_post with the text, the media and one target per channel.
- 2It checks: preview_post says what each platform objects to; update_post fixes it.
- 3It schedules: schedule_post for a time, or leaves a draft for the collection’s schedule.
- 4It refills: list_requested_work shows a schedule out of posts; the agent writes the next batch.
# you: "Announce v1.4 on every channel tomorrow at 9"list_channelscreate_post {"collection":"Product updates","content":"v1.4 is out: ...", "targets":[{"channel_id":"ch_n8n..."},{"channel_id":"ch_x...","content":"v1.4: ..."}]}preview_post {"post_id":"post_..."} → every target okschedule_post {"post_id":"post_...","publish_at":"2026-10-21T09:00:00Z"}Use cases
See it applied.
A week of posts from one prompt, one post in every channel's length, publishing through n8n, feeding a schedule from your own endpoint: see what people use it for. Full reference: MCP server docs and the OpenAPI spec.