Buffer MCP Server
Manage posts, channels, organizations, and ideas through the Buffer social media API.
Click on "Install 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 Serverlist my channels"
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 Server
An MCP (Model Context Protocol) server for the Buffer social media API. Manage posts, channels, organizations, and ideas through any MCP-compatible LLM client.
Install
pnpm add @damusix/buffer-mcpOr run directly with npx:
npx @damusix/buffer-mcpRelated MCP server: postforme-mcp-pro
Configuration
Variable | Required | Description |
| Yes | Your Buffer API access token. Get one from Buffer Developer Settings. |
The server will exit immediately if BUFFER_ACCESS_TOKEN is not set.
Usage with Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"buffer": {
"command": "npx",
"args": ["@damusix/buffer-mcp"],
"env": {
"BUFFER_ACCESS_TOKEN": "your-token-here"
}
}
}
}Usage with Claude Code
claude mcp add buffer -e BUFFER_ACCESS_TOKEN=your-token-here -- npx @damusix/buffer-mcpUsage with Other Clients
For Cursor, Windsurf, or any other MCP-compatible client, add @damusix/buffer-mcp as a stdio MCP server with BUFFER_ACCESS_TOKEN set in the environment. Consult your client's documentation for the exact configuration format.
Tools
use_buffer_api
Execute a Buffer API action. Takes an action name and an optional payload object.
Available actions:
Action | Category | Description |
| query | List all organizations on the account |
| query | List channels for an organization |
| query | Get a single channel by ID |
| query | List posts with pagination and filters |
| query | Get a single post by ID |
| query | Get daily posting limits for channels |
| mutation | Create a new post (draft, queued, or scheduled) |
| mutation | Delete a post by ID |
| mutation | Create a new idea in an organization |
Examples:
List organizations:
{
"action": "listOrganizations"
}List posts with pagination:
{
"action": "listPosts",
"payload": {
"organizationId": "abc123",
"first": 10,
"after": "cursor-string"
}
}Create a draft post:
{
"action": "createPost",
"payload": {
"channelId": "abc123",
"text": "Hello world!",
"schedulingType": "automatic",
"mode": "addToQueue",
"saveToDraft": true
}
}buffer_api_help
Get help on available actions. Takes an optional action name or category filter.
List all actions:
{}List only query actions:
{
"category": "query"
}Get detailed help for a specific action:
{
"action": "createPost"
}Development
pnpm install
pnpm test
pnpm run buildLicense
MIT
Available Tools
2 toolsbuffer_api_helpA
Get help on available Buffer API actions — list all actions or get detailed schema info for a specific action
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Specific action name to get detailed help for (e.g. "listPosts"). Omit to see all available actions. | |
| category | No | Filter actions by category |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It clearly indicates a read-only, introspection-like behavior by saying 'Get help', 'list all actions', and 'get detailed schema info'. It could add detail about output format or handling of unknown action names, but the core behavior is transparent enough for a help tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one clear sentence, front-loaded with the tool's purpose and then detailing the two invocation modes. Every word contributes; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two optional parameters, no output schema, and a simple introspection purpose, the description covers the main invocation scenarios: list everything or ask about a specific action. It could optionally clarify the return format or recommend pairing with use_buffer_api, but nothing essential to calling the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% parameter descriptions, including that 'action' can be omitted to list all actions and that 'category' filters by query or mutation. The description reinforces the two usage modes but does not add new parameter-level meaning beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get help on available Buffer API actions', and clearly distinguishes the two modes: listing all actions or retrieving detailed schema for a specific action. It is immediately distinguishable from the sibling execute tool use_buffer_api.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear this is for help/schema discovery rather than executing API actions, so the intended context is inferable. However, it does not explicitly say 'use this before use_buffer_api' or state when not to use it, so exclusions and alternatives are only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
use_buffer_apiC
Execute a Buffer API action (list organizations, channels, posts, create/delete posts, create ideas, and more)
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to execute (e.g. "listPosts", "createPost") | |
| payload | No | Action payload — fields depend on the action. Use buffer_api_help to see available fields. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of disclosing behavior. It mentions create/delete operations, which implies potentially destructive side effects, but it does not explain consequences, permissions, rate limits, response behavior, or whether operations are reversible. For a tool that can delete posts, this is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence with no wasted words. It front-loads the core purpose and gives useful action examples immediately. The phrase 'and more' is slightly open-ended but acceptable for a generic wrapper tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a generic, dynamically-shaped API wrapper with no output schema and no annotations. The description alone does not explain where to get the full action list, how to structure payloads, or what to expect back. The payload schema points to buffer_api_help, but the tool description itself leaves the agent under-equipped for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers both parameters at 100%, so the baseline is 3. The description adds no new parameter-level meaning beyond what the schema provides, but it does not need to compensate because the schema clearly documents action as a string and payload as an action-dependent object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb-resource relationship: 'Execute a Buffer API action' with concrete examples of the families it covers (organizations, channels, posts, ideas). It does not fully distinguish itself from the sibling buffer_api_help, but the generic purpose is specific enough for an agent to understand the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus buffer_api_help or any other alternative. The payload schema does mention using buffer_api_help to discover fields, but that is not in the tool description itself, so the agent gets no explicit routing or usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.0- First observed
buffer_api_help - First observed
use_buffer_api
TDQS
use_buffer_api executes API actions while buffer_api_help provides discovery and schema details. There is no overlap between executing and getting help, so an agent can clearly distinguish when to use each.
Both names contain 'buffer_api', but one uses a 'use_' prefix and the other uses a '_help' suffix. This is a readable but mixed naming convention rather than a consistent verb_noun pattern.
With only two tools, the server feels minimal, but the generic executor plus help tool is a deliberate design that keeps the surface small. It is borderline because one tool does most of the work while the other is purely informational.
The generic executor covers a broad range of Buffer actions, including organizations, channels, posts, and ideas, with additional actions implied by 'and more.' The help tool fills discovery gaps, though the lack of explicit typed tools for individual operations is a minor limitation.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
MCP server for generating rough-draft project plans from natural-language prompts.
- MysocialOAuthio.mysocial
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
1 Create, schedule, and publish social posts, manage accounts, and read analytics as MCP tools.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Publer social media management API, enabling AI assistants to schedule posts, upload media, pull analytics, and manage accounts across 15+ social networks.157021MIT
- AlicenseAqualityDmaintenanceMCP server for the Post for Me API, enabling publishing, scheduling, editing, deleting, and analyzing social media posts across 9 platforms from any MCP client.27471MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Buffer social media scheduling via the GraphQL API, enabling post creation, queue management, engagement metrics, and media uploads.MIT
- AlicenseNot gradedqualityCmaintenanceA full social media management MCP server enabling post, read, schedule, and analyze across Facebook, Instagram, LinkedIn, X/Twitter, Pinterest, and YouTube from any MCP-compatible AI client.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/damusix/buffer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server