社交媒体调度服务

Buffer-mcp是一个通过GraphQL API实现社交媒体内容调度的服务,支持与Claude Desktop、Claude Cowork及其他MCP兼容的AI工具集成。

  • by jakemeany523
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jakemeany523/buffer-mcp

使用说明

缓冲器mcp

MCP服务器,用于通过GraphQL API进行缓冲社交媒体调度。适用于Claude Desktop、Claude Cowork和任何兼容MCP的AI工具。

传统REST API(api.bufferapp.com/1/)已弃用。此服务器以独占方式使用Buffer的当前GraphQL API。

设置

1.安装依赖项

cd buffer-mcp
bash install.sh

或手动:

pip install mcp httpx pydantic

2.获取您的Buffer凭据

  • 访问令牌:缓冲区→ 设置→ API(或设置→ Beta)
  • 组织ID:运行 buffer_get_account 连接后——使用来自的组织ID account.organizations,不 account.id (它们不同,使用错误的会导致无声的失败)
  • 频道ID:运行 buffer_list_channels 获取您的推特/领英频道ID

3.配置环境变量

复制 .env.example 到 .env 并填写您的值:

cp .env.example .env

4.添加到克劳德桌面/协作

添加到MCP配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "buffer": {
      "command": "python3",
      "args": ["/absolute/path/to/buffer-mcp/server.py"],
      "env": {
        "BUFFER_ACCESS_TOKEN": "your-token-here",
        "BUFFER_ORG_ID": "your-org-id-here",
        "BUFFER_CHANNEL_TWITTER": "your-twitter-channel-id",
        "BUFFER_CHANNEL_LINKEDIN": "your-linkedin-channel-id"
      }
    }
  }
}

工具

工具 说明
buffer_list_channels 列出带有ID的已连接社交频道
buffer_get_account 获取帐户信息并查找您的组织ID
buffer_create_post 安排一个帖子(包含图片、视频、帖子、LinkedIn元数据)
buffer_batch_create_posts 一次通话最多可安排25个帖子
buffer_update_post 编辑预定帖子(原子删除+重新创建)
buffer_delete_post 从队列中删除帖子
buffer_find_post_by_schedule 按计划时间查找帖子的规范ID
buffer_list_posts 在队列中列出已安排的帖子
buffer_list_published_posts 列出已发送的帖子
buffer_get_engagement 发布帖子的参与度指标(Twitter连线;LinkedIn需要营销API)
buffer_get_reply_links 获取最近的推特URL以进行回复/帖子跟进
buffer_upload_image 将本地图像或视频上传到Cloudflare R2并返回缓冲区安全URL
buffer_health_check 验证令牌有效性和API连接

环境变量

变量 必填 描述
BUFFER_ACCESS_TOKEN 是 您的缓冲区API访问令牌
BUFFER_ORG_ID 是 您的缓冲区组织ID(来自 buffer_get_account)
BUFFER_CHANNEL_TWITTER 否 Twitter频道ID--启用 "twitter" 速记法
BUFFER_CHANNEL_LINKEDIN 否 LinkedIn频道ID--启用 "linkedin" 速记法
BUFFER_TWITTER_USERNAME 否 您的Twitter用户名 buffer_get_reply_links
TWITTER_BEARER_TOKEN 否 Twitter API v2承载令牌(用于回复链接+参与)
CLOUDFLARE_ACCOUNT_ID 否 Cloudflare帐户ID(用于 buffer_upload_image)
CLOUDFLARE_R2_API_TOKEN 没有带对象的 R2 API令牌:写入权限
CLOUDFLARE_R2_BUCKET_NAME 无 R2存储桶名称(默认值: buffer-media)
CLOUDFLARE_R2_PUBLIC_BASE_URL 否 R2存储桶的公共CDN URL

关键注意事项

媒体托管

Buffer的媒体提取器拒绝了许多空闲的CDN(catbox、imgur返回0字节,Buffer返回429字节) node-fetch UA)。使用Cloudflare R2、AWS S3或其他持久CDN。这 buffer_upload_image 配置后,该工具会自动处理R2上传。

推特帖子

要发布帖子,请使用 thread_replies 在 buffer_create_post.Twitter会屏蔽正文中有链接的帖子——将您的CTA URL放在第一个回复中,而不是父推文中。

岗位ID轮换(已知缓冲区错误)

createPost 可以返回一个与返回的ID不同的临时ID buffer_list_posts 对于同一个职位。总是使用 buffer_find_post_by_schedule 在调用之前获取规范(可删除)ID buffer_delete_post 或 buffer_update_post.

组织ID与帐户ID

缓冲区同时暴露两者 account.id (账户级别)以及 account.organizations[].id (组织层面)。将帐户ID用作组织ID会导致静默 "Organization not found" 错误。跑 buffer_get_account 并从组织列表中复制组织ID。

许可证

麻省理工学院