PostOnce home

Cursor + PostOnce

Publish your work to social from Cursor

Keep your product update in the editor. Use Cursor’s agent to publish through PostOnce and manage automatic crossposting between connected accounts.

Connect Cursor

Requires a PostOnce account, API access, and your own API key.

See setup steps

Set up your connection

Connect Cursor to PostOnce

Use your own PostOnce API key.

Alternative: import the PostOnce plugin locally

The plugin includes the MCP connection and PostOnce workflow skill. Choose this instead of the manual connection and separate skill below. This is a local developer import, not a Cursor marketplace listing. Your organization may disable local imports.

  1. Prepare a dedicated key using step 1 below, with accounts:read for the first check; add posts:read and posts:write for the draft example. Supply POSTONCE_API_KEY privately to the Cursor process before launching it. Keep the key out of plugin files, chat and shell history. Leave the bundled ${POSTONCE_API_KEY} reference unchanged.
  2. Download the ZIP and extract it into a new directory named cursor-postonce. Review its files. In Cursor’s Customize and MCP settings, check for an existing PostOnce connection or skill. Before enabling the plugin, remove or disable only the redundant PostOnce setup and preserve custom instructions. A same-name marketplace plugin takes precedence over a local import.
  3. From the directory containing cursor-postonce, copy the extracted plugin into Cursor’s local plugin directory:
    Terminal · import Cursor plugin
    test ! -e "$HOME/.cursor/plugins/local/postonce" && mkdir -p "$HOME/.cursor/plugins/local" && cp -R cursor-postonce/postonce "$HOME/.cursor/plugins/local/"

    This command stops if a local PostOnce plugin already exists. Review its source and version before updating it; do not overwrite another installation. If you installed our v0.1.0, preserve custom changes and remove only that old plugin in Customize before importing this version. Its header can cause zero tools or an OAuth error; v0.1.4 corrects the plugin environment reference. The manual MCP format below is separate. The manifest should be at ~/.cursor/plugins/local/postonce/.cursor-plugin/plugin.json.

  4. After copying, restart Cursor or run Developer: Reload Window. If you changed its private environment, fully quit and relaunch Cursor from that environment; a running desktop app may not inherit your terminal’s new variables. Open Customize and check that both the PostOnce skill and MCP connection appear. Keep your normal tool permissions.
    Try this prompt

    Show my connected PostOnce accounts.

    The current service exposes 22 tools before key scopes and client policy restrict access. A successful account read verifies access; an empty list is valid. Use actual returned account IDs when choosing destinations. Installing the plugin alone does not authenticate your account. If the plugin is unavailable under your organization’s policy, use the supported manual MCP setup below where permitted.

  5. Prefer the terminal? Skip desktop steps 3–4 above. Install Cursor CLI and sign in with agent login if needed. Cursor account/model access is separate from your PostOnce key. From the directory containing cursor-postonce, start a session:
    Terminal · run Cursor plugin
    agent --plugin-dir "$PWD/cursor-postonce/postonce"

    Supply the private environment before starting. Keep the extracted directory and repeat this command for each session. Review workspace trust and MCP/tool permissions, then try the same account check.

  6. Save your first image draft for review:
    Try this prompt

    Create an unpublished PostOnce draft with the caption "Trying my first Cursor draft" and this public PNG image: https://postonce.to/integrations/assets/postonce-transparent.png. Leave destinations empty and do not schedule or publish it. Return the draft ID, then get that draft and show me its saved caption, image, and status for review.

    This uses a public PNG. The saved draft has no destinations or schedule. Keep the same idempotency key when retrying the same request, and read it back using the returned ID. Review it in PostOnce drafts.

To disconnect, remove only this local plugin in Customize and revoke its dedicated API key in PostOnce Preferences. Removing the plugin alone does not revoke the key.

Recommended: manual MCP setup

  1. 1

    Prepare your PostOnce account

    You need API access on your plan. You can check accounts and save unpublished drafts before connecting a social account; publishing needs a connected destination. Create a dedicated key with accounts:read for your first check; add posts, media, or workflow scopes only for the actions you want.

  2. 2

    Add PostOnce to your global MCP settings

    Merge this entry into ~/.cursor/mcp.json. Replace the placeholder privately in your global file, then enable PostOnce in Cursor’s MCP settings. Keep this file out of shared repositories.

    ~/.cursor/mcp.json · merge into mcpServers
    {
      "mcpServers": {
        "postonce": {
          "url": "https://postonce.to/mcp",
          "headers": {
            "Authorization": "Bearer YOUR_POSTONCE_API_KEY"
          }
        }
      }
    }

    Follow the client-specific instructions above. Keep your API key out of agent conversations and public files.

  3. 3

    Check the connection

    Open Cursor’s agent with PostOnce enabled. Ask it to show your connected social accounts and review the requested tool permission.

    Try this prompt

    Show my connected social accounts.

    Expect account names, platforms, and IDs from list_active_accounts. Choose actual accounts before asking the agent to publish.

Read the connection documentation

From connection to first result

Start with one useful action

Find your accounts

Try this prompt

Show my connected social accounts.

Use the returned names and IDs to choose your targets. If nothing appears, connect an account in the dashboard.

Publish an update

Try this prompt

Help me publish a product update. First show my connected accounts, then ask me to choose the destinations and confirm the exact text before publishing.

After creation, ask for the post ID and each destination’s delivery status. A queued post is still waiting to publish.

Set up crossposting

Try this prompt

Show my connected accounts and the available crossposting options. Help me choose a supported source and destinations, then confirm the workflow before creating it.

A created workflow applies to future matching source posts. Inspect the workflow in PostOnce before relying on it.

Know what your agent can access

Connected accounts and scoped actions

PostOnce uses your API key’s scopes and existing account permissions. Your available destinations come from your connected accounts; media and text requirements still vary by platform.

Media needs a supported upload path

The hosted server cannot read a file path on your computer or assume access to a chat attachment. For a first media post, use a supported publicly accessible media URL and have the agent validate the selected platform’s requirements before publishing.

Media post example

Help me publish an image from a public media URL. Ask me for the URL, text, and connected destination accounts; check the platform requirements and confirm the post before creating it.

Questions before connecting

Do I need a particular PostOnce plan?

You need a plan with Public API access. Your API keys tab checks your account’s actual entitlement and shows an upgrade option when required. Connecting a client does not change your plan.

What if my agent shows no social accounts?

Connect or reconnect a social account in PostOnce, then ask the agent to list active accounts again. The API key must belong to the same PostOnce account and include accounts:read.

How do I check a failed or queued post?

Ask the agent to get the post using its returned ID and inspect each target’s status and error. Review the post in the dashboard. Check the existing result before creating another post to avoid duplicates.

How do I disconnect or replace the key?

Revoke the dedicated API key in Preferences → API keys and remove the server from your client. To reconnect, create a new key with the scopes you need and replace the old key in the client’s private configuration.

Explore more ways to connect

Google Drive

Media imports

Choose an image from Google Drive, import it into PostOnce, and review your post before scheduling.

View setup

Canva

Media imports

Import a Canva image page into PostOnce and review your post before scheduling. Direct import has limited access until Canva approves the public integration; manual export and upload remain available.

View setup

ChatGPT

AI agents

Connect ChatGPT to PostOnce to find your social accounts, prepare drafts, and publish content you approve.

View setup

Claude

AI agents

Connect Claude to PostOnce to find your social accounts, prepare drafts, and publish content you approve.

View setup

Claude Code

Coding tools

Turn a product update into social posts from your terminal. Connect Claude Code to the accounts and crossposting workflows you manage in PostOnce.

View setup

Codex

Coding tools

Ask Codex to publish your release update to connected social accounts, then inspect each destination’s result through PostOnce.

View setup

Grok

AI agents

Connect Grok to PostOnce to find your social accounts, prepare image drafts, and publish posts you approve.

View setup

NanoClaw

AI agents

Connect NanoClaw to PostOnce through OneCLI to find your social accounts, prepare image drafts, and review content before publishing.

View setup

OpenClaw

AI agents

Connect your OpenClaw agent to PostOnce to publish updates, check delivery, and manage automatic crossposting from your connected accounts.

View setup

Hermes Agent

AI agents

Use Hermes Agent to publish updates through PostOnce, check delivery, and manage automatic crossposting between your connected accounts.

View setup

n8n

Workflow automation

Publish approved content from n8n to your connected social accounts. Check each destination’s result in the same workflow.

View setup

Zapier

Workflow automation

Save feed updates as PostOnce drafts with Zapier. Review the text before choosing where and when to publish.

View setup

Make

Workflow automation

Turn RSS updates into PostOnce drafts with Make. Review the text before choosing where and when to publish.

View setup

viaSocket

Workflow automation

Connect PostOnce to viaSocket workflows to react to new posts, create and manage posts, and move publishing data into the other tools you use.

View setup

Any MCP client

MCP clients

Connect an MCP-compatible agent to PostOnce to discover your social accounts, publish posts, and set up automatic crossposting.

View setup

Dropbox

Media imports

Choose an image from Dropbox, add it to your PostOnce draft, and review it before scheduling.

View setup

Your next post starts here.

Connect Cursor

Requires a PostOnce account, API access, and your own API key.