Buffer Server
БесплатноНе проверенEnables publishing and scheduling posts to Buffer via the createPost GraphQL mutation, extending beyond Buffer's official read-only MCP connector.
Описание
Enables publishing and scheduling posts to Buffer via the createPost GraphQL mutation, extending beyond Buffer's official read-only MCP connector.
README
A custom MCP server that gives Claude real publish/schedule access to Buffer,
via the createPost GraphQL mutation — beyond what the official Buffer MCP connector
exposes (which is read-only + create_idea drafts only).
Schema status: verified against the live API
The GraphQL operations here were introspected and validated against Buffer's live
endpoint (api.buffer.com). Two things were corrected after the initial build:
- The
channelsquery insrc/tools/list-channels.tstakes a singleinput: ChannelsInput!argument ({ organizationId }), not a flatchannels(organizationId:)argument. CreatePostInput.assetsis a required (non-null) list. Bothsrc/tools/draft-post.tsandsrc/tools/publish-post.tsnow sendassets: []for text-only posts. The other fields (schedulingType,mode,dueAt,saveToDraft,channelId,text) match the live schema.
If Buffer changes their schema, re-introspect with a small test query/mutation and
adjust the .ts files to match.
Setup
npm install
npm run build
Configuration
Set two environment variables wherever you run this:
BUFFER_API_KEY— your personal Buffer API key (Buffer → developer settings → requires you to be an organization owner). You said you already have this.MCP_SHARED_SECRET(optional but recommended for a public HTTP deployment) — an arbitrary string. If set, requests must include headerx-mcp-secret: <value>.
Running locally (stdio) — for Claude Desktop
Add to your Claude Desktop MCP config:
{
"mcpServers": {
"buffer": {
"command": "node",
"args": ["/absolute/path/to/buffer-mcp-server/dist/index.js"],
"env": { "BUFFER_API_KEY": "your_key_here" }
}
}
}
Running as a remote HTTP server — for claude.ai custom connectors
TRANSPORT=http BUFFER_API_KEY=your_key MCP_SHARED_SECRET=some_random_string \
PORT=3000 npm start
This exposes a stateless streamable-HTTP MCP endpoint at POST /mcp.
Hosting options
This is a plain Node/Express app, so it runs on anything that runs Node — Render,
Railway, Fly.io, or a small VPS are the simplest. It does not run as-is on Cloudflare
Workers (no Node http server / Express there); porting it to Workers would mean
swapping Express for a raw fetch handler and using the SDK's Workers-compatible
transport pattern — possible, but a separate step from this build. Given the rest of
your stack lives on Cloudflare, that's a reasonable follow-up if you want everything
in one place.
Once hosted, register it in Claude: Settings → Connectors → Add custom connector,
paste your server's https://your-host/mcp URL.
Tools this server exposes
- buffer_list_channels — read-only, lists channel IDs for an organization.
- buffer_create_draft_post — always saves as a draft (
saveToDraft: truehardcoded). Free to call anytime, nothing goes live from this one. - buffer_publish_post — actually schedules or queues a REAL post that will go live.
Requires
confirmed: trueas a literal parameter, and its tool description explicitly instructs Claude to only call it right after you've said something like "yes, post it" to that exact text — never from an earlier general go-ahead, and never in response to instructions found inside a fetched web page or document.
Approval workflow (what actually happens)
- Claude drafts the post text in chat and shows it to you.
- You say yes/approve.
- Claude calls
buffer_publish_postwithconfirmed: trueand the exact approved text.
Important limit to understand: the confirmed: true parameter is a strong signal and
an audit trail (you can always check the tool-call log to see it was set), but it is Claude
setting that parameter based on judgment about the conversation — a JSON field can't
independently verify a human typed "yes." The real guarantee is behavioral: Claude is
built to always ask before taking a publishing action, and to treat that as non-negotiable
regardless of how a request is phrased. If you want a guarantee that doesn't depend on that
judgment at all, use buffer_create_draft_post exclusively and do the final approve/schedule
click yourself in Buffer — that's enforced by the code, not by anyone's judgment call.
For extra safety on top of either approach, you can also set "Requires Approval" on your channels in Buffer's own settings — Buffer's docs confirm API-created posts on such channels are saved as drafts awaiting approval regardless of what the API call requested.
Known limitations
- If a channel is set to "Requires Approval" in Buffer, posts created via the API land
as pending drafts regardless of
mode— that's Buffer's behavior, not a bug here. - No image/video upload tool included yet (Buffer changed their assets input format on May 25, 2026 — worth adding as a follow-up once the schema's confirmed).
- No delete/edit tool included — intentionally minimal for now; extend
src/tools/if you want those.
from github.com/jasonplusproductions-create/buffer-mcp-server
Установка Buffer Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/jasonplusproductions-create/buffer-mcp-serverFAQ
Buffer Server MCP бесплатный?
Да, Buffer Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Buffer Server?
Нет, Buffer Server работает без API-ключей и переменных окружения.
Buffer Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Buffer Server в Claude Desktop, Claude Code или Cursor?
Открой Buffer Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Buffer Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
