AdaptlyPost
Post and schedule social media content to Instagram, TikTok, YouTube, X, Facebook, LinkedIn, Pinterest, Threads, and Bluesky - from any MCP client.
What it can do
- List Accounts: List all connected social media accounts across all platforms (LinkedIn, YouTube, Instagram, Facebook, TikTok, Pinterest, Threads, Bluesky, Twitter). Returns connection IDs needed for c
- Upload Media: Upload media files for use in posts. Supports two modes: 1. URLs: pass public image/video URLs — the server downloads and re-uploads them. 2. Files: pass base64-encoded file data directl
- Get Upload Urls: Get presigned upload URLs for direct file uploads. Returns uploadUrl (PUT your file here) and publicUrl (use in create_post mediaUrls). This only mints a URL — you MUST PUT the file t
What data it sees
Do you need an account
An API key from the service settings is required
Post and schedule social media content to Instagram, TikTok, YouTube, X, Facebook, LinkedIn, Pinterest, Threads, and Bluesky - from any MCP client.
- Cross-post to multiple platforms in one call, with per-platform caption overrides; each post auto-adapts to fit the platform
- Schedule to any future time, or bulk-schedule your content calendar
- Draft -> review -> publish workflow: save drafts, approve, then they go live
- Per-platform results: see what succeeded, retry only the failures
- Media upload for images and video, with TikTok privacy controls
How to connect
How to connect AdaptlyPost to Claude
The server address to paste into Claude settings:
https://adaptlypost--tarasshyn.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect AdaptlyPost to ChatGPT
The server address to paste into ChatGPT settings:
https://adaptlypost--tarasshyn.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect AdaptlyPost to Cursor
The server address to paste into Cursor settings:
https://adaptlypost--tarasshyn.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (12)
Raw names from tools/list. Only developers need these.
| list_accounts | List all connected social media accounts across all platforms (LinkedIn, YouTube, Instagram, Facebook, TikTok, Pinterest, Threads, Bluesky, Twitter). Returns connection IDs needed for creating posts. Facebook page accounts also include a pageId (the Facebook Page ID) since pages have no username. |
| upload_media | Upload media files for use in posts. Supports two modes: 1. URLs: pass public image/video URLs — the server downloads and re-uploads them. 2. Files: pass base64-encoded file data directly (e.g. when the user attaches an image in the conversation). Returns mediaUrls ready to pass into create_post. The user does NOT need to see the returned URLs — just pass them to create_post. |
| get_upload_urls | Get presigned upload URLs for direct file uploads. Returns uploadUrl (PUT your file here) and publicUrl (use in create_post mediaUrls). This only mints a URL — you MUST PUT the file to uploadUrl and confirm a 2xx response before using publicUrl, otherwise create_post/bulk rejects it with "Media file(s) not found in storage". Prefer the upload_media tool, which performs the upload for you. For each file, provide fileName and mimeType. Supported types: image/jpeg, image/png, image/webp, video/mp4, video/quicktime. |
| create_post | Create and schedule a post to one or more platforms. Pass connection IDs from list_accounts to target specific accounts. Omit scheduledAt to post immediately, or set saveAsDraft to save without publishing. For platform-specific options (YouTube titles, TikTok privacy, Pinterest boards, Instagram post type), use the corresponding platform configs. |
| get_post | Get full details of a single post by ID, including per-platform publishing status and error messages. |
| list_posts | List posts with optional filters by status, platform, or date range. Supports pagination. |
| update_post | Update a scheduled or draft post's caption, schedule, accounts, media, or platform configs. Cannot update published posts. |
| delete_post | Delete a scheduled or draft post. Can't delete published posts. |
| publish_draft | Publish a draft post immediately or schedule it for later. |
| list_post_results | Check per-platform posting results — success/failure status with error details for each platform a post was sent to. |
| retry_failed_platforms | Retry publishing on platforms that failed. Get platform IDs from list_post_results. |
| bulk_schedule_posts | Schedule multiple posts at once. Each post gets its own text, content type, schedule time, and optional media. All posts share the same target platforms and connection IDs. |