posterly-mcp-server
v0.8.0
Published
MCP server for posterly — schedule social media posts from Claude Desktop
Maintainers
Readme
posterly MCP Server
Use Posterly from any MCP-compatible AI client.
This package gives Claude Desktop, Cursor, Windsurf, Cline, and other local MCP clients a stdio server that can:
- list connected social accounts
- resolve brands/clients into the right accounts
- schedule and manage posts
- upload media
- generate images
- read account and post analytics
Posterly also exposes the same toolset over HTTP at poster.ly/mcp, but this npm package is the local stdio transport.
Requirements
- Node.js
20+ - A Posterly account: poster.ly/signup
- The Posterly API add-on enabled: poster.ly/dashboard/api
- A Posterly API key
Install
You can install globally:
npm install -g posterly-mcp-serverOr just use it via npx in your MCP config:
{
"mcpServers": {
"posterly": {
"command": "npx",
"args": ["-y", "posterly-mcp-server"],
"env": {
"POSTERLY_API_KEY": "pst_live_your_key_here"
}
}
}
}Quick setup
- Sign up at poster.ly
- Go to Dashboard → API & MCP
- Enable the API add-on
- Generate an API key
- Paste it into your MCP client config as
POSTERLY_API_KEY - Restart your AI client
Example configs
Claude Desktop
Add this to your Claude Desktop MCP config:
{
"mcpServers": {
"posterly": {
"command": "npx",
"args": ["-y", "posterly-mcp-server"],
"env": {
"POSTERLY_API_KEY": "pst_live_your_key_here"
}
}
}
}Cursor
Add the same server definition to your Cursor MCP settings:
{
"mcpServers": {
"posterly": {
"command": "npx",
"args": ["-y", "posterly-mcp-server"],
"env": {
"POSTERLY_API_KEY": "pst_live_your_key_here"
}
}
}
}Available tools
[email protected] exposes 16 tools:
whoamilist_accountslist_brandsget_brandlist_brand_accountsget_brand_profilelist_postsget_postcreate_post(supportsthread_posts: string[]for X / Threads reply chains, plusplatform_settingsfor platform-specific composer controls)update_post(also acceptsplatform_settings)delete_postupload_mediafind_available_slotgenerate_imageget_account_analyticsget_post_analytics
What the brand tools are for
Posterly workspaces often have multiple connected accounts under one client or brand.
The brand tools let an assistant work at the same level a human does:
list_brandslets the agent see clients/brands in the workspaceget_brandreturns summary info for one brandlist_brand_accountsresolves a brand into the actual connected accountsget_brand_profilereturns saved brand guidance like tone, audience, keywords, dos and don'ts, and visual notes
This makes prompts like:
- "How is Grassroots doing on Instagram?"
- "Write a post for the Posterly brand voice"
- "Schedule something for our Dubai dental client"
much more reliable than forcing the agent to guess from raw account handles alone.
Example prompts
What Posterly accounts do I have connected?List my brands in PosterlyShow me the brand profile for GrassrootsFind the next 3 posting slots for my LinkedIn accountSchedule a post for tomorrow at 9am for the Posterly Instagram accountSchedule this as an Instagram Story with a first comment and @partner as collaboratorSchedule this YouTube video as unlisted, add the thumbnail URL, and put it in our launch playlistPost this TikTok with direct-post privacy set to public and stitch disabledHow did Grassroots perform on Instagram in the last 30 days?
Pricing
This package uses the Posterly API/MCP add-on:
$3/monthadd-on30 requests/hourper API key- user-created API keys per plan: Starter 1, Pro 2, Power User 3, Agency 4
- works across all 11 supported platforms
Each API call counts as one request, so you can still schedule multiple posts in a single request to maximize throughput.
Details: poster.ly/dashboard/api
Links
- Docs: poster.ly/mcp
- OpenClaw skill: poster.ly/openclaw
- API add-on: poster.ly/dashboard/api
- MCP server card: /.well-known/mcp/server-card.json
- OAuth authorization server metadata: /.well-known/oauth-authorization-server
- OAuth protected resource metadata: /.well-known/oauth-protected-resource
Development
From the mcp-server directory:
npm install
npm run build
npm startThe package reads:
POSTERLY_API_KEY- optional
POSTERLY_URLif you need to point at a non-production environment
