MCP server de AdaptlyPost
Commit 13 nov 2026Permite que un agente de IA redacte, programe y publique contenido en 14 plataformas de redes sociales y gestione las analíticas de interacción.
También conocido como adaptlypost/agent
- Stars
- 0
- Herramientas
- 81
- Descargas, 30 días
- —
- Última versión
- —
- Último commit
- 13 nov 2026
- Licencia
- MIT
¿Qué es AdaptlyPost MCP?
AdaptlyPost es un MCP server. Permite que un agente de IA redacte, programe y publique contenido en 14 plataformas de redes sociales y gestione las analíticas de interacción. Expone 81 herramientas, como list_workspaces, get_me, list_accounts.
Resumen generado a partir del README del proyecto
Acerca del MCP server de AdaptlyPost
El agente AdaptlyPost ofrece una forma integrada para que los agentes de IA gestionen su presencia en redes sociales a través de 14 plataformas diferentes, incluyendo Instagram, TikTok, X, LinkedIn y YouTube. Permite a los usuarios redactar, programar y publicar contenido, además de gestionar la interacción mediante una bandeja de entrada para comentarios, menciones y mensajes directos. El servidor incluye 80 herramientas que cubren desde la subida de archivos multimedia y la automatización de feeds RSS hasta la programación masiva y analíticas detalladas de interacción.
Los desarrolladores pueden conectar este servidor a varios clientes MCP como Claude Desktop, Cursor, ChatGPT y Windsurf mediante una URL remota. La configuración está diseñada para ser rápida, utilizando OAuth para la mayoría de los clientes para evitar la entrada manual de claves de API, aunque los agentes headless pueden usar un token de API que comienza con adaptly_. El sistema admite flujos de trabajo complejos como la creación de publicaciones recurrentes, la validación de contenido antes de su publicación y la conversión automática de nuevas entradas de blog en borradores para redes sociales mediante feeds RSS.
Qué puedes hacer con él
- 1Programación de contenido multiplataformaPrograma un único anuncio para que aparezca en LinkedIn y X a una hora específica con versiones optimizadas para cada plataforma.
- 2Flujo de trabajo automatizado de blog a redes socialesConfigura un feed RSS para que cada nuevo artículo publicado en un blog se convierta automáticamente en un borrador en redes sociales.
- 3Gestión de comunidad e interacciónRevisa los comentarios y mensajes no leídos del día para gestionar las interacciones en redes sociales.
- 4Análisis de rendimiento y recuperaciónIdentifica qué plataformas tuvieron fallos en las publicaciones e intenta volver a publicar el contenido solo en esos servicios específicos.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Herramientas de AdaptlyPost MCP 81
Detectado desde el READMElist_workspacesget_melist_accountscheck_accountremove_accountcreate_connect_linkrevoke_connect_linkcreate_postvalidate_postget_postlist_postsupdate_post
| list_workspaces | — | |
| get_me | — | |
| list_accounts | — | |
| check_account | — | |
| remove_account | — | |
| create_connect_link | — | |
| revoke_connect_link | — | |
| create_post | — | |
| validate_post | — | |
| get_post | — | |
| list_posts | — | |
| update_post | — |
Mostrar las 81 herramientasMostrar menos herramientas
delete_postunschedule_postpublish_draftlist_post_resultsretry_failed_platformsbulk_schedule_postsvalidate_bulk_postsupload_mediaget_upload_urlsopen_upload_widgetsearch_instagram_audiolist_pinterest_boardslist_wordpress_categoriesresolve_linkedin_organizationlist_recurring_postsget_recurring_postpause_recurring_postresume_recurring_postdelete_recurring_postlist_rss_feedsget_rss_feedpreview_rss_feedcreate_rss_feedupdate_rss_feeddelete_rss_feedlist_rss_feed_itemspause_rss_feedresume_rss_feedcheck_rss_feedget_analytics_overviewget_analytics_timeseriesget_platform_breakdownlist_post_analyticslist_top_postslist_discovered_postsget_analytics_sync_statustrigger_analytics_syncget_inbox_summaryrefresh_inboxlist_inbox_commentsget_inbox_commentreply_to_inbox_commenthide_inbox_commentunhide_inbox_commentlike_inbox_commentunlike_inbox_commentdelete_inbox_commentupdate_inbox_comments_statuslist_inbox_mentionsreply_to_inbox_mentionupdate_inbox_mentions_statuslist_inbox_conversationsget_inbox_conversationsend_inbox_messageupdate_inbox_conversations_statuslist_inbox_reviewsreply_to_inbox_reviewdelete_inbox_review_replyupdate_inbox_reviews_statuslist_webhooksget_webhookcreate_webhookupdate_webhookdelete_webhooktest_webhookgenerate_captionrefine_captiongenerate_imageget_image_job
| delete_post | — | |
| unschedule_post | — | |
| publish_draft | — | |
| list_post_results | — | |
| retry_failed_platforms | — | |
| bulk_schedule_posts | — | |
| validate_bulk_posts | — | |
| upload_media | — | |
| get_upload_urls | — | |
| open_upload_widget | — | |
| search_instagram_audio | — | |
| list_pinterest_boards | — | |
| list_wordpress_categories | — | |
| resolve_linkedin_organization | — | |
| list_recurring_posts | — | |
| get_recurring_post | — | |
| pause_recurring_post | — | |
| resume_recurring_post | — | |
| delete_recurring_post | — | |
| list_rss_feeds | — | |
| get_rss_feed | — | |
| preview_rss_feed | — | |
| create_rss_feed | — | |
| update_rss_feed | — | |
| delete_rss_feed | — | |
| list_rss_feed_items | — | |
| pause_rss_feed | — | |
| resume_rss_feed | — | |
| check_rss_feed | — | |
| get_analytics_overview | — | |
| get_analytics_timeseries | — | |
| get_platform_breakdown | — | |
| list_post_analytics | — | |
| list_top_posts | — | |
| list_discovered_posts | — | |
| get_analytics_sync_status | — | |
| trigger_analytics_sync | — | |
| get_inbox_summary | — | |
| refresh_inbox | — | |
| list_inbox_comments | — | |
| get_inbox_comment | — | |
| reply_to_inbox_comment | — | |
| hide_inbox_comment | — | |
| unhide_inbox_comment | — | |
| like_inbox_comment | — | |
| unlike_inbox_comment | — | |
| delete_inbox_comment | — | |
| update_inbox_comments_status | — | |
| list_inbox_mentions | — | |
| reply_to_inbox_mention | — | |
| update_inbox_mentions_status | — | |
| list_inbox_conversations | — | |
| get_inbox_conversation | — | |
| send_inbox_message | — | |
| update_inbox_conversations_status | — | |
| list_inbox_reviews | — | |
| reply_to_inbox_review | — | |
| delete_inbox_review_reply | — | |
| update_inbox_reviews_status | — | |
| list_webhooks | — | |
| get_webhook | — | |
| create_webhook | — | |
| update_webhook | — | |
| delete_webhook | — | |
| test_webhook | — | |
| generate_caption | — | |
| refine_caption | — | |
| generate_image | — | |
| get_image_job | — |
Configuración
ADAPTLYPOST_API_TOKEN
| Nombre | Descripción | Tipo |
|---|---|---|
| ADAPTLYPOST_API_TOKEN | — |
Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Aún no verificado. Un servidor necesita una puntuación de 80, ningún hallazgo grave y suficientes datos para que podamos revisarlo. Cómo funcionan las verificaciones · Qué corregir para obtener más puntos
- Repositorio de origen vinculado y accesibleadaptlypost/agent is public and reachablegithub.com/adaptlypost/agent ↗Aprobado
- El paquete indica este repositorio como su origenNo verificado
- Procedencia de la compilación (atestación de Sigstore)No verificado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-11-12github.com/adaptlypost/agent ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo verificado
- No hay avisos críticos en el paquete ni en sus dependenciasNo verificado
- Sin instrucciones ocultas para el modelo81 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en GitHubAdaptlyPost agent
Let your AI agent draft, schedule and publish posts on Instagram, TikTok, YouTube, X (Twitter), LinkedIn, Facebook, Pinterest, Threads, Bluesky, Mastodon, Google Business Profile, Tumblr, Telegram and WordPress, all 14 platforms AdaptlyPost supports, and read how those posts performed. 80 MCP tools cover posting, scheduling, bulk and recurring posts, media uploads, RSS feeds, webhooks, AI captions and images, analytics, and an inbox for answering comments, mentions, direct messages and Google reviews.
Connect in 30 seconds
claude mcp add --transport http adaptlypost https://mcp.adaptlypost.com/mcp
Any other MCP client needs only the URL, https://mcp.adaptlypost.com/mcp. The first call opens a browser to sign in with your AdaptlyPost account. Nothing to install and no key to paste. Setup for each client is below.
What this repo is
This repo holds every AdaptlyPost agent integration except the Claude Code and Hermes Agent plugin:
| Path | What it is |
|---|---|
skills/adaptlypost/ |
The agent skill for npx skills add. It drives the AdaptlyPost REST API through scripts/adaptlypost.js with an API key. |
mcp-server/ |
Source of the MCP server that runs at https://mcp.adaptlypost.com/mcp. A push to main that touches it builds a new image. |
gemini-extension.json, GEMINI.md |
The Gemini CLI extension. It connects to the hosted MCP server and signs in with OAuth. |
Dockerfile, glama.json |
Runs the MCP server over stdio, for Glama and anyone who wants it in a container. |
lhm.plugin.json |
The LobeHub marketplace listing for the hosted MCP server. |
The Claude Code and Hermes Agent plugin lives in adaptlypost/claude-plugin. It signs in with OAuth and never asks for an API key, which the Claude plugin directory and the Hermes catalog both require, so it ships its own MCP-only skill instead of the script skill here.
Pick your install
| You use | Install | Sign-in |
|---|---|---|
| Claude Code | /plugin install adaptlypost --marketplace adaptlypost/claude-plugin |
OAuth |
| Hermes Agent | hermes plugins install adaptlypost |
OAuth |
| Gemini CLI | gemini extensions install https://github.com/adaptlypost/agent |
OAuth |
| Claude Desktop, Cursor, ChatGPT or any MCP client | Add https://mcp.adaptlypost.com/mcp as a remote server |
OAuth, or an API key header |
| Cursor, Codex, Windsurf, Claude Code or any agent with skills | npx skills add adaptlypost/agent |
API key |
Setup by client
The server answers an unauthenticated call with a 401 that points at its OAuth metadata, so every client below opens the AdaptlyPost sign-in on its own. One sign-in reaches every workspace you belong to.
Claude.ai and Claude Desktop
Open Settings > Connectors, add a custom connector with the URL https://mcp.adaptlypost.com/mcp, and sign in. A Claude Desktop build without connectors can go through mcp-remote, which handles the sign-in itself:
{
"mcpServers": {
"adaptlypost": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.adaptlypost.com/mcp"]
}
}
}
Claude Code
The plugin adds the server and a skill that knows how to use it:
/plugin install adaptlypost --marketplace adaptlypost/claude-plugin
Or add only the server:
claude mcp add --transport http adaptlypost https://mcp.adaptlypost.com/mcp
Run /mcp, pick adaptlypost and sign in.
ChatGPT
Add a custom connector in Settings > Apps & Connectors with the URL https://mcp.adaptlypost.com/mcp and sign in.
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"adaptlypost": { "url": "https://mcp.adaptlypost.com/mcp" }
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"adaptlypost": { "serverUrl": "https://mcp.adaptlypost.com/mcp" }
}
}
VS Code
.vscode/mcp.json:
{
"servers": {
"adaptlypost": { "type": "http", "url": "https://mcp.adaptlypost.com/mcp" }
}
}
Codex
~/.codex/config.toml:
[mcp_servers.adaptlypost]
url = "https://mcp.adaptlypost.com/mcp"
Then sign in with codex mcp login adaptlypost.
Gemini CLI
gemini extensions install https://github.com/adaptlypost/agent
Hermes Agent
hermes plugins install adaptlypost
hermes plugins enable adaptlypost
Headless agents and clients without OAuth
Create an API token on Settings > API Tokens and send it as a header. Keys start with adaptly_.
{
"mcpServers": {
"adaptlypost": {
"type": "http",
"url": "https://mcp.adaptlypost.com/mcp",
"headers": { "Authorization": "Bearer adaptly_your_key" }
}
}
}
Example prompts
- "Schedule this announcement on LinkedIn and X for tomorrow at 9am, with a shorter version for X."
- "Turn https://example.com/blog/launch into posts for Instagram, Threads and Bluesky and save them as drafts."
- "Post this video as an Instagram Reel and a TikTok, with a first comment that links to our site."
- "Post this video to YouTube, Instagram and TikTok, and use the 60-second cut for TikTok."
- "Check this post for problems on every platform before you schedule it."
- "Which platforms failed on yesterday's post? Retry only those."
- "Repeat our weekly tips post every Monday at 10am."
- "Connect our blog's RSS feed so every new article becomes a LinkedIn draft."
- "What were my five best posts last month by engagement, and on which platforms?"
- "Create a connect link my client can use to add their Instagram and Facebook accounts."
- "What's new in my inbox? Show unread comments and messages from today."
- "Draft friendly replies to the unanswered Instagram comments on yesterday's post, and send them once I approve."
- "Reply to every 5-star Google review from this week that has no reply yet."
Tools
80 tools. Analytics cover Facebook, Instagram, Threads, TikTok, Pinterest, Bluesky, LinkedIn, YouTube, X and Google Business Profile. Google Business Profile reports location impressions only, with no per-post numbers. Mastodon, Telegram, Tumblr and WordPress have no analytics. Connecting an account imports its posts from the last 180 days. The upload box also calls get_upload_ticket once per file; that tool is hidden from the model.
Workspaces and accounts
| Tool | What it does | Changes data |
|---|---|---|
list_workspaces |
List the workspaces the sign-in can act in; pass an id as workspaceId to any other tool |
No |
get_me |
What this connection may do in a workspace: role, permission keys and can { draft, schedule, publish } |
No |
list_accounts |
List all connected social media accounts with IDs, platforms and status (active or unauthorized) |
No |
check_account |
Re-check a Facebook page with Facebook and get its fresh status |
Yes |
remove_account |
Disconnect an account from the workspace; it comes off pending and recurring posts | Yes |
create_connect_link |
Create a link a client opens to connect their accounts, optionally private, limited to some platforms, capped or never expiring | Yes |
revoke_connect_link |
Revoke a connect link | Yes |
Posts
| Tool | What it does | Changes data |
|---|---|---|
create_post |
Create a post: publish immediately, schedule, or save as draft (a draft can carry a planned date). Takes first comments, per-platform thumbnails, image shapes and media, Instagram and Facebook story sharing, Instagram collaborators, user tags, AI labels and Reel audio, Facebook text backgrounds and link carousels, LinkedIn reshares, X quotes of the account's own posts, threads of replies with images, Tumblr tags, WordPress titles, categories and tags, the YouTube audio language and Google Business Profile events and offers | Yes |
validate_post |
Dry-run create_post with the same input: every problem, per account, without creating anything |
No |
get_post |
Get full details of a single post by ID | No |
list_posts |
List posts with filters by status, platform, date range | No |
update_post |
Update a scheduled or draft post, or a post that failed on every platform, which becomes a draft again | Yes |
delete_post |
Delete a post record; cancels a draft or scheduled post, never removes content already live | Yes |
unschedule_post |
Turn a scheduled post back into an undated draft without deleting it | Yes |
publish_draft |
Publish a draft post immediately or schedule it. Without a date, a draft with a future planned date is scheduled for it and any other draft publishes now; publishNow: true publishes now regardless |
Yes |
list_post_results |
Check per-platform posting results, success or failure with error details | No |
retry_failed_platforms |
Retry publishing on platforms that failed | Yes |
bulk_schedule_posts |
Schedule up to 100 posts at once | Yes |
validate_bulk_posts |
Dry-run bulk_schedule_posts: one validation report per item |
No |
Media
| Tool | What it does | Changes data |
|---|---|---|
upload_media |
Upload images, videos or documents from ChatGPT attachments, public URLs or base64 and get mediaUrls for a post |
Yes |
get_upload_urls |
Mint presigned upload URLs for larger files; PUT the bytes, then use publicUrl |
Yes |
open_upload_widget |
Show an upload box in ChatGPT or Claude chat so the user can add files from their device; the box sends back the mediaUrls. Where the box can't show (Claude Cowork, Claude Code), it returns an upload link instead; call it again with uploadId to get the mediaUrls |
Yes |
Platform options
| Tool | What it does | Changes data |
|---|---|---|
search_instagram_audio |
Search Instagram music and original sounds to add to a Reel | No |
list_pinterest_boards |
List the boards of a Pinterest account; pass a board id as pinterestConfigs[].boardId, or its name as boardName (not both) |
No |
list_wordpress_categories |
List the categories of a WordPress site; pass their ids as wordpressConfigs[].categoryIds |
No |
resolve_linkedin_organization |
Look up a LinkedIn company page by its URL or vanity name and get the mention to paste into a LinkedIn post. Only on a server you run yourself for now, see Run the server yourself |
No |
Recurring posts
| Tool | What it does | Changes data |
|---|---|---|
list_recurring_posts |
List recurring posts (daily, weekly, monthly or yearly series made with recurrence on create_post) by status |
No |
get_recurring_post |
Get one recurring post with its schedule, status and next occurrence | No |
pause_recurring_post |
Pause a recurring post and delete its upcoming scheduled post | Yes |
resume_recurring_post |
Resume a paused recurring post from the next occurrence after now | Yes |
delete_recurring_post |
Stop a recurring post for good; posts already published are kept | Yes |
RSS feeds
| Tool | What it does | Changes data |
|---|---|---|
list_rss_feeds |
List the RSS and Atom feeds that turn new items into posts, with why a paused one stopped | No |
get_rss_feed |
One RSS feed with its settings and status | No |
preview_rss_feed |
Fetch a feed without saving it and show the 5 newest items as posts | No |
create_rss_feed |
Connect a feed: each new item becomes a draft, a scheduled post or a published post on the target accounts | Yes |
update_rss_feed |
Change a feed's targets, mode, template, keywords or interval | Yes |
delete_rss_feed |
Stop a feed for good; its posts stay | Yes |
list_rss_feed_items |
What a feed did with each item: posted, filtered, skipped or failed | No |
pause_rss_feed |
Pause a feed | Yes |
resume_rss_feed |
Resume a paused feed | Yes |
check_rss_feed |
Check a feed now instead of waiting for its interval | Yes |
Analytics
| Tool | What it does | Changes data |
|---|---|---|
get_analytics_overview |
Views, likes, comments, shares, followers and engagement rate for a date window, with the change against the previous window | No |
get_analytics_timeseries |
The same metrics bucketed by day, week or month | No |
get_platform_breakdown |
The same metrics split per platform, with the metrics each platform reports | No |
list_post_analytics |
Per-post metrics, sortable by any metric, for top-post and "how did this post do" questions | No |
list_top_posts |
The best posts in a window by one metric, in one call | No |
list_discovered_posts |
Posts found on the connected accounts that were not published through AdaptlyPost | No |
get_analytics_sync_status |
When each account last synced and whether one needs reconnecting for analytics | No |
trigger_analytics_sync |
Refresh analytics now (once per 15 minutes per workspace) | Yes |
Inbox
The inbox holds comments on the account's posts (Facebook, Instagram, Threads, YouTube, Bluesky, Mastodon and LinkedIn), mentions (Facebook, Instagram, Threads, Bluesky and Mastodon), direct messages (Facebook, Instagram, Bluesky and Mastodon) and Google Business Profile reviews. TikTok and X have no inbox. It syncs every 10 minutes per account. An account that lacks a platform permission for a channel shows RECONNECT_REQUIRED in get_inbox_summary, and a write to it answers 403 inbox_reconnect_required: reconnect the account in AdaptlyPost.
| Tool | What it does | Changes data |
|---|---|---|
get_inbox_summary |
Unread counts per channel, and per account which channels work, need a reconnect or are unsupported | No |
refresh_inbox |
Sync the inbox now instead of waiting for the next 10-minute run | Yes |
list_inbox_comments |
Comments on the account's posts, newest first, filtered by account, platform, status, date, text or post | No |
get_inbox_comment |
One comment with its parent and the replies under it | No |
reply_to_inbox_comment |
Post a public reply to a comment from the account | Yes |
hide_inbox_comment |
Hide a comment on the platform | Yes |
unhide_inbox_comment |
Show a hidden comment again | Yes |
like_inbox_comment |
Like a comment (Facebook, Bluesky, Mastodon, LinkedIn) | Yes |
unlike_inbox_comment |
Take back a like | Yes |
delete_inbox_comment |
Delete a comment where the platform allows it | Yes |
update_inbox_comments_status |
Mark comments unread, read or done in AdaptlyPost | Yes |
list_inbox_mentions |
Posts and comments that mention the account | No |
reply_to_inbox_mention |
Post a public reply to a mention | Yes |
update_inbox_mentions_status |
Mark mentions unread, read or done | Yes |
list_inbox_conversations |
Direct message conversations, most recent first | No |
get_inbox_conversation |
One conversation with its messages | No |
send_inbox_message |
Send a direct message; Facebook and Instagram allow it within 24 hours of the person's last message | Yes |
update_inbox_conversations_status |
Mark conversations unread, read or done | Yes |
list_inbox_reviews |
Google Business Profile reviews, filtered by rating and whether they have a reply | No |
reply_to_inbox_review |
Post or replace the location's reply to a review | Yes |
delete_inbox_review_reply |
Delete the location's reply to a review | Yes |
update_inbox_reviews_status |
Mark reviews unread, read or done | Yes |
Webhooks
| Tool | What it does | Changes data |
|---|---|---|
list_webhooks |
List webhook endpoints and their delivery state | No |
get_webhook |
One webhook endpoint | No |
create_webhook |
Register an endpoint for the post, account and image events, or for the events you pick, inbox events included; the signing secret goes to the user through a one-time browser link, never to the assistant | Yes |
update_webhook |
Change an endpoint's URL or events, or turn it off and on | Yes |
delete_webhook |
Delete an endpoint | Yes |
test_webhook |
Send a signed webhook.test event and see how the endpoint answered |
Yes |
AI captions and images
| Tool | What it does | Changes data |
|---|---|---|
generate_caption |
Write a caption from a prompt, kept within a platform's character limit; 2 AI credits | Yes |
refine_caption |
Rewrite an existing caption from an instruction, or continue a partial one; 2 AI credits | Yes |
generate_image |
Start an image generation and get a jobId; 2 credits standard, 4 premium |
Yes |
get_image_job |
Poll an image job until completed (with a public imageUrl) or failed |
No |
Roles, permissions and safety
- Every call runs under a workspace role: Admin, Editor, Contributor or Viewer. An API key carries the role it was created with and never does more than the member who created it; an OAuth sign-in acts with the member's own role in each workspace.
- Admin does everything. Editor creates, schedules and publishes. Contributor creates and edits its own drafts, uploads media and generates captions and images, but cannot schedule, publish, retry, bulk schedule or delete non-drafts. Viewer only reads. Give an agent that should not post on its own a Contributor key, or sign in as a Contributor.
- An action outside the role answers 403 with
code: permission_denied. The tool tells the agent to save a draft and ask a workspace member to publish, not to retry or look for another key. - Read-only tools carry
readOnlyHint, so clients that ask before a write (Claude, ChatGPT, Hermes) ask before creating, scheduling, publishing or deleting anything. generate_caption,refine_captionandgenerate_imagespend AdaptlyPost AI credits on every call: 2 credits per caption, 2 or 4 per image.- Every role can read the inbox. Replying, messaging, hiding, liking, deleting and marking inbox items need Admin or Editor. Replies and messages reach real people, so the agent shows the text and what it answers before it sends.
- Without an API-capable plan every call answers 403 with
code: subscription_required. A 429 carriesRetry-After.
Workspaces
An OAuth sign-in can reach several workspaces, each with its own data and your own role there. list_workspaces returns them, and every other tool takes an optional workspaceId, which the server sends as the X-Workspace-Id header. Without it a tool works in the workspace list_workspaces marks current. A workspaceId the sign-in cannot reach answers 403 with code: workspace_access_denied. An API key belongs to one workspace.
The skill
npx skills add adaptlypost/agent
Or copy skills/adaptlypost/ into your project's skills folder. Cursor can also read it as a remote rule from https://raw.githubusercontent.com/adaptlypost/agent/main/skills/adaptlypost/SKILL.md.
Setup
- Create an account at adaptlypost.com and connect your social accounts.
- Create an API token at Settings > API Tokens and pick its role.
- Run:
./scripts/adaptlypost.js setup --key adaptly_xxxxx
Roles
A token is issued under a workspace role and never does more than the member who created it. Admin does everything. Editor creates, schedules and publishes. Contributor creates and edits its own drafts and uploads media but cannot schedule or publish. Viewer reads. Pick Contributor for an agent that should not post on its own.
An operation outside the role answers 403 with code: permission_denied. The skill tells the agent to stop, save a draft where that applies, and ask a workspace member to publish, instead of retrying or hunting for another key.
What the agent can do
- Post to any of the 14 platforms in one call, with per-platform captions, first comments, threads of replies with images, thumbnails, image shapes and media
- Check a post before creating it, and get every problem back at once
- Schedule for any future time, or bulk schedule up to 100 posts
- See per-platform results with error details, and retry only the platforms that failed
- Save drafts and publish them later
- Repeat a post daily, weekly, monthly or yearly, then pause, resume or stop the series
- Read analytics: views, likes, comments, followers and engagement per window, per platform and per post
- Look up a LinkedIn company page from its URL and mention it in a LinkedIn post
- Read and answer comments, mentions, direct messages and Google reviews from the inbox, and hide, like or delete comments
- Manage webhooks, including which events each one receives, and client connect links
- Write captions and generate images with AdaptlyPost AI, paid from your AI credits
You: Schedule a LinkedIn post for tomorrow at 9am about our new feature launch
Agent: Done. Post scheduled for tomorrow at 9:00 AM on your LinkedIn account.
Run the server yourself
The hosted server is the easy path. A server you run yourself over stdio also has resolve_linkedin_organization, which the hosted server gets after its next directory review. To run it yourself with Bun:
{
"mcpServers": {
"adaptlypost": {
"command": "bun",
"args": ["run", "/path/to/agent/mcp-server/src/index.ts"],
"env": { "ADAPTLYPOST_API_TOKEN": "adaptly_your_key" }
}
}
}
Or in Docker:
docker build -t adaptlypost-mcp .
docker run -i -e ADAPTLYPOST_API_TOKEN=adaptly_your_key adaptlypost-mcp
bun run src/index.ts --http in mcp-server/ serves the same tools over Streamable HTTP on port 3100, the way https://mcp.adaptlypost.com/mcp runs. Environment variables and local development are in mcp-server/README.md.
Preguntas sobre AdaptlyPost MCP
¿Qué herramientas proporciona AdaptlyPost MCP?
Expone 81 herramientas, incluidas list_workspaces, get_me, list_accounts, check_account, remove_account.
¿Qué plataformas de redes sociales son compatibles?
El servidor es compatible con 14 plataformas: Instagram, TikTok, YouTube, X (Twitter), LinkedIn, Facebook, Pinterest, Threads, Bluesky, Mastodon, Google Business Profile, Tumblr, Telegram y WordPress.
¿El servidor permite subir archivos multimedia?
Sí, incluye herramientas para subir imágenes, videos o documentos desde archivos adjuntos de ChatGPT, URLs públicas o base64.
¿Puedo automatizar publicaciones usando feeds RSS?
Sí, puedes conectar feeds RSS o Atom para que cada nuevo elemento se convierta automáticamente en un borrador, una publicación programada o una publicación directa.