Back to AI Agents

MCP Setup Guide

Connect AdaptlyPost to your AI assistant in under a minute. Paste the URL, sign in when prompted, and start posting.

Prerequisites

  • An active AdaptlyPost account sign up

  • At least one connected social media account

  • Optional: an API token for headless agents and clients without OAuth, from Settings > API Tokens

Setup for Claude Code & Cursor

Add this to your MCP settings and sign in when the browser opens. For Claude Code: <code>~/.claude/settings.json</code>. For Cursor: <code>.cursor/mcp.json</code>.

MCP config

{
  "mcpServers": {
    "adaptlypost": {
      "type": "http",
      "url": "https://mcp.adaptlypost.com/mcp"
    }
  }
}

Claude Code CLI

claude mcp add --transport http adaptlypost https://mcp.adaptlypost.com/mcp

Or use the Claude Code CLI one-liner. It opens the sign-in page on first use:

API key alternative

{
  "mcpServers": {
    "adaptlypost": {
      "type": "http",
      "url": "https://mcp.adaptlypost.com/mcp",
      "headers": {
        "Authorization": "Bearer adaptly_your_key"
      }
    }
  }
}

For headless agents or clients without OAuth, add an Authorization header with a token from the API Tokens page. Keys start with adaptly_.

Setup for Claude Desktop

Claude Desktop connects through the <code>mcp-remote</code> bridge, which opens the sign-in page for you. Add this to your <code>claude_desktop_config.json</code>:

claude_desktop_config.json

{
  "mcpServers": {
    "adaptlypost": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.adaptlypost.com/mcp"]
    }
  }
}

Setup for Other MCP Clients

Any MCP client that supports HTTP transport can connect directly.

Endpoint

https://mcp.adaptlypost.com/mcp

Auth

Sign in when prompted (OAuth), or send Authorization: Bearer adaptly_your_key

Transport

HTTP (Streamable HTTP)

Without a Bearer header the server answers 401 with a WWW-Authenticate header, so OAuth-capable clients open the sign-in page on their own.

For clients that only support stdio transport, use the <code>mcp-remote</code> bridge as shown in the Claude Desktop section.

Alternative: Agent Skill

For Claude Code, Cursor, Windsurf, and Codex you can also install AdaptlyPost as an agent skill, no MCP configuration needed.

npx skills add adaptlypost/agent

Installs a SKILL.md and CLI script that teaches your agent the AdaptlyPost API. View on GitHub

Tool Reference

The MCP server exposes 31 tools. Your AI discovers these automatically, just ask in plain language.

ToolDescriptionKey params
list_workspacesList the workspaces your sign-in can act in. Pass an id as workspaceId to any other tool to work in that workspace.None
list_accountsList connected social media accounts with IDs, platforms, usernames and status. An account marked unauthorized has to be reconnected before it can post.None
upload_mediaUpload media from URLs or base64 data. Returns mediaUrls for create_post.urls?, files?
get_upload_urlsGet presigned upload URLs for direct file uploads to storage.files (fileName + mimeType)
open_upload_widgetShow an upload box in ChatGPT or Claude so the user can add photos, videos or documents from their device. The box sends back the mediaUrls when it finishes.None
get_upload_ticketCalled by the upload box once per file. Hidden from the AI.None
create_postCreate a post for one or more platforms: publish now, schedule, save a draft, or repeat it daily, weekly, monthly or yearly.platforms, contentType, timezone, text?, scheduledAt?, saveAsDraft?, recurrence?, mediaUrls?, mediaAltTexts?, platformTexts?, *ConnectionIds, pageIds?, *Configs?
get_postGet full details of a single post by ID.id
list_postsList posts with optional filters by platform, status, or date range.statuses?, platforms?, startDate?, endDate?, sortOrder?, limit?, offset?
update_postUpdate a scheduled or draft post's caption, schedule, media, or platform configs.id, text?, platforms?, contentType?, scheduledAt?, timezone?, mediaUrls?, mediaAltTexts?, platformTexts?, *ConnectionIds, *Configs?
delete_postDelete a post. A scheduled post will not go out; a published post stays live on the networks.id
unschedule_postTake a scheduled post off the calendar and keep it as an undated draft.id
publish_draftPublish a draft post immediately or schedule it for later.id, timezone, scheduledAt?
list_post_resultsCheck per-platform posting results, success/failure with error details.id
retry_failed_platformsRetry publishing on platforms that failed.id, platformIds?
bulk_schedule_postsSchedule multiple posts at once with shared platforms and connection IDs.platforms, timezone, posts[], *ConnectionIds, pageIds?, *Configs?
list_recurring_postsList recurring posts (series) with their status, schedule and next occurrence.statuses?, limit?, offset?
get_recurring_postGet one recurring post by ID, including why it paused and when it posts next.id
pause_recurring_postPause a series and remove its upcoming scheduled post.id
resume_recurring_postResume a paused series from the next slot after now. Missed slots are skipped.id
delete_recurring_postStop a series for good. Posts that already went out are kept.id
get_analytics_overviewViews, likes, comments, shares, followers and engagement rate for a date window, each compared with the previous window.from, to, platforms?
get_analytics_timeseriesThe same metrics bucketed by day, week or month for trend questions.from, to, platforms?, granularity?
get_platform_breakdownThe same metrics split per platform, with the metrics each platform reports.from, to
list_post_analyticsPer-post metrics sortable by any metric. Top posts and "how did this post do".from, to, platforms?, sortBy?, page?, limit?
get_analytics_sync_statusWhen each account last synced and whether one needs reconnecting for analytics.None
trigger_analytics_syncRefresh analytics now. Once per 10 minutes per workspace.None
generate_captionWrite a caption from a prompt, kept within the chosen platform's character limit. Costs 2 AI credits.prompt, platform?
refine_captionRewrite an existing caption from an instruction such as "make it shorter", or finish a partly written one. Costs 2 AI credits.prompt, originalText, partialText?, platform?
generate_imageStart an AI image and get a job ID back right away. 2 AI credits for standard, 4 for premium, refunded if it fails.prompt, aspectRatio?, model?, quality?, sessionId?, referenceImages?
get_image_jobCheck an image job until it has completed, with a public image URL ready for a post, or failed.jobId

Managing Access

Signed-in agents lose access when you remove the connector in your client or sign out. API tokens can be viewed and revoked anytime from your API Tokens page. Revoking a token immediately disconnects any agent using it.

Ready to Connect?

Paste the URL into your MCP settings, sign in once, and start posting from your AI.