Post to social media from Cursor with Ampost's MCP server

Ampost's MCP server gives Cursor's agent tools to create, schedule and publish posts on the 11 networks Ampost supports. Add the server to Cursor, paste your API key, and ask in plain words.

Before you start

  • An Ampost account. The Free plan includes the REST API and MCP, no credit card; scheduling needs the Pro plan or higher and posting to X the Max plan or higher. See pricing.
  • An API key from the dashboard, under Settings, API keys. The key is shown once, so copy it when you create it.
  • At least one connected social account, under Settings, Connections. Cursor never needs your social media logins: accounts are connected in the browser.

Add Ampost to Cursor

  1. Open the config file: .cursor/mcp.json in your project for that project only, or the global ~/.cursor/mcp.json for every project, which you can also open from Cursor Settings → MCP.
  2. Add the ampost entry below. If the file already has an mcpServers object, add the entry inside it.
  3. Replace amp_live_YOUR_KEY with your API key and save the file.
  4. Restart Cursor, or enable the ampost server in Cursor Settings → MCP.
~/.cursor/mcp.json
{
  "mcpServers": {
    "ampost": {
      "url": "https://api.ampost.io/mcp",
      "headers": {
        "Authorization": "Bearer amp_live_YOUR_KEY"
      }
    }
  }
}
  • To keep the key out of the file, write "Authorization": "Bearer ${env:AMPOST_API_KEY}" and set AMPOST_API_KEY.

Prefer one click? Paste your key into the install guide, open its Cursor tab and click Add to Cursor; Cursor asks you to confirm.

Check the connection

In Cursor Settings → MCP, the ampost server shows as enabled with its tools listed. Cursor lists only the tools your key's scopes allow; with full access these are:

  • platforms_list
  • posts_list
  • posts_create
  • posts_validate
  • posts_import_csv
  • posts_get
  • posts_update
  • posts_delete
  • posts_publish
  • posts_unpublish
  • posts_edit_published
  • posts_retry
  • media_upload_create
  • media_upload_status
  • accounts_list
  • accounts_get
  • accounts_disconnect
  • accounts_set_analytics
  • accounts_list_boards
  • accounts_set_board
  • accounts_connect
  • accounts_connect_status
  • platform_sets_list
  • platform_sets_create
  • platform_sets_get
  • platform_sets_update
  • platform_sets_delete
  • queue_get
  • queue_update
  • queue_slots
  • analytics_posts
  • analytics_overview
  • analytics_followers
  • webhooks_list
  • webhooks_create
  • webhooks_get
  • webhooks_update
  • webhooks_delete
  • webhooks_test
  • webhooks_deliveries_list
  • webhooks_redeliver
  • docs_search
  • feedback_submit

Then, in Cursor's agent chat: Ask the assistant to call platforms_list. A working setup answers with the platforms Ampost supports (Instagram, Facebook, LinkedIn, TikTok, Threads, X, YouTube, Pinterest, Bluesky, Telegram, Discord) and their rules, such as text limits and media types. The raw result is { "data": [{ "platform": "instagram", "name": "Instagram", "text": { "maxLength": 2200 }, ... }], "pagination": { ... } }. Each tool is described on the MCP server docs.

Your first post from Cursor

Ask Cursor's agent in plain words, for example:

  1. “Draft a LinkedIn post announcing today's release notes and show it to me”: the agent reads the release notes in your project (or the ones you paste), writes the text and creates the post with posts_create. Without scheduledFor or publishNow the post is a draft, so nothing goes out yet. Read it and ask for changes; the agent updates the draft with posts_update.
  2. “Publish it to LinkedIn and X now”: the agent adds X to the draft's targets with posts_update and publishes it with posts_publish. The result has a status for each account; if one failed, the agent can call posts_retry. Posting to X needs the Max plan or higher.
  3. “Schedule the same post on Threads for tomorrow at 9am”: the agent creates a post for Threads with posts_create and a scheduledFor time. Check the time in its answer before you move on. Scheduling needs the Pro plan or higher.

Ampost checks every post against each platform's rules, such as text limits and media types, before it accepts it. To check a post without creating anything, ask the agent to send it to posts_validate first: it answers, per platform, whether posts_create would accept it (see Post Creation).

Troubleshooting

  • The server doesn't appear: check that the file is .cursor/mcp.json in the project root or ~/.cursor/mcp.json, and that the JSON is valid (the ampost entry inside mcpServers, no trailing commas). Cursor loads MCP servers at start: quit and restart it fully, then check Cursor Settings → MCP.
  • Authentication fails (401 with UNAUTHORIZED, or Ampost's sign-in page opens): check the Authorization header in the config. It must read Bearer and your key, not amp_live_YOUR_KEY. A key copied with spaces or line breaks, or a revoked key, fails: copy it again or create a new one in Settings, API keys.
  • A network isn't available: connect the account in the dashboard under Settings, Connections first, or ask the agent to call accounts_connect, which returns a link to open in your browser. A 403 with UPGRADE_REQUIRED means your plan doesn't include the feature, for example X or scheduling on Free.

More fixes are in the install guide's If it fails section.

Next steps