100+ integrations are ready to connect to your AI.Connect your first MCP

Buffer MCP server for your AI

Draft, schedule and publish to one channel or several in a single call, check each network's posting rules before you queue, reorder the queue, and pull engagement metrics per post, per channel or across a date range.

PopMCPBuffer

Show me engagement across all channels for the last 30 days

Supported Buffer tools

Every post, content item, template, Ideas, channel and metrics operation, plus the triggers that fire when a post publishes, fails or a channel hits its limit.

39 tools in the full catalog: 22 read and 17 write. 19 load by default, and the rest are found with tool search.

buffer_create_multichannel_post

Create ONE piece of content published to SEVERAL channels in a single call: Buffer's content item, holding one channel-specific post variant per channel (e.g. the same announcement tailored for LinkedIn, X and Instagram).

buffer_create_post

Create, schedule, queue or publish a post to ONE channel.

buffer_delete_post

Permanently delete a post by id.

buffer_edit_post

Edit a draft or scheduled post by id (Buffer's mutation is editPost, not updatePost).

buffer_get_post

Get one post by id (the `id` from buffer_list_posts), including its assets, tags, metrics and any publishing error.

buffer_list_posts

List posts for an organization, filtered and sorted, with cursor pagination.

buffer_move_post_in_queue

Move a QUEUED post to the top (next available slot) or bottom (last slot) of its channel's queue.

buffer_list_post_templates

List the post templates you can use: Buffer's public templates, your organization's internal ones and your own private ones.

buffer_get_channel

Get one channel by id (the `id` from buffer_list_channels): its posting schedule (per-day times), posting goal progress, queue status, timezone, allowed actions, and service-specific metadata.

buffer_get_publishing_rules

Get the publishing rules and permissions for every connected channel in one call: which content types each channel can publish (post, story, reel, comment), which properties they support (text, image, video, document, thread, firstComment, linkAttachment, ...), and the validation rules behind them (maximum text length, image/video counts, allowed media formats, maximum file size, maximum video duration, properties that conflict or require each other), plus whether posting, insights, comments and mentions are authorized on the channel's token or need a reconnect.

buffer_list_channels

List the connected social channels for an organization.

buffer_create_idea

Create an Idea — a content note in the backlog, not yet scheduled to a channel/time.

buffer_get_post_metrics

Get the performance metrics for one post (likes, comments, shares, reach, impressions, clicks, engagementRate, …).

buffer_list_ideas

List Ideas (the content backlog / drafts not yet assigned to a channel or time) for an organization, with cursor pagination.

buffer_get_account

Get the authenticated Buffer account and the organizations it belongs to.

buffer_graphql

Escape hatch: run ANY Buffer GraphQL query or mutation directly, so nothing in Buffer's schema is ever out of reach.

buffer_graphql_query

Read-only escape hatch: run any Buffer GraphQL QUERY directly (custom field selections, fields the named tools do not select, schema introspection of one type).

buffer_list_organizations

List the organizations on this account with each one's plan limits (channels, members, scheduled posts, ideas, idea groups, tags, post templates, per-channel story/thread caps) and member count.

buffer_list_tags

List the organization's tags (sorted by name) with their ids, colors and lock state.

buffer_add_post_to_content_item

Attach an EXISTING post to a content item so it is grouped with the item's other channel posts.

buffer_create_content_draft

Start a channel-less DRAFT: write the content first and pick channels later.

buffer_delete_content_item

Permanently delete a content item AND every post created from it.

buffer_get_content_item

Get one content item by id: its title, target date, tags, author, allowedActions, and either the channel-less draft or every channel post created from it (status, schedule, errors).

buffer_list_content_items

List the organization's content items (multi-channel content groups and channel-less drafts), newest first by default, each with its title, target date, tags, author and either its draft or its per-channel posts with status.

buffer_promote_content_draft

Turn a channel-less draft into real channel-specific posts (one per channel) and schedule them.

buffer_remove_post_from_content_item

Detach a post from its content item.

buffer_update_content_draft

Replace a channel-less draft's content IN FULL (and optionally its tags or target date).

buffer_update_content_item

Change a content item's title or target date.

buffer_create_post_template

Save a reusable post template, private to you (default) or shared with the whole organization (internal).

buffer_delete_post_template

Permanently delete a post template (your own, or an internal one if you are an organization admin or owner).

buffer_get_post_template

Get one post template by id: its full body (with any {{placeholders}}), title, description, emoji and visibility.

buffer_update_post_template

Change a post template.

buffer_daily_posting_limits

Check how many posts are already sent/scheduled against each channel's daily posting quota, for a given day.

buffer_aggregated_post_metrics

Get post metrics AGGREGATED across an organization over a date range (optionally filtered to channels/tags) — the basis for a performance report.

buffer_list_idea_groups

List the Idea groups (columns/buckets that organize Ideas) for an organization.

buffer_list_posts_with_metrics

Per-post performance for many SENT posts at once: each post's text, channel, sent time, link and its metrics (reactions, comments, shares, reach, impressions, clicks, engagement rate, ...

buffer_get_tag

Get one tag by id (name, hex color, palette color name and whether it is locked).

buffer_search_instagram_audio

Search Instagram's audio catalog (licensed music or original sounds) through one Instagram channel, for planning Reels: returns each track's id, title, artist or creator, duration and a temporary preview link.

buffer_trending_instagram_audio

List the audio currently TRENDING on Instagram (Meta's trending list) through one Instagram channel, for picking a Reel sound: id, title, artist or creator, duration and a temporary preview link.

Connect Buffer to Claude, ChatGPT and Claude Code

Credentials off one Buffer screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

Generate a key in Buffer under Settings → API → Personal Keys → + New Key, pick its permissions, and paste it into Personal API key. No OAuth app or redirect URL. The MCP is locked to the one account that owns it.

Personal API key••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • “Show me engagement across all channels for the last 30 days”

    • get_account
    • list_channels
    • aggregated_post_metrics
  • “Rank last month's LinkedIn posts by clicks and save the best one as a reusable template”

    • list_channels
    • list_posts_with_metrics
    • create_post_template
  • “Announce our pricing update on LinkedIn, X and Instagram, with copy that fits each network's limits”

    • list_channels
    • get_publishing_rules
    • create_multichannel_post
  • “Which ideas in the backlog haven't been turned into scheduled posts?”

    • list_idea_groups
    • list_ideas
    • list_posts

Use Buffer from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Buffer MCP server questions

What teams ask before putting Buffer behind an AI client.

Do I need a Buffer OAuth app or developer credentials to connect?

No. Buffer connects with a personal API key, so there is no OAuth app, client secret, or redirect URL to set up. Generate one in the Buffer app under Settings → API → Personal Keys → + New Key, which is available on every plan, then paste it into the Personal API key field. Whatever permissions you give the key are the permissions the agent inherits, so a read-only key stays read-only no matter what you ask for.

Which social channels can the agent actually publish to?

Every channel already connected to the Buffer account that owns the key: Twitter/X, Instagram, Facebook, LinkedIn, TikTok, YouTube, Pinterest, Threads, Bluesky, Mastodon, Google Business and the others Buffer supports. list_channels enumerates them for an organization, and get_channel returns a single channel's per-day posting schedule along with the actions it allows. Connecting a brand new channel is still done in Buffer itself, though a Channel connected trigger fires when it happens.

Can one call publish the same post to every channel?

Yes. create_multichannel_post creates one Buffer content item holding a separate post for each channel, so LinkedIn, X and Instagram can each get their own text, media and timing from a single call. Validation is all-or-nothing: if any variant breaks a channel's rules, nothing is created and every problem comes back with the channel that caused it. Run get_publishing_rules first to see each channel's text length, media count, format and file size limits. Buffer marks content items as experimental in its API.

What performance data can it read back?

Three levels of it. get_post_metrics returns one post's likes, comments, shares, reach, impressions, clicks and engagementRate. list_posts_with_metrics returns many sent posts at once, each with its channel, sent time and metrics, and filtered to one channel it becomes that profile's report. aggregated_post_metrics rolls metrics up across an organization over a date range of up to 365 days, optionally narrowed to channels or tags. Metrics refresh once a day, and a metric a network does not report is missing, not zero.

Can I write a post first and pick the channels later?

Yes. create_content_draft saves a channel-less draft (text or at least one asset), and no network rules apply until you choose channels. update_content_draft replaces the draft in full, so resend any media you want to keep. promote_content_draft then turns it into one post per channel and schedules them; it is one-way, and if any post fails validation none are created. Copy you reuse belongs in post templates instead: create_post_template saves one privately or for the whole organization, with {{placeholders}} to fill in.

What if the thing I need is not one of the tools?

There are two escape hatches. graphql runs any Buffer GraphQL query or mutation directly, so nothing in Buffer's schema is out of reach. graphql_query runs reads only and refuses any document containing a mutation before it is sent, so it stays available to a teammate on read-only access, where graphql is hidden. One naming quirk catches people out: Buffer's mutation for changing a post is editPost, not updatePost, hence edit_post. Send it only the fields that change, because sending a mode reschedules the post.

Do I have to run or host the Buffer MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect Buffer to Claude Code?

Connect Buffer in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Buffer on the consent screen. The Buffer tools are then available in that session, and no Buffer credential is stored on your machine.

Why do only 19 of the 39 tools load by default?

Loading 39 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 19-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 39 here. A trigger is something PopMCP watches for you: 10 Buffer events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Buffer.

Connect Buffer to your AI in minutes

Launch a hosted MCP endpoint for Buffer, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP