@damusix/buffer-mcp
Manages social media posts, channels, organizations, and ideas through the Buffer API, enabling creation, retrieval, deletion, and scheduling of content.
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., "@@damusix/buffer-mcplist my organizations"
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: Elba MCP Server
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 burden. It correctly indicates the tool returns help/schema info and does not perform actions, implying read-only behavior. However, it does not explicitly state that it is non-destructive or has no side effects, though this is inherent 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 a single, front-loaded sentence with no superfluous words. It efficiently conveys the core functionality in an easily digestible format.
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 the tool's simplicity (2 optional parameters, no output schema), the description is complete. It covers both usage modes and provides sufficient context for an agent to understand its purpose and 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?
Schema coverage is 100% with descriptions for both parameters. The description adds value by explaining the behavior when action is omitted (see all actions) and that category filters by query/mutation. This goes beyond the schema's basic descriptions.
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 clearly states the tool provides help on Buffer API actions, with two modes: listing all actions or getting detailed schema for a specific action. This distinguishes it from the sibling tool use_buffer_api which executes actions.
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 implicitly guides when to use this tool (for exploring available actions and obtaining details) versus the sibling tool, but lacks explicit when-not-to-use or alternative conditions. The context of sibling tools helps but is not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
use_buffer_apiA
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?
No annotations are provided, so the description carries the full burden. It mentions create/delete actions, implying mutability, but does not disclose potential side effects, authentication requirements, rate limits, or error handling. Some behavioral context is given but insufficient for full transparency.
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 sentence with examples, making it efficient and front-loaded. No wasted words, though it could be more structured by separating action listing from payload guidance.
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?
The tool has 2 parameters, one required, and nested objects. No output schema exists. The description lists some actions but not exhaustively, and relies on a sibling tool for complete field details. This is adequate but not fully self-contained for all usage scenarios.
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?
Schema coverage is 100% and both parameters have descriptions. The description adds value by listing action examples (listPosts, createPost) and directing to buffer_api_help for payload details. However, it does not add significant meaning beyond what the schema already provides, fitting the baseline.
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 clearly states the verb 'Execute' and the resource 'Buffer API action', listing concrete examples (list organizations, channels, posts, create/delete posts, create ideas). This distinguishes it from the sibling tool 'buffer_api_help', which likely provides help on available actions.
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 a hint by mentioning 'Use buffer_api_help to see available fields' for the payload, but does not explicitly state when to use this tool versus alternatives. No preconditions or exclusions are provided, leaving the agent to infer usage from 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
v0.2.1- First observed
buffer_api_help - First observed
use_buffer_api
TDQS
The two tools have clearly distinct purposes: one provides help/schema info, the other executes API actions. No overlap or ambiguity.
Both follow a 'buffer_api_<verb>' snake_case pattern, but one uses 'help' and the other 'use', which is slightly asymmetric. Still mostly consistent.
With only 2 tools, the server feels minimal. While the use_buffer_api tool consolidates many actions, the small count may limit expressiveness for agents.
The use_buffer_api tool claims to cover all major Buffer API actions (list, create, delete), and the help tool provides schema for new actions. Minor gap: no dedicated tool for individual action exploration beyond help.
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
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
Manage feature requests, votes, roadmaps, and changelogs from any MCP client.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP coordination primitive for multi-agent workflows. Lets multiple AI coding agents (Claude Code, Cursor, n8n, custom clients) discover each other and exchange messages and tasks via a shared SQLite-backed message bus.37704MIT
- AlicenseAqualityDmaintenanceManage voice AI agents from Claude Code, Cursor, VS Code, or any MCP-compatible assistant.3153MIT
- AlicenseAqualityDmaintenanceMCP Server for the Mattermost API, enabling Claude and other MCP clients to interact with Mattermost workspaces.9353MIT
- AlicenseAqualityCmaintenanceEnables MCP-compatible clients to interact with AnythingLLM, providing tools for workspace management, chat and thread operations, document operations, vector search, and system inspection.346MIT
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/ukanwat/buffer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server