Buffer MCP Server
Buffer MCP Server exposes MCP tools for Buffer social publishing, Cloudinary media, analytics, ideas, and configuration.
Manage configuration: get masked effective config, deep-merge updates, and reset to defaults with destructive safeguards.
Inspect Buffer organizations, channels, and channel details.
Work with posts: list/fetch, create queued/scheduled/shared posts with dry-run previews, per-platform metadata, and preflight validation; update/delete with confirm and destructive checks.
Handle media: upload single/batch local files or remote URLs to Cloudinary, build delivery URLs, generate aspect-ratio variants, list assets as documented, and delete Cloudinary assets.
Validate media/text: probe public URLs for HTTPS/HEAD/range/content-type/size and run platform preflight checks, including YouTube Shorts orientation.
Analyze and plan: check daily posting limits, fetch aggregated analytics, list idea groups/ideas, and create ideas.
Operate safely over stdio or Streamable HTTP with confirm tokens, allowWrites/allowDestructive controls, masked secrets, and stateless HTTP support.
Provides tools for Buffer social publishing, including listing organizations/channels, creating/updating/deleting posts, retrieving analytics and daily limits, and managing ideas.
Provides media upload and management via Cloudinary, including single/batch uploads, linking, variants, deletion, and media probe/preflight checks.
Enables scheduling and publishing Facebook posts through Buffer channels, with validation of required metadata and media before submission.
Enables scheduling and publishing Instagram content through Buffer channels, with preflight checks for required metadata and media types.
Enables scheduling and publishing YouTube content through Buffer channels, including media validation and YouTube Shorts orientation checks.
Supports YouTube Shorts publishing through Buffer, applying orientation and format validation rules before submission.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Buffer MCP Server upload this image and schedule to Instagram for tomorrow at 9am"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
buffer-mcp — Buffer 社媒发布 MCP 服务器
通过 Buffer 统一发布/排期到 Facebook、Instagram、YouTube 等渠道,内置 Cloudinary 媒体上传与校验,共 24 个工具。帮助运营与办公场景实现 AI 自动化(内容排期、批量发布、媒体处理与数据分析)。
远程端点:
https://mcpweb.wjjnew.cn/buffer-mcp/mcp(Streamable HTTP)鉴权:
Authorization: Bearer mcp_sk_xxx(在 https://mcpweb.wjjnew.cn/ 注册获取)
特性
一条上传链路:
cloudinary_upload把本地文件变成公网 HTTPS 地址;密钥只留在进程内,不回显。发布前校验:文本长度、各平台必填元数据、媒体类型、YouTube Shorts 方向规则在调用前检查。
发布前探测:
media_probe检查 HTTPS / HEAD / Range / Content-Type / 大小,避免 Buffer 拒收媒体。写操作安全:写工具需
confirm令牌;修改/删除还需allowDestructive=true;HTTP 写入需allowWrites=true。无 ffmpeg:MP4 宽高/时长直接解析
moovbox。双传输:stdio 与 Streamable HTTP 共用同一套工具注册。
Related MCP server: SocialHive MCP Server
客户端配置(远程托管,推荐)
{
"mcpServers": {
"buffer-mcp": {
"type": "http",
"url": "https://mcpweb.wjjnew.cn/buffer-mcp/mcp",
"headers": { "Authorization": "Bearer <你的 mcp_sk_xxx>" }
}
}
}工具清单(24)
分组 | 工具 |
配置(3) |
|
渠道(3) |
|
帖子(5) |
|
媒体(8) |
|
分析(5) |
|
cloudinary_list_assets支持resourceType、type(默认upload)、maxResults、nextCursor、prefix、tags、direction。
写操作确认
工具 |
| 额外要求 |
|
| 允许写入 |
| 帖子 id | 允许修改/删除 |
|
| 已配置 Cloudinary |
|
| 允许修改/删除 |
会话与稳定性(HTTP)
SaaS 托管默认
MCP_HTTP_STATELESS=true:不依赖Mcp-Session-Id,服务端重启/会话过期不会出现Session not found;客户端携带旧 session id 会被直接忽略。本地需要有状态会话时保持默认(不设置该变量)即可;此时服务端重启后客户端应重新
initialize。
本地运行
npm ci
npm run build
# stdio(默认)
BUFFER_API_KEY=你的Key node dist/index.js
# Streamable HTTP
BUFFER_API_KEY=你的Key MCP_TRANSPORT=http MCP_HTTP_PORT=8787 node dist/index.js客户端(stdio):
{
"mcpServers": {
"buffer-mcp": {
"command": "node",
"args": ["/path/buffer-mcp/dist/index.js"],
"env": { "BUFFER_API_KEY": "你的Key" }
}
}
}配置
环境变量示例:
.env.example完整配置说明:
CONFIG.md配置示例:
buffer-mcp.config.example.json
Cloudinary 需自备(CLOUDINARY_CLOUD_NAME / CLOUDINARY_API_KEY / CLOUDINARY_API_SECRET,或 CLOUDINARY_URL);未配置时不启用上传,可改用公网媒体 URL 发布。代码中的默认值为空,不会回退到任何第三方账号。
要求
Node.js >= 20
Buffer 个人 API Key(Buffer 后台 → Developers / API)
可选:Cloudinary 账号(仅本地上传需要)
License
MIT © 2026 wjjnew123
Available Tools
23 toolsbuffer_create_ideaCreate an ideaC
Create an idea on the idea board. Requires confirm="idea".
Inputs: text, title, confirm, services, +1 more.
buffer_create_postCreate a Buffer postA
Create one post per channel. Media can be local paths (uploaded through Cloudinary) or HTTPS URLs. Runs platform validation first; use dryRun to preview the payload without writing.
Inputs: mode, text, dueAt, media, +4 more.
buffer_delete_postDelete a postADestructiveIdempotent
Delete a post by id. Requires safety.allowDestructive=true and confirm equal to the post id.
Inputs: postId (required), confirm.
buffer_get_analyticsGet aggregated post metricsARead-only
Return aggregated metrics for an organization in a date range. On the free plan the window is capped at 31 days, so longer ranges are clamped and reported.
Inputs: endDateTime (required), startDateTime (required), channelIds, organizationId.
buffer_get_channelGet channelCRead-only
Fetch a single channel by id.
Inputs: channelId (required).
buffer_get_configGet effective configurationARead-only
Return the merged configuration (defaults < config file < environment < CLI). Secrets are masked. Use this to discover the active settings before making changes.
Inputs: no named parameters.
buffer_get_postGet postARead-only
Fetch a single post with assets, status and any publishing error.
Inputs: postId (required).
buffer_list_channelsList channelsBRead-only
List connected channels for an organization with service, timezone, and queue state.
Inputs: organizationId.
buffer_list_daily_limitsCheck daily posting limitsARead-only
Return each channel's daily posting limit, how many posts are scheduled and sent, and whether the limit is reached.
Inputs: channelIds (required), date.
buffer_list_idea_groupsList idea groupsCRead-only
List the idea groups (boards) in an organization.
Inputs: organizationId.
buffer_list_ideasList ideasCRead-only
List ideas in the organization's idea board.
Inputs: after, first, organizationId.
buffer_list_organizationsList Buffer organizationsARead-only
List the organizations available to the configured Buffer API key, including plan limits.
Inputs: no named parameters.
buffer_list_postsList postsARead-only
List posts for an organization with optional channel, status, and due-date filters. Returns the newest page by default.
Inputs: after, limit, status, dueAfter, +3 more.
buffer_reset_configReset configurationADestructiveIdempotent
Delete the persisted config file and fall back to defaults plus environment variables. Requires safety.allowDestructive=true and confirm="reset".
Inputs: confirm.
buffer_set_configUpdate configurationAIdempotent
Deep-merge a JSON patch into the config file and persist it. Only non-secret settings are writable unless safety.allowSecretWrite is true. Returns the updated, masked configuration.
Inputs: patch (required), confirm.
buffer_update_postUpdate a postADestructiveIdempotent
Edit the text, due date, mode or metadata of an existing draft/scheduled post. Requires safety.allowDestructive=true and confirm equal to the post id.
Inputs: postId (required), mode, text, dueAt, +2 more.
cloudinary_deleteDelete a Cloudinary assetADestructiveIdempotent
Permanently delete an asset by public_id. Requires safety.allowDestructive=true and confirm equal to the public_id.
Inputs: publicId (required), confirm, resourceType.
cloudinary_linkBuild a Cloudinary delivery URLBRead-only
Construct a public delivery URL for an existing public_id, optionally with a transformation.
Inputs: publicId (required), version, resourceType, transformation.
cloudinary_uploadUpload media to CloudinaryA
Upload a local file (or import a remote URL) through the built-in Cloudinary credentials and return the public HTTPS delivery URL plus metadata. This is the only supported upload path; credentials never leave this process.
Inputs: url, path, folder, confirm, +2 more.
cloudinary_upload_batchUpload multiple media filesA
Upload several local files or URLs sequentially, returning per-item results and failures. Maximum 20 items.
Inputs: urls, paths, folder, confirm, +1 more.
cloudinary_variantsGenerate platform media variantsARead-only
Return delivery URLs for common platform aspect ratios (16:9, 1:1, 4:5, 9:16 padded, 9:16 cropped) derived from an existing public_id.
Inputs: publicId (required), resourceType.
media_preflightPreflight media against platform rulesBRead-only
Validate text and media against the selected channels before creating a post: text limits, required metadata, asset types, and the YouTube Shorts orientation rule.
Inputs: url, path, text, channelIds.
media_probeProbe a media URLARead-only
Check HTTPS, HEAD support, range support, content type and size of a public media URL. Buffer requires an HTTPS URL whose endpoint answers HEAD instead of returning 404.
Inputs: url (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 23 tools
Most tools are clearly distinct by resource and action (buffer_get_channel vs buffer_list_channels, buffer_get_post vs buffer_create_post). Minor overlap exists between media_probe and media_preflight (both validate media) and between cloudinary_upload and cloudinary_upload_batch, but descriptions clarify the single-vs-batch and URL-vs-channel-rule distinctions. An agent can reliably select the right tool.
Predictable verb_noun pattern with consistent domain prefixes (buffer_, cloudinary_, media_). Verbs (get/set/list/create/update/delete/upload) are used consistently. Minor deviations: cloudinary_link and cloudinary_variants omit a trailing noun, and buffer_get_analytics/buffer_list_daily_limits slightly break the resource_verb pattern, but overall readable and consistent.
23 tools is on the heavy side, spanning config, posts, media, analytics, and ideas domains. Each tool earns its place within its sub-domain, but the surface is large enough that it borders on overwhelming for a single server. Reasonable but at the upper edge of comfortable scoping.
Posts have full CRUD, config is fully manageable, and media/Cloudinary lifecycle is covered. Gaps: ideas only support list/list-groups/create with no update or delete, analytics is read-only, and channel management is read-only. These are minor gaps agents can work around for core Buffer workflows.
Maintenance
Related MCP Connectors
Schedule and publish social posts across 9 platforms (Instagram, LinkedIn, X, TikTok, Facebook, Threads, Pinterest, Bluesky, Mastodon) straight from Claude, ChatGPT, Cursor, or any MCP client. Create, edit, and reschedule posts, upload media, and pull account and post analytics, follower demographics, and best-time windows. 20 tools, free on every plan.
Social media management, multi-platform publishing, AI generation, and cross-channel analytics.
Publish, schedule and analyze social posts on Instagram, Facebook, TikTok, YouTube and more.
Schedule, publish, and analyze social posts across TikTok, Instagram, YouTube, X, LinkedIn + 5 more.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceSocial media scheduling and publishing for AI agents. 17 validation-first tools to post to X, LinkedIn, Instagram, TikTok, YouTube, Reddit, Discord, Telegram, and more through one connected workspace.187 npm106MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to draft, schedule, and publish social media content, generate AI text and image variations, analyze performance, and automate social workflows.MIT
- AlicenseBqualityBmaintenanceEnables AI agents and clients to discover accounts and channels, read scheduling and analytics data, and manage posts, content items, and templates through 41 GraphQL-backed tools with private credential profiles and confirmation-gated mutations.4141 npmAGPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to upload and schedule videos, images, carousels, and text posts across 17 social platforms, read analytics, and reply to comments through a hosted OAuth connection.MIT