Model Context Protocol

Schedule Posts and Reply to Comments with MCP

Drive PostFast from Cursor, VS Code, Claude Code, and any MCP client, in natural language. Schedule across 11 platforms, then work the comment inbox without leaving the assistant.

Working in Claude Code specifically? See the Claude Code integration guide for terminal-first setup, example prompts, and all 24 tools you get from one CLI session.

Using ChatGPT or the Claude app instead of an IDE? Use the hosted connector for ChatGPT or Claude, which exposes 26 tools with nothing to install.

ChatGPT running the PostFast connector. The prompt reads "Give me the latest comments in my Personal PostFast Workspace", a tool card labelled PostFast / List inbox items shows the request and response payloads, and the answer below is a table of five inbound comments with their date, platform, commenter and comment text.
ChatGPT calling list_inbox_items through the hosted connector, with the request and response visible above the answer. The comments are real threads on connected TikTok, Threads, Instagram and Facebook accounts, pulled live rather than pasted in.

What You Can Do

These are jobs, not demos. Each one is a single request in a normal conversation, and each one ends with something changed in your PostFast account rather than a block of text you still have to act on.

“Take this changelog entry, write a launch post for LinkedIn, X and Threads, and schedule all three for 9am tomorrow.”

The assistant drafts three platform-appropriate versions, calls create_posts once with all three, and comes back with the post IDs and scheduled times. You end up with three scheduled posts, not three drafts to copy and paste.

“Upload this video, schedule it as a TikTok for Friday at 6pm, and put a trending sound on it.”

upload_media handles the signed URL and the file, list_tiktok_sounds returns pre-cleared Commercial Music Library tracks, and create_posts attaches the sound and the schedule. Three tools, one sentence.

“Which comments from the last three days still need a reply? Draft answers for the ones that are questions.”

list_inbox_conversations filters to unread, list_inbox_itemsreads each thread, and the assistant proposes replies that already fit each platform’s character limit because the limit came back with the conversation. You approve, it calls reply_to_inbox_item.

“Compare last month to the month before across all accounts and tell me what changed.”

get_post_analytics pulls both windows and get_follower_history adds the audience trend underneath. The answer is an explanation with the numbers attached, which is the part a CSV export never gives you.

“Set up the new client: generate a connect link, then show me what they connected.”

generate_connect_link produces a link the client opens themselves, so their credentials never touch your inbox. list_accounts confirms what landed and flags anything that came back DISABLED before it silently fails to publish.

“Anything in the queue this week that has not been approved yet?”

list_posts filters by status and date range. On the hosted connector, approve_posts then moves the ones you name from pending approval to approved, so a review pass happens in the same conversation as the review.

Quick Setup

Add the following to your .mcp.json configuration file (works with Claude Desktop, Claude Code, VS Code, Cursor, and more):

{
  "mcpServers": {
    "postfast": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "postfast-mcp"],
      "env": {
        "POSTFAST_API_KEY": "your-api-key-here"
      }
    }
  }
}

Using Claude Code? Install via the plugin marketplace:

/plugin install postfast-mcp@claude-plugins-official

Then set your API key:

# Add to ~/.claude/settings.local.json
{ "env": { "POSTFAST_API_KEY": "your-api-key-here" } }

Or add export POSTFAST_API_KEY="your-key" to your shell profile.

Pending approval in the official Claude plugins marketplace.

1. Log in to your PostFast dashboard, go to API in the sidebar, and generate a key

2. Add the config above to your AI tool

3. Start chatting. Ask it to list your accounts or schedule a post

No local process to run? The hosted connector at mcp.postfa.st authenticates over OAuth instead of an environment variable, which is what ChatGPT and the Claude app use.

Test with MCP Inspector

Want to verify everything works before using it with your AI tool? Run the MCP Inspector:

POSTFAST_API_KEY=your-key npx @modelcontextprotocol/inspector npx postfast-mcp

This opens a web UI where you can connect, list all available tools, and test each one individually. If you see 24 tools listed, the server is wired up correctly.

Available Tools

24 tools ship with the stdio server and 26 with the hosted connector, grouped below by the job they do. Twenty-two are common to both; the rest exist only where their transport makes sense.

This is the whole product surface, not a publishing subset. Anything you can do in the PostFast app, an assistant can do here, on every plan including the trial.

Publishing

(5)

Everything between a draft and a published post, including batching and approval.

create_postsCreate and schedule posts, batching up to 15 at a time
list_postsList posts with filters (IDs, platform, status, date range)
delete_postDelete a post by ID
approve_postsMove posts from pending approval to approved so they publish (hosted connector only)
list_tiktok_soundsBrowse TikTok's trending, pre-cleared Commercial Music Library tracks to attach to a photo carousel

Accounts and connections

(7)

What is connected, which workspace it lives in, and the per-platform lookups a post needs before it can be built.

list_accountsList connected social media accounts, including connection status (CONNECTED / DISABLED)
list_workspacesList the workspaces the key can act in, so an assistant can target the right client (hosted connector only)
generate_connect_linkGenerate a shareable link for external clients to connect their own accounts
list_pinterest_boardsList Pinterest boards for a connected account
list_youtube_playlistsList YouTube playlists for a connected account
list_gbp_locationsList Google Business Profile locations
search_placesSearch real-world places to geotag Facebook & Instagram posts

Media

(3)

Get an image or video into PostFast and back out as a media key the composer can attach.

upload_mediaUpload an image or video and get back a media key ready to attach to a post
get_upload_urlsGet signed URLs for a manual upload flow (stdio server only)
upload_from_urlPull media straight from a public URL, no local file needed (hosted connector only)

Analytics

(2)

Per-post performance and day-by-day audience growth, so an assistant can answer questions instead of exporting a CSV.

get_post_analyticsImpressions, reach, likes, comments, shares, and video watch-time for published posts
get_follower_historyDaily follower/subscriber snapshots for an account, with current count and net change over a range

Social Inbox

(10)

Read, answer, moderate and triage the comments on your own TikTok, Instagram, Facebook Page and Threads posts.

list_inbox_conversationsList comment conversations, filtered by platform, account, status, assignee or unread only
get_inbox_conversationRead one conversation, including whether a reply is allowed and how long it can be
list_inbox_itemsList the comments in a thread, plus the replies you sent
get_inbox_unread_countTotal unread comments across the whole workspace
reply_to_inbox_itemReply publicly under a comment
send_inbox_private_replyInstagram only: answer a comment privately, once per comment and within 7 days
set_inbox_item_stateHide, unhide or delete a comment on the platform
mark_inbox_conversation_readMark a conversation read and clear its unread count
set_inbox_conversation_statusTriage a conversation as OPEN, SNOOZED or CLOSED
assign_inbox_conversationAssign a conversation to a workspace member, or unassign it

The Social Inbox covers comments on your own TikTok, Instagram, Facebook Page and Threads posts. Whether a reply is allowed and how long it can be is decided by PostFast per conversation, so an assistant never has to guess a platform’s rules. See the Social Inbox feature page or the REST reference.

PostFast Social Inbox with Open, Snoozed and Closed tabs and a list of ten comment threads from TikTok, Facebook and Instagram. The open thread shows a TikTok comment with the reply sent beneath it, marked Sent and badged via API, next to a reply box counting 0 of 150 characters and Assign, Open, Snooze and Close controls.
The other half of the loop. A reply an assistant sends through reply_to_inbox_item lands in the same inbox your team works from, badged via API, with the platform’s character cap already applied. More on the workflow in the AI-operable inbox write-up.

Works With Your Favorite AI Tools

The split that matters is transport, not brand. IDE and terminal clients run the npm package locally over stdio; chat clients use the hosted connector over OAuth. Everything below works with the same PostFast account.

Claude Desktop

Anthropic's desktop app. The usual home for non-developers: add the config once, then work in plain conversation.

Claude Code

CLI coding agent. Install from the plugin marketplace and schedule from the same terminal you ship from.

ChatGPT

Uses the hosted connector rather than the npm package, so there is nothing to install locally.

VS Code (Copilot)

Copilot agent mode. Turn a changelog entry in the editor into a scheduled launch post without switching apps.

Cursor

AI-first editor with built-in MCP. Same workflow as VS Code, configured in .cursor/mcp.json.

Windsurf

AI IDE with an MCP marketplace, so the server can be added without hand-editing JSON.

JetBrains IDEs

IntelliJ, WebStorm, PyCharm and the rest, from 2025.1 onward.

Cline

Autonomous coding agent with an MCP marketplace. Good fit for unattended, multi-step content runs.

Zed

High-performance editor with MCP extensions.

Hermes Agent

Self-hosted agent with native MCP and ClawHub skills, for teams that want the loop running on their own box.

The Claude app answering the request "Bring our PostFast analytics for the last month for our Personal workspace". Claude reports the date range and how many published posts had metrics, notes which networks the analytics API does not cover, and renders a table of accounts with their post count, impressions, reach and likes.
The same account from the Claude app instead of ChatGPT, this time running get_post_analytics. Note that it reports which networks are outside the analytics API rather than quietly returning a smaller number.

Natural Language

No APIs to learn, no code to write. Just describe what you want in plain English and your AI assistant handles the rest.

Batch Scheduling

Schedule up to 15 posts in a single command. Set different platforms, times, and content for each post, all via conversation.

Media Support

Upload images and videos directly from your local machine. The MCP server handles signed URLs and the full upload flow automatically.

Developer Friendly

Open source npm package. Works with stdio transport out of the box. Simple one-line config in any MCP-compatible client.

Platform-Specific Controls

Fine-tune your posts with granular controls for each platform, all configurable through natural language:

TikTok privacy settings
TikTok trending sounds
Instagram collaborators
YouTube playlists, privacy & thumbnails
Facebook content types
Facebook & Instagram location geotags
Facebook country targeting
Pinterest board placement
LinkedIn document attachments

These live on the controls object of create_posts, so an assistant sets them in the same call that creates the post. Full field reference in the API docs.

Supported Platforms

Instagram (Posts, Stories, Reels, Carousels)
TikTok (Videos, Photos)
LinkedIn (Personal & Company Pages)
X / Twitter (Posts, Threads)
Facebook (Posts, Stories, Reels)
YouTube (Shorts, Videos, Custom Thumbnails)
Threads
BlueSky
Pinterest
Telegram (Channels & Groups)
Google Business Profile (Updates, Events, Offers)

Example Workflows

Longer jobs, end to end. Each one starts with a request and ends with the account in a different state.

Ship a feature and announce it in the same session

You finish a change in Cursor or Claude Code and ask the assistant to announce it. It reads the diff it just wrote, drafts a version per platform, uploads a screenshot with upload_media, and batches all of them into one create_posts call scheduled for the morning. The outcome is a queued launch announcement that never became a separate task, written while the context was still in the session.

Clear the comment backlog before standup

Ask for everything unread across TikTok, Instagram, Facebook and Threads. The assistant calls get_inbox_unread_count, then list_inbox_conversations filtered to unread, reads the threads, and sorts them into questions, praise and spam. It drafts replies for the questions, hides the spam with set_inbox_item_state, assigns anything that needs a human to a teammate with assign_inbox_conversation, and snoozes the rest. You approve a list rather than opening twenty threads.

Plan a week of content against last month’s numbers

The assistant pulls get_post_analytics for the last 30 days, finds which formats and times actually performed, then writes a week of posts against that evidence and schedules them in a single batch. Because get_follower_history returns daily counts, it can also tell you whether a spike was one good post or a real trend before you plan around it.

Onboard an agency client without touching their passwords

Ask for a connect link and send it to the client. They connect their own accounts, and list_accounts confirms what arrived and whether anything is DISABLED. On the hosted connector, list_workspaceslets the assistant switch into that client’s workspace by name, so the next twenty requests land in the right place without you selecting anything.

Run the approval loop inside the conversation

A junior drafts the week and leaves everything pending approval. You ask what is waiting, the assistant lists it with list_posts, you read the ones you care about, and approve_posts releases them. Nothing publishes until it is approved, and the review happened in the same place as the reading.

What is actually different here

Not the protocol. MCP support is common across the category now, and we are not going to claim we got there first. The questions worth asking are how much of the product a server can actually reach, and which plan you need to reach it.

Most schedulers’ servers are publishing-only: draft a post, schedule it, look at the queue. Here, 26 tools sit in one server and cover the whole product, so an assistant can moderate comments, geotag a post, browse TikTok sounds and pull follower history rather than only pushing a caption into a queue.

The comment inbox is where the surface is widest. Ten of the tools cover it end to end: read a conversation, reply publicly, send an Instagram private reply, hide, unhide or delete, mark read, set status, and assign to a teammate, across TikTok, Instagram, Facebook Pages and Threads. Reply eligibility and length are computed per conversation by PostFast, so an assistant never guesses a platform’s rules. All of it is included on every plan including the 7-day trial, with no per-seat and no per-conversation charge.

Frequently Asked Questions

What is MCP (Model Context Protocol)?

MCP is an open standard created by Anthropic that lets AI assistants connect to external tools and data sources. It allows tools like Claude, ChatGPT, Cursor, and VS Code Copilot to interact with services like PostFast using natural language, with no coding required.

How many tools does the PostFast MCP server expose?

The stdio server (npx postfast-mcp) exposes 24 tools. The hosted connector at mcp.postfa.st exposes 26: the same core set plus approve_posts, list_workspaces and upload_from_url, which only make sense over a remote transport. Twenty-two tools are common to both. The difference is entirely about transport, not about your plan.

How do I get my PostFast API key?

Log in to your PostFast dashboard, go to API in the sidebar, and generate a new key. This key is used to authenticate the MCP server with your PostFast account. The API is included on every plan, including the 7-day trial, so there is no tier to upgrade to first.

Should I use the npm package or the hosted connector?

Use the npm package (npx postfast-mcp) if you work in an IDE or terminal: Claude Code, Cursor, VS Code, Windsurf, Zed, JetBrains. It runs locally over stdio and reads your key from the environment. Use the hosted connector at mcp.postfa.st if you work in ChatGPT or the Claude app, where there is no local process to run. The hosted connector authenticates with OAuth instead of an environment variable and adds workspace switching.

Can I schedule posts to multiple platforms at once?

Yes. The create_posts tool supports batch creation of up to 15 posts at once. You can schedule to different platforms, set different times, and include media, all in a single command using natural language.

Does the MCP server support media uploads?

Yes. The upload_media tool handles the full upload flow: it gets a signed URL, uploads your local file, and returns the media key ready to use in your posts. It supports images and videos. On the hosted connector, upload_from_url does the same job starting from a public URL, which is what an assistant reaches for when the image was generated or found rather than saved locally.

Which AI tools support MCP?

MCP is supported by Claude Desktop, Claude Code, ChatGPT, VS Code (GitHub Copilot), Cursor, Windsurf, JetBrains IDEs (2025.1+), Cline, Zed, Hermes Agent, and many more. Any tool that supports the Model Context Protocol can use the PostFast MCP server.

Can an assistant reply to comments, not just post?

Yes. Ten of the tools cover the Social Inbox: list and read comment conversations, reply publicly, send an Instagram private reply, hide, unhide or delete a comment, mark read, set status, and assign to a teammate. It covers comments on your own TikTok, Instagram, Facebook Page and Threads posts. Whether a reply is allowed and how long it can be is computed by PostFast per conversation and returned on the conversation, so the assistant never has to guess a platform's rules.

Can I see how my posts are performing?

Yes. The get_post_analytics tool returns impressions, reach, likes, comments, shares, and total interactions for your published posts. Filter by date range or specific accounts. Analytics are currently available for Facebook, Instagram, Threads, LinkedIn Pages, TikTok, YouTube, and Pinterest. get_follower_history adds day-by-day follower counts with the net change over a range.

Is the MCP server free to use?

The postfast-mcp npm package is free and open source. You just need an active PostFast account with an API key. The API and the MCP server are included on every PostFast plan, including the 7-day free trial, with no separate charge and no per-call metering.

Do other social media tools have MCP servers?

Yes. Most established schedulers now ship one, and a few include it on a free tier, so MCP support on its own is not a reason to pick a tool and we are not going to claim we were first. The useful questions are how much of the product the server can reach and which plan you need to reach it. Most competitor servers are publishing-only. This one exposes the whole product surface, including comment moderation, on every plan including the 7-day trial.

So what is actually different about the PostFast MCP server?

Scope and price, not the protocol. Many competitor servers are publishing-only: draft a post, schedule it, check the queue. PostFast puts all 26 tools in a single server and covers the whole product, including comment moderation on TikTok, Instagram, Facebook Pages and Threads, with reply eligibility and length computed per conversation so an assistant never guesses a platform's rules. It is included on every plan including the 7-day trial, with no per-seat and no per-conversation charge.

Ready to schedule posts with AI?

Start your 7-day free trial, generate an API key, and connect PostFast to your favorite AI tool in under 2 minutes.