Social Post Flow MCP server
Commit Nov 5, 2026Schedule and publish social media posts across multiple networks like Facebook, X, LinkedIn, and Instagram using AI agents or CLI.
Also known as socialpostflow/socialpostflow-cli, socialpostflow-cli
- Stars
- 2
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 1.0.0
- Last commit
- Nov 5, 2026
- License
- MIT
What is Social Post Flow MCP?
Social Post Flow schedules and publish social media posts across multiple networks like Facebook, X, LinkedIn, and Instagram using AI agents or CLI.
Summary generated from the project's README
About Social Post Flow MCP server
Social Post Flow provides a way to automate social media management through a Node.js CLI and MCP server. It allows developers and AI agents to programmatically schedule and publish content across more than 12 different networks, including Facebook, X, LinkedIn, Instagram, TikTok, and Mastodon. The tool is designed to work with various AI clients such as Claude Code, Cursor, Windsurf, and ChatGPT Desktop, as well as standard shell scripts and CI/CD workflows.
Users can interact with the service by installing it as a plugin, a skill, or a global CLI tool. Authentication requires a Social Post Flow account and a personal access token, which can be configured via the spf setup command or an environment variable. The system supports diverse post types like stories, pins, and links, and offers different scheduling modes including immediate publishing, queueing, or specific ISO 8601 timestamps. All command outputs are provided in JSON format to facilitate easy integration with other developer tools.
What you can do with it
- 1Multi-platform content distributionAn AI agent can distribute a single announcement across several social media accounts simultaneously.
- 2Automated content schedulingYou can instruct an agent to prepare a post for a specific time in the future.
- 3CI/CD social publishingDevelopers can integrate social media updates directly into their automated deployment pipelines.
- 4Bulk post managementA user can organize a series of promotional posts to be released through a queue.
Written from the project's README. Every use case is checked against a quote from it.
How to install Social Post Flow MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Social Post Flow MCP in Claude Code
$ claude mcp add --transport http socialpostflow-cli https://app.socialpostflow.com/mcpInstall Social Post Flow MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"socialpostflow-cli": {
"url": "https://app.socialpostflow.com/mcp"
}
}
}Install Social Post Flow MCP in VS Code
.vscode/mcp.json
{
"servers": {
"socialpostflow-cli": {
"type": "http",
"url": "https://app.socialpostflow.com/mcp"
}
}
}Install Social Post Flow MCP in VS Code CLI
$ code --add-mcp '{"name":"socialpostflow-cli","type":"http","url":"https://app.socialpostflow.com/mcp"}'Install Social Post Flow MCP in Codex
$ codex mcp add socialpostflow-cli --url https://app.socialpostflow.com/mcpInstall Social Post Flow MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.socialpostflow-cli] url = "https://app.socialpostflow.com/mcp"
Install Social Post Flow MCP in Gemini CLI
$ gemini mcp add -s user --transport http socialpostflow-cli https://app.socialpostflow.com/mcpInstall Social Post Flow MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"socialpostflow-cli": {
"url": "https://app.socialpostflow.com/mcp",
"type": "http"
}
}
}Configuration
SOCIALPOSTFLOW_API_TOKENTWITTER_ID
| Name | Description | |
|---|---|---|
| SOCIALPOSTFLOW_API_TOKEN | — | |
| TWITTER_ID | — |
Automated checks
Ran Nov 14, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachablesocialpostflow/socialpostflow-cli is public and reachablegithub.com/socialpostflow/socialpostflow-cli ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-05github.com/socialpostflow/socialpostflow-cli ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeHTTPS endpoint answered 401 (sign-in required)Pass
README
View on GitHubSocial Post Flow CLI
Social media automation for AI agents — schedule posts across 12+ networks programmatically.
A zero-dependency Node.js CLI wrapper around the Social Post Flow API. Designed for use with AI agents (Claude Code, Cursor, Windsurf, Codex, OpenAI SDKs) and for shell scripting / CI workflows.
Supports: Facebook, X (Twitter), LinkedIn, Instagram (Feed + Stories), Threads, Pinterest, TikTok, Mastodon, Bluesky, Telegram, Google Business Profiles, and more.
Pick your install
| Using | Use this |
|---|---|
| Claude Code | The plugin (see Install as a Claude Code plugin below) — ships the MCP server pre-wired |
| Claude Desktop, ChatGPT Desktop | The MCP server (one-click connect, no setup) |
| Cursor, Codex, Warp, Cline, OpenCode, other agents | The skill (see Install as a skill below) |
| Shell scripts, CI/CD, your own tooling | The CLI (see Install as a CLI below) |
You can use the skill and the CLI together. The skill teaches the agent how to use Social Post Flow; the CLI is what the agent actually runs.
Install as a Claude Code plugin
The plugin bundles the MCP server config and a Claude-native skill in one install:
/plugin marketplace add socialpostflow/claude-marketplace
/plugin install socialpostflow@socialpostflow
Or, once approved in the community marketplace:
/plugin marketplace add anthropics/claude-plugins-community
/plugin install socialpostflow@claude-community
On first use, Claude Code opens a browser for you to sign in with your Social Post Flow account and approve access — no personal access token needed.
Note: If you install the plugin, don't also add the MCP server manually in Claude Desktop settings — you'll register the same endpoint twice. Pick one.
Install as a skill
Adds the Social Post Flow skill to your agent so it can compose and schedule posts in natural language. This is the CLI-driven skill (agent shells out to spf). Claude Code users should install the plugin above instead — it uses the MCP server, no CLI needed.
Single-command install (any agent that reads ~/.claude/skills/):
mkdir -p ~/.claude/skills/socialpostflow && \
curl -L https://raw.githubusercontent.com/socialpostflow/socialpostflow-cli/main/agent-skill/socialpostflow/SKILL.md \
-o ~/.claude/skills/socialpostflow/SKILL.md
Multi-agent install (Cursor, Codex, Warp, Cline, OpenCode, etc.):
npx skills add socialpostflow/socialpostflow-cli
When prompted, pick the agents you want to install for.
Then ask your agent things like:
"Post this text to my X and LinkedIn accounts."
"Schedule a Monday motivation post for 9am next week."
"Queue up these three blog promos across all my channels."
The agent learns from agent-skill/socialpostflow/SKILL.md, which documents the post types, scheduling model, and common workflows.
Install as a CLI
Globally via npm:
npm install -g socialpostflow-cli
Or run directly via npx without installing:
npx socialpostflow-cli --help
Or clone the repo and run the script directly (zero dependencies):
git clone https://github.com/socialpostflow/socialpostflow-cli.git
cd socialpostflow-cli
node scripts/socialpostflow.js --help
Requires Node.js 18 or later (for built-in fetch).
Authentication
You need a Social Post Flow account with API access. Grab your personal access token from your profile page, then:
spf setup --key spf_xxxxxxxxxxxxxxxx
This verifies the token against the API and saves it to ~/.socialpostflow/credentials.json (chmod 600).
Alternatively, set the environment variable:
export SOCIALPOSTFLOW_API_TOKEN=spf_xxxxxxxxxxxxxxxx
Quick start
# List your connected social profiles
spf profiles
# Post to one profile, immediately
spf post -c "Hello world!" -i 42
# Post to multiple profiles
spf post -c "Big announcement coming soon" -i 42,87,103
# Schedule for a specific time
spf post -c "Happy Monday!" -i 42 --schedule-type scheduled -s "2026-07-20T09:00:00Z"
# Add to the user's queue (uses their configured queue interval)
spf post -c "Quick tip..." -i 42 --schedule-type queue_end
# List recent posts
spf posts --status posted --order-by posted_at --order desc
# Delete a scheduled post
spf delete 12345
Commands
| Command | Description |
|---|---|
spf setup --key <token> |
Verify and store a personal access token. |
spf whoami |
Show the authenticated user's profile, subscription state, and stats. |
spf profiles [--post-type T] |
List connected social profiles. Optionally filter by post type. |
spf posts [--status S] [--profile-id N] |
List posts. Filter by status or profile. |
spf post -c "..." -i id1,id2 [options] |
Create a post (see options below). |
spf show <post-id> |
Show details of a single post. |
spf delete <post-id> |
Delete a post. Stops it publishing if scheduled. |
spf post options
| Flag | Description |
|---|---|
-c, --content |
Post text. Required unless --type story. |
-i, --profile-ids |
Comma-separated profile IDs (required). |
-t, --type |
Post type: text (default), link, image, story, pin, tiktok, google. |
-m, --media |
Comma-separated public image/video URLs. |
-u, --url |
URL to attach (required for --type link). |
--first-comment |
First-comment text. Not supported on Mastodon, TikTok, Telegram, Google. |
--schedule-type |
immediate (default), queue_end, queue_start, scheduled. |
-s, --scheduled-at |
ISO 8601 timestamp (required when --schedule-type=scheduled, must be in future). |
See agent-skill/socialpostflow/SKILL.md for the full post-type rules (what each type requires and forbids).
All output is JSON
Every command writes JSON to stdout. Errors write JSON to stderr with a non-zero exit code:
PROFILES=$(spf profiles)
TWITTER_ID=$(echo "$PROFILES" | jq -r '.data[] | select(.provider=="x") | .id')
spf post -c "Hello from a shell script" -i "$TWITTER_ID"
Environment variables
| Variable | Default | Description |
|---|---|---|
SOCIALPOSTFLOW_API_TOKEN |
— | Your API token. Alternative to spf setup. |
SOCIALPOSTFLOW_API_URL |
https://app.socialpostflow.com/api |
Override the API base URL (useful for testing). |
Examples
See examples/ for shell scripts demonstrating common workflows:
post-everywhere.sh— post the same content to all connected text-capable profilesschedule-week.sh— schedule a week's worth of posts using the queuegithub-actions.yml— publish a blog post announcement from a GitHub Action
Troubleshooting
"Not authenticated" — Run spf setup --key <token> or set SOCIALPOSTFLOW_API_TOKEN.
"HTTP 401 from API" — Your token is invalid. Get a valid token from https://app.socialpostflow.com/profile.
"HTTP 422 from API" — Validation error. The details payload tells you which field failed. Common causes: invalid post_type/schedule_type combination, scheduled time in the past, missing required media_urls for image/story/pin/tiktok posts.
"HTTP 429 from API" — Daily post limit reached for that profile. The user needs to wait or upgrade their plan.
License
MIT — see LICENSE.
Links
- Social Post Flow: socialpostflow.com
- API documentation: socialpostflow.com/documentation/api
- MCP documentation: socialpostflow.com/documentation/mcp
- WordPress Plugin: wordpress.org/plugins/social-post-flow
- Issues / feedback: github.com/socialpostflow/socialpostflow-cli/issues
Social Post Flow MCP questions
How do I add Social Post Flow MCP to Claude Code?
Run claude mcp add --transport http socialpostflow-cli https://app.socialpostflow.com/mcp in your terminal. Add --scope user to make it available in every project.
How do I add Social Post Flow MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What social media networks are supported?
The service supports over 12 networks including Facebook, X (Twitter), LinkedIn, Instagram, Threads, Pinterest, TikTok, Mastodon, Bluesky, Telegram, and Google Business Profiles.
Does the output support automation scripts?
Yes, every command writes JSON to stdout, making it easy to use with tools like jq in shell scripts.