Skip to main content
Glama
ukanwat

@damusix/buffer-mcp

by ukanwat

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-mcp

Or run directly with npx:

npx @damusix/buffer-mcp

Related MCP server: Elba MCP Server

Configuration

Variable

Required

Description

BUFFER_ACCESS_TOKEN

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-mcp

Usage 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

listOrganizations

query

List all organizations on the account

listChannels

query

List channels for an organization

getChannel

query

Get a single channel by ID

listPosts

query

List posts with pagination and filters

getPost

query

Get a single post by ID

getDailyPostingLimits

query

Get daily posting limits for channels

createPost

mutation

Create a new post (draft, queued, or scheduled)

deletePost

mutation

Delete a post by ID

createIdea

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 build

License

MIT

Available Tools

2 tools
buffer_api_helpA

Get help on available Buffer API actions — list all actions or get detailed schema info for a specific action

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoSpecific action name to get detailed help for (e.g. "listPosts"). Omit to see all available actions.
categoryNoFilter actions by category

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to execute (e.g. "listPosts", "createPost")
payloadNoAction payload — fields depend on the action. Use buffer_api_help to see available fields.

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 2 tool updatesv0.2.1
    • First observedbuffer_api_help
    • First observeduse_buffer_api

TDQS

A3.9/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one provides help/schema info, the other executes API actions. No overlap or ambiguity.

Naming Consistency4/5

Both follow a 'buffer_api_<verb>' snake_case pattern, but one uses 'help' and the other 'use', which is slightly asymmetric. Still mostly consistent.

Tool Count3/5

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.

Completeness4/5

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

ActivityStale
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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