Postpone Logo
Getting Started

AI & MCP

Connect AI agents to Postpone with the Model Context Protocol (MCP) server, using OAuth or a Bearer token.

Postpone ships a remote Model Context Protocol (MCP) server so AI agents can schedule and manage social media posts on your behalf using natural language. Connect it to clients like Claude, ChatGPT, Cursor, Perplexity, Grok, Zapier, n8n, Raycast, or any MCP-compatible tool.

The MCP server is in Beta. The tools and protocol versions it supports may change.

MCP Server URL

There's a single endpoint for the Postpone MCP server:

https://api.postpone.app/mcp

It speaks streamable HTTP (JSON-RPC over POST). Server-Sent Events (SSE) are not supported.

The server negotiates MCP protocol versions 2025-11-25 and 2025-06-18, preferring the newest the client supports.

A confirmed email address is required to use the MCP server. If your account email isn't confirmed yet, tool calls will fail with an email_not_confirmed error.

Authentication

The MCP endpoint accepts two authentication methods: OAuth 2.1 (recommended for interactive clients) and Bearer token (a personal API key, ideal for headless or self-hosted clients). Session cookies are deliberately not honored.

OAuth

Most hosted AI clients (Claude, ChatGPT, Cursor, and others) support OAuth out of the box. When you add Postpone as a custom/remote MCP server and choose OAuth, the client walks you through signing in to Postpone and approving access — no API key to copy or paste.

Scopes

OAuth access is scoped. When you approve a connection, you grant a set of scopes, and each tool requires a specific one:

ScopeGrants
posts:readView your scheduled and published posts
posts:writeCreate and delete scheduled posts
accounts:readView your connected social accounts
media:readSearch and view media in your media library

If a tool call needs a scope you haven't granted, the server responds with 403 and an insufficient_scope error so the client can request step-up authorization.

Bearer token (API key)

Any client that lets you set request headers can authenticate with a Postpone API key as a Bearer token. This is the simplest path for self-hosted clients (n8n, custom scripts, and similar).

Unlike OAuth, API key callers have full access — scope checks are bypassed. Treat your API key as a secret that can read and write all of your Postpone content. Never share it publicly.

Creating an MCP token

API keys for MCP are the same personal API keys used for the GraphQL API:

  1. Log into your Postpone account at postpone.app.
  2. Go to Settings → Integrations → Postpone API. You can also reach the MCP setup guides under Settings → AI Agents & MCP.
  3. Create an API key. Give it a name and, optionally, an expiration date.
  4. Copy the key — this is the only time it's shown.

API access requires a confirmed email and a plan that includes API access. For more on keys, see the Authentication guide.

Using the token

Send the key in the Authorization header using the Bearer scheme. Most clients accept a JSON config like this — replace API_KEY with your key:

{
  "mcpServers": {
    "postpone": {
      "url": "https://api.postpone.app/mcp",
      "headers": {
        "Authorization": "Bearer API_KEY"
      }
    }
  }
}

For Claude Code, add the server from your terminal:

claude mcp add --transport http postpone https://api.postpone.app/mcp

Available Tools

The Postpone MCP server exposes the following tools. Posting depends on IDs from other tools: get a social_account_id from postpone_list_social_accounts before creating a post, and media_id values from postpone_search_media before attaching content-library media.

ToolRequired scopeDescription
postpone_list_social_accountsaccounts:readList the social media accounts connected to your Postpone account. Returns the id to pass as social_account_id when creating posts.
postpone_list_scheduled_postsposts:readList posts scheduled within the next 30 days across all connected platforms, ordered by scheduled time.
postpone_list_published_postsposts:readList posts published in the last 30 days across connected platforms, most recent first.
postpone_create_social_postposts:writeSchedule a post (or save a draft) on a platform. Supports text posts, threads, links, titles, subreddits, media by URL or content-library ID, and Instagram/Facebook media types.
postpone_delete_social_postsposts:writeDelete one or more scheduled posts. Cannot delete already-published posts. Results are reported per post.
postpone_search_mediamedia:readSearch your content library for media (images, GIFs, and videos) and return IDs to attach to posts.

postpone_create_social_post and postpone_delete_social_posts change real content on your behalf. A well-behaved client will show you the exact content and ask for explicit confirmation before calling them.

Rate Limits

MCP tool calls share the same budget as the GraphQL API — 25 requests per 10 minutes on free accounts and 300 requests per 10 minutes on paid accounts.

When you exceed the limit, the server returns a 429 with X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. See the Rate Limits guide for details.

Setup Guides

Step-by-step instructions for individual clients live in your Postpone account under Settings → AI Agents & MCP, with dedicated guides for Claude, ChatGPT, Perplexity, Grok, Zapier, n8n, Raycast, Cursor, and any other MCP client.