Skip to content

Social publishing for developers and AI agents

Post to 12 platforms from your own code or agent through MCP or the REST API. Each key carries only the permissions you choose, agent posts wait for the owner's approval by default, and the activity log shows every call that reached a feature.

Updated

Best for

  • Developers building an assistant that prepares drafts for a person
  • Scripts that need separate read, draft and schedule permissions
  • Teams that want a hosted remote MCP server alongside HTTP access

Not for

  • Agents that need to approve their own posts, manage billing or connect accounts.
  • Teams that require every permission refusal and MCP discovery request in a complete audit log.
  • Developers expecting the CLI or n8n node to be published to npm already.

What you get

  • Keep control of publishing: agent posts wait for owner approval by default. A key with the explicit skip-approval permission can bypass that hold; replies are outside the post-approval flow. Source
  • Give each key only the permissions it needs. Keys are shown once, stored hashed and revocable. Agents cannot connect accounts, change billing or approve their own posts. Source
  • The activity log records routed API operations and executed MCP tool calls, with their status. Some permission refusals and MCP discovery requests are outside that record; it is not a complete audit of everything an assistant does. Source
  • Use the hosted MCP server with OAuth, REST endpoints under /api/v1, or the dependency-free Node CLI in the repository. The CLI package is private and not published. Local installation requires source access; otherwise use the public REST API. Source

How it works

  1. Choose a protocol and workspace

    Read the REST reference or the MCP guide, connect one workspace and grant only the scopes the integration needs. OAuth lets an MCP client discover sign-in from the server URL. API keys provide a separate route for scripts.

  2. Preview before scheduling

    The API includes a preview operation that validates a proposed post without saving it. Use the returned problems to correct text, accounts and media before creating the post. A successful preview is not a publishing result.

  3. Handle holds and retry safely

    Treat pending_approval as a handoff to the owner. Use an Idempotency-Key for API creation retries, and inspect the returned post status instead of assuming a successful HTTP response means publication. The CLI sends an idempotency key for each post.

What it costs

There is no Free plan. MCP and API keys are included on every paid plan. The unpublished CLI requires source access for local installation. Solo is $19 a month for 5 accounts; Team is $29 for 10 accounts and unlimited seats. Every workspace holds one account per network; several brands on the same network need separate workspaces on Agency. A 7-day trial requires a card when offered; check Pricing for today's availability before signing up.

See plans and today's trial offer

Questions people ask

Do I need a higher plan for MCP or the API?

No. Every paid plan includes MCP and API keys. Start with the account and seat limits that fit your workspace; extra workspaces require Agency even when a lower plan advertises more account slots than you use.

Can an agent approve the posts it creates?

No. Approval routes are on the agent never-list. The workspace owner approves agent-written posts in the app; a client holding the review link cannot make that decision.

Can I validate a post without saving it?

Yes. Use the preview operation from the REST API. Validation can report problems before you create anything, but it cannot guarantee the platform will accept a later publishing attempt.

Can I use OAuth instead of storing an API key?

Yes. The hosted MCP server supports OAuth sign-in and workspace consent. Clients that cannot sign in can use an API key instead, with the permissions selected by the owner.

Does retrying a CLI post create a duplicate?

No, when the retry uses the same idempotency key. Every CLI post sends one; set the same key explicitly for retries. A fresh key represents a fresh request, so preserve it with your job state.

Does the activity log include all failed permissions checks?

No. Some permission and plan refusals return before logging. Routed API operations and executed MCP tool calls are recorded, but the log is not a complete security audit of every attempted action.

Related guides

Sources and limits

  1. Approval and scoped keys agent-kit/README.md:17
  2. Recorded API operations src/index.js:273
  3. Recorded MCP tool calls src/features/mcp.js:645
  4. Manual n8n install agent-kit/n8n/README.md:11
  5. MCP connection guide public/docs-mcp.html:312
  6. REST API reference public/docs-api.html
  7. Plans and limits src/plans.js:11
  8. Accounts per network src/features/team.js:393
  9. Agency workspaces src/index.js:743
  10. Owner-only agent approval src/index.js:1492
  11. Repository behavior src/agents/core.js:35

Choose a plan Read the API docs