Buffer
Schedule and publish social media posts.
MCP server URL
https://buffer.orchestrivocontrols.com/mcp
Works with
Tools 20
Get Account
Returns account details (id, email, name, timezone), currentTime (account local time with UTC offset), and organizations (id, name, plan limits, member count). Pass organizations[].id as organizationId in other tools. Reuse the selected organization ID in this conversation. Call when required information is missing or up-to-date data is requested or needed. If organization selection is unclear, list organizations by name and ask which to use.
List Channels
Lists all social media channels connected to a Buffer organization. Returns summary info (id, name, displayName, service, type, avatar, connection status). Use get_channel for detailed information about a specific channel, including posting schedule. Use get_account if the organization ID is unknown.
Get Channel
Retrieves detailed information for a specific social media channel. Returns posting schedule, posting goals, queue status, timezone, link shortening config, and service-specific metadata (e.g., Pinterest boards, Mastodon server URL, Instagram reminder settings). Use list_channels if the channel ID is unknown.
List Posts
Lists posts from a Buffer organization with filters for channels, status, tags, and dates. Returns post details including id, status, allowedActions, via, text, scheduled/sent times, channel info, tags, assets, and errors. Supports pagination using Relay-style cursors. Set `includeMetrics: true` to additionally return per-post analytics on each post — only do so when the user asks about post performance, as it materially increases response size. For totals/sums across many posts, prefer `get_aggregated_post_metrics`. Use get_account if the organization ID is unknown, and list_channels if needed channel IDs are unknown.
Get Post
Retrieves detailed information about a specific post by ID. Returns comprehensive post data including status, content, author, channel references, tags, notes, assets (images, videos, documents), and allowedActions. The metadata field contains service-specific data (e.g., Instagram geolocation, Twitter threads, YouTube privacy settings, Pinterest boards). Posts with status "error" include an error field with the failure message. Set `includeMetrics: true` to additionally return per-post analytics (reactions, comments, impressions, etc.) and a `metricsUpdatedAt` freshness timestamp. Only set true when the user asks about post performance. Use list_posts if the post ID is unknown.
List Ideas
Lists content ideas from a Buffer organization, optionally filtered by tags. Ideas are drafts that capture concepts for future social media posts. Returns idea details including id, content (title, text, media, tags, target services, date), group, and timestamps. Supports pagination using Relay-style cursors. Use get_account if the organization ID is unknown. Use create_idea to capture a new idea.
List Idea Groups
Lists all idea groups (columns) in the ideas board for a Buffer organization. Idea groups are used to organize ideas into named columns. Returns each group's id, name, and lock status. Use get_account if the organization ID is unknown.
Create Idea
Create a new content idea in a Buffer organization. Ideas are drafts for future social media posts — use them to capture concepts, attach media, and tag with categories. Use get_account if the organization ID is unknown. Returns the created idea record. Do not use this tool to publish or schedule posts.
Create Post
Create and schedule a social media post to a Buffer channel. Supports all platforms: Instagram, Facebook, Twitter, LinkedIn, Pinterest, YouTube, Google Business, Mastodon, TikTok, Threads, Bluesky, Substack, and Start Page. Use get_account if the organization ID is unknown. Use list_channels if the channel ID is unknown. Minimum requirements by service: - Twitter/Mastodon/Threads/Bluesky: text only - Facebook: requires metadata.facebook.type - Instagram: requires image or video asset + metadata.instagram.type - TikTok: requires image or video asset - Pinterest: requires image + metadata.pinterest.boardServiceId (get from get_channel) - YouTube: requires video + metadata.youtube.title + metadata.youtube.categoryId - Substack: text, an image or video asset, or metadata.substack.linkAttachment - Google Business: requires metadata.google.type For threaded posts, set BOTH outer text and metadata.{platform}.thread, include ALL thread items, match outer text to the first item's text, and use the top-level asset shape for thread assets. To give a Threads or Bluesky thread item a link preview card, set metadata.{platform}.linkAttachment on that item. Returns the created post with saved content, assets, platform settings, tags, allowedActions, status, and scheduling details.
Edit Post
Edit an existing post in Buffer. Reuse known post details. Use get_post when required information is missing or up-to-date data is requested or needed. Leave schedulingType out unless the user is switching between reminder and automatic publishing: omitting it keeps the post publishing the way it already does. Leave mode and dueAt out unless the user is rescheduling: omitting them keeps the post in its current queue slot or custom time. Sending a mode reschedules the post even when it matches the current one. Every edit is re-validated as a whole post against the same rules as creation; it is not merged with the stored post. Carry the current assets and metadata forward and change only what the user asked to change. Dropping an asset or metadata field the post requires will reject the edit. For threaded posts, set BOTH outer text and metadata.{platform}.thread, include ALL thread items, match outer text to the first item's text, and use the top-level asset shape for thread assets. To give a Threads or Bluesky thread item a link preview card, set metadata.{platform}.linkAttachment on that item. Returns the updated post with saved content, assets, platform settings, tags, allowedActions, status, and scheduling details.
Delete Post
Permanently delete a post from Buffer. This action is irreversible. Use list_posts if the post ID is unknown.
Get Aggregated Post Metrics
Returns aggregate post analytics (sums and averages) for a Buffer organization over a date range. Use this when the user wants totals across many posts — e.g. "total reach in the last 2 weeks", "engagement on posts tagged #launch". Free plans: startDateTime must be within the last 31 days. The response always includes a baseline trio of metrics (postCount, reactions, comments); additional metrics (reach, impressions, engagement rate, etc.) are included only when every channel in the filter set supports them. The `metricsUpdatedAt` field carries the freshness of the aggregate — metrics refresh daily, so values can lag the source network by up to ~24h. It is null when no posts matched the filter. For per-post analytics on a single post, use get_post; for many posts, use list_posts. Use get_account if the organization ID is unknown; use list_channels if needed channel IDs are unknown.