# AdaptlyPost (remote · mcp.adaptlypost.com)

Schedule and post to Instagram, TikTok, YouTube, X, Facebook, LinkedIn, Pinterest, Threads, Bluesky.

- Trust score: 37/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- remote · `mcp.adaptlypost.com`: 37/100 (this document), [markdown](https://verifymcp.io/servers/com-adaptlypost-mcp-server/mcp.md), [page](https://verifymcp.io/servers/com-adaptlypost-mcp-server/mcp)

## Channel facts

- Endpoint: `https://mcp.adaptlypost.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Endpoint Security**: 92/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 0/100
  - Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http.
- **Schema Quality & AI Usability**: 0/100
  - Schema blocked by authentication: the endpoint requires auth we don't have to read it.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Tool Safety**: 0/100
  - Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Capabilities**: 0/100
  - Capabilities blocked by authentication: the endpoint requires auth we don't have to read them.

**Unverified: 6 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the AdaptlyPost MCP server?

AdaptlyPost is a hosted endpoint at https://mcp.adaptlypost.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-adaptlypost-mcp-server 'https://mcp.adaptlypost.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-adaptlypost-mcp-server": {
      "url": "https://mcp.adaptlypost.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-adaptlypost-mcp-server": {
      "type": "http",
      "url": "https://mcp.adaptlypost.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-adaptlypost-mcp-server]
url = "https://mcp.adaptlypost.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-adaptlypost-mcp-server": {
      "type": "remote",
      "url": "https://mcp.adaptlypost.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-adaptlypost-mcp-server --url 'https://mcp.adaptlypost.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-adaptlypost-mcp-server:
    url: "https://mcp.adaptlypost.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-adaptlypost-mcp-server": {
      "Transport": "http",
      "Url": "https://mcp.adaptlypost.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-adaptlypost-mcp-server -t streamable-http -u 'https://mcp.adaptlypost.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-adaptlypost-mcp-server": {
      "type": "http",
      "url": "https://mcp.adaptlypost.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-09 (score 37, −31)

- [security regression] Endpoint reachability: reachable → behind authorisation
- [security regression] Tool safety: pass → unverified
- [security regression] Stability: 0.33 → unverified
- [security regression] Transport: pass → unverified
- [security improvement] Authorization: fail → pass
- [security] First check of Authorization: pass
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-09-08 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-06 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-03 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-02 (score 65, 0)

- [cosmetic] Tool “bulk_schedule_posts” changed its title: Bulk Schedule Posts
- [cosmetic] Tool “create_post” changed its title: Create Post
- [cosmetic] Tool “delete_post” changed its title: Delete Post
- [cosmetic] Tool “get_post” changed its title: Get Post
- [cosmetic] Tool “get_upload_urls” changed its title: Get Media Upload URLs
- [cosmetic] Tool “list_accounts” changed its title: List Connected Accounts
- [cosmetic] Tool “list_post_results” changed its title: List Post Results
- [cosmetic] Tool “list_posts” changed its title: List Posts
- [cosmetic] Tool “publish_draft” changed its title: Publish Draft
- [cosmetic] Tool “retry_failed_platforms” changed its title: Retry Failed Platforms
- [cosmetic] Tool “update_post” changed its title: Update Post
- [cosmetic] Tool “upload_media” changed its title: Upload Media

### 2026-09-01 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-30 (score 64, +1)

- [security] Tool “update_post” no longer declares itself destructive
- [functional improvement] Stability: unverified → 0.03

### 2026-08-29 (score 63)

First indexed and scored.

## MCP tools (12)

### `list_accounts` (~68 tokens)

List Connected 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.

Output parameters:

- `result`: The connected social accounts with their platform, connection ID, username, and pageId for Facebook pages as returned by the AdaptlyPost API.

### `upload_media` (~148 tokens)

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.

Input parameters:

- `files` (array): Direct file uploads as base64. Use this when the user attaches/pastes an image or video in the conversation
- `urls` (array): Public URLs of images or videos to upload (e.g. ["https://example.com/photo.jpg"])

Output parameters:

- `result`: An object with uploaded (array of { publicUrl, key } per file) and mediaUrls (the public URLs ready to pass to create_post).

### `get_upload_urls` (~143 tokens)

Get Media 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.

Input parameters:

- `files` (array, required): Files to get upload URLs for

Output parameters:

- `result`: An object with urls: one { uploadUrl, publicUrl, key } entry per requested file.

### `create_post` (~532 tokens)

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.

Input parameters:

- `blueskyConnectionIds` (array): Bluesky account connection IDs to post from
- `contentType` (string, required): Content type: TEXT, IMAGE, VIDEO, or CAROUSEL
- `facebookConfigs` (array): Facebook per-page config with post type and video title
- `instagramConfigs` (array): Instagram per-connection config to set post type (FEED, REEL, STORY)
- `instagramConnectionIds` (array): Instagram account connection IDs to post from
- `linkedinConnectionIds` (array): LinkedIn account connection IDs to post from
- `mediaUrls` (array): Media URLs to attach. Use publicUrl values from upload_media or get_upload_urls
- `pageIds` (array): Facebook page IDs
- `pinterestConfigs` (array): Pinterest per-connection config. boardId is required for Pinterest posts
- `pinterestConnectionIds` (array): Pinterest account connection IDs to post from
- `platformTexts` (array): Per-platform caption overrides
- `platforms` (array, required): Target platforms (e.g. ["LINKEDIN", "TWITTER"])
- `saveAsDraft` (boolean): Save as draft instead of publishing
- `scheduledAt` (string): ISO 8601 datetime to schedule (e.g. "2026-03-15T10:00:00Z"). Omit to post immediately
- `text` (string): Default post text shared across platforms
- `threadsConnectionIds` (array): Threads account connection IDs to post from
- `thumbnailTimestampMs` (number): Generate thumbnail from video at this timestamp (milliseconds)
- `thumbnailUrl` (string): Custom thumbnail image URL for video posts
- `tiktokConfigs` (array): TikTok per-connection config. Each entry needs connectionId + privacyLevel at minimum
- `tiktokConnectionIds` (array): TikTok account connection IDs to post from
- `timezone` (string): IANA timezone (e.g. "America/New_York")
- `twitterConnectionIds` (array): X (Twitter) account connection IDs to post from
- `youtubeConfigs` (array): YouTube per-connection config with video title, tags, privacy, etc.
- `youtubeConnectionIds` (array): YouTube channel connection IDs to post from

Output parameters:

- `result`: The created post record including its id, status, and scheduled time as returned by the AdaptlyPost API.

### `get_post` (~36 tokens)

Get Post

Get full details of a single post by ID, including per-platform publishing status and error messages.

Input parameters:

- `id` (string, required): Post ID

Output parameters:

- `result`: The full post record including its id, status, per-platform publishing status, and error messages as returned by the AdaptlyPost API.

### `list_posts` (~118 tokens)

List Posts

List posts with optional filters by status, platform, or date range. Supports pagination.

Input parameters:

- `endDate` (string): End date (ISO 8601)
- `limit` (number): Max results
- `offset` (number): Pagination offset
- `platforms` (array): Filter by platform
- `sortOrder` (string): NEWEST or OLDEST
- `startDate` (string): Start date (ISO 8601)
- `statuses` (array): Filter by status (e.g. ["SCHEDULED", "DRAFT"])

Output parameters:

- `result`: The matching posts with their ids, statuses, platforms, and schedule times as returned by the AdaptlyPost API.

### `update_post` (~425 tokens)

Update Post

Update a scheduled or draft post's caption, schedule, accounts, media, or platform configs. Cannot update published posts.

Input parameters:

- `blueskyConnectionIds` (array): Bluesky account connection IDs to post from
- `contentType` (string)
- `facebookConfigs` (array): Facebook per-page config with post type and video title
- `id` (string, required): Post ID to update
- `instagramConfigs` (array): Instagram per-connection config to set post type (FEED, REEL, STORY)
- `instagramConnectionIds` (array): Instagram account connection IDs to post from
- `linkedinConnectionIds` (array): LinkedIn account connection IDs to post from
- `mediaUrls` (array): Updated media URLs. Use publicUrl values from upload_media or get_upload_urls
- `pageIds` (array): Facebook page IDs
- `pinterestConfigs` (array): Pinterest per-connection config. boardId is required for Pinterest posts
- `pinterestConnectionIds` (array): Pinterest account connection IDs to post from
- `platformTexts` (array)
- `platforms` (array): Updated target platforms
- `scheduledAt` (string): Updated schedule time (ISO 8601)
- `text` (string): Updated text
- `threadsConnectionIds` (array): Threads account connection IDs to post from
- `thumbnailTimestampMs` (number): Generate thumbnail from video at this timestamp (milliseconds)
- `thumbnailUrl` (string): Custom thumbnail image URL for video posts
- `tiktokConfigs` (array): TikTok per-connection config. Each entry needs connectionId + privacyLevel at minimum
- `tiktokConnectionIds` (array): TikTok account connection IDs to post from
- `timezone` (string): IANA timezone for the schedule time
- `twitterConnectionIds` (array): X (Twitter) account connection IDs to post from
- `youtubeConfigs` (array): YouTube per-connection config with video title, tags, privacy, etc.
- `youtubeConnectionIds` (array): YouTube channel connection IDs to post from

Output parameters:

- `result`: The updated post record including its id, status, and scheduled time as returned by the AdaptlyPost API.

### `delete_post` (~31 tokens)

Delete Post

Delete a scheduled or draft post. Can't delete published posts.

Input parameters:

- `id` (string, required): Post ID to delete

Output parameters:

- `result`: The deletion confirmation for the post as returned by the AdaptlyPost API.

### `publish_draft` (~61 tokens)

Publish Draft

Publish a draft post immediately or schedule it for later.

Input parameters:

- `id` (string, required): Draft post ID
- `scheduledAt` (string): Schedule time (ISO 8601). Omit to publish now
- `timezone` (string): IANA timezone

Output parameters:

- `result`: The published or scheduled post record with its updated status as returned by the AdaptlyPost API.

### `list_post_results` (~44 tokens)

List Post Results

Check per-platform posting results — success/failure status with error details for each platform a post was sent to.

Input parameters:

- `id` (string, required): Post ID to check results for

Output parameters:

- `result`: The per-platform posting results with success/failure status and error details as returned by the AdaptlyPost API.

### `retry_failed_platforms` (~47 tokens)

Retry Failed Platforms

Retry publishing on platforms that failed. Get platform IDs from list_post_results.

Input parameters:

- `id` (string, required): Post ID
- `platformIds` (array, required): Failed platform IDs to retry

Output parameters:

- `result`: The retry outcome for the requested platform IDs as returned by the AdaptlyPost API.

### `bulk_schedule_posts` (~335 tokens)

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.

Input parameters:

- `blueskyConnectionIds` (array): Bluesky account connection IDs to post from
- `facebookConfigs` (array): Facebook per-page config with post type and video title
- `instagramConfigs` (array): Instagram per-connection config to set post type (FEED, REEL, STORY)
- `instagramConnectionIds` (array): Instagram account connection IDs to post from
- `linkedinConnectionIds` (array): LinkedIn account connection IDs to post from
- `pageIds` (array): Facebook page IDs
- `pinterestConfigs` (array): Pinterest per-connection config. boardId is required for Pinterest posts
- `pinterestConnectionIds` (array): Pinterest account connection IDs to post from
- `platforms` (array, required): Target platforms
- `posts` (array, required): Array of posts to schedule
- `threadsConnectionIds` (array): Threads account connection IDs to post from
- `tiktokConfigs` (array): TikTok per-connection config. Each entry needs connectionId + privacyLevel at minimum
- `tiktokConnectionIds` (array): TikTok account connection IDs to post from
- `timezone` (string): IANA timezone
- `twitterConnectionIds` (array): X (Twitter) account connection IDs to post from
- `youtubeConfigs` (array): YouTube per-connection config with video title, tags, privacy, etc.
- `youtubeConnectionIds` (array): YouTube channel connection IDs to post from

Output parameters:

- `result`: The created scheduled post records with their ids, statuses, and schedule times as returned by the AdaptlyPost API.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-adaptlypost-mcp-server/mcp#diagnostics

## Score history

- 2026-09-20: 37
- 2026-09-19: 37
- 2026-09-18: 37
- 2026-09-17: 37
- 2026-09-16: 37
- 2026-09-15: 37
- 2026-09-14: 37
- 2026-09-13: 37
- 2026-09-12: 37
- 2026-09-11: 37
- 2026-09-10: 37
- 2026-09-09: 37
- 2026-09-08: 68
- 2026-09-07: 67
- 2026-09-06: 67
- 2026-09-05: 66
- 2026-09-04: 66
- 2026-09-03: 66
- 2026-09-02: 65
- 2026-09-01: 65
- 2026-08-31: 64
- 2026-08-30: 64
- 2026-08-29: 63

## Common questions

### What is the AdaptlyPost MCP server?

AdaptlyPost is an MCP server listed in the public MCP registry as com.adaptlypost/mcp-server. Schedule and post to Instagram, TikTok, YouTube, X, Facebook, LinkedIn, Pinterest, Threads, Bluesky. This page covers its hosted endpoint (https://mcp.adaptlypost.com/mcp).

### Is the AdaptlyPost MCP server safe to use?

AdaptlyPost scores 37 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the AdaptlyPost MCP server expose?

AdaptlyPost exposes 12 tools: list_accounts, upload_media, get_upload_urls, create_post, get_post, and 7 more. Their descriptions and schemas cost roughly 1,988 tokens of context every time the server is loaded.

### Does the AdaptlyPost MCP server require authentication?

Yes. AdaptlyPost asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the AdaptlyPost MCP server still maintained?

AdaptlyPost is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.adaptlypost.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-adaptlypost-mcp-server/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-adaptlypost-mcp-server/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-adaptlypost-mcp-server/mcp
