Skip to main content
Glama
ukanwat

@damusix/buffer-mcp

by ukanwat
README.md
# Buffer MCP Server

An MCP (Model Context Protocol) server for the [Buffer](https://buffer.com) social media API. Manage posts, channels, organizations, and ideas through any MCP-compatible LLM client.

## Install

```bash
pnpm add @damusix/buffer-mcp
```

Or run directly with npx:

```bash
npx @damusix/buffer-mcp
```

## Configuration

| Variable              | Required | Description                                                                                            |
| --------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| `BUFFER_ACCESS_TOKEN` | Yes      | Your Buffer API access token. Get one from [Buffer Developer Settings](https://developers.buffer.com). |

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`):

```json
{
    "mcpServers": {
        "buffer": {
            "command": "npx",
            "args": ["@damusix/buffer-mcp"],
            "env": {
                "BUFFER_ACCESS_TOKEN": "your-token-here"
            }
        }
    }
}
```

## Usage with Claude Code

```bash
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:

```json
{
    "action": "listOrganizations"
}
```

List posts with pagination:

```json
{
    "action": "listPosts",
    "payload": {
        "organizationId": "abc123",
        "first": 10,
        "after": "cursor-string"
    }
}
```

Create a draft post:

```json
{
    "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:

```json
{}
```

List only query actions:

```json
{
    "category": "query"
}
```

Get detailed help for a specific action:

```json
{
    "action": "createPost"
}
```

## Development

```bash
pnpm install
pnpm test
pnpm run build
```

## License

MIT

TDQS

A3.9/5.0

Scored across 2 tools

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

ActivityInactive
ResponsivenessNo issues