多平台社交媒体发布服务

MCP社交发布器是一个支持多平台(X/Twitter、微博、哔哩哔哩、小红书)的社交媒体内容发布服务,可直接通过API发布或生成格式化内容供手动发布。

  • by kevinten-ai
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 kevinten-ai/mcp-social-publisher

使用说明

mcp社交出版商

Multi-platform social media content publishing MCP server.
Publish to X/Twitter, Weibo, Bilibili, and Xiaohongshu from your AI assistant.
Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.

中文文档

特性

  • 4个平台 --X/推特、微博、哔哩哔哩、小红书
  • 直接发布 -X(API v2)、微博(开放API)、哔哩哔哩(文章API)
  • 手动发布支持 -小红书生成格式化内容用于人工发布(无公共API)
  • 内容预览 — preview_content 按平台惯例格式化内容,而无需访问API
  • 平台感知格式 --每个平台的标签样式、字符限制和媒体规则
  • 提供者注册表模式 --易于添加新平台

运作原理

User Prompt -> AI Assistant (Claude / Cursor) -> MCP Server -> Platform API
                                                     |
                                           publish() -> post URL
                                           preview_content() -> formatted text

支持API直接发布的平台会立即发布并返回URL。没有公共API的平台(如小红书)会生成针对手动发布优化的格式化内容。

支持的平台

平台 直接发布 图片 视频 身份验证 环境变量
X(推特) 是 是(最多4个) 否 不记名代币 X_BEARER_TOKEN
Weibo (微博) 是 是(1张图片) 否 访问令牌 WEIBO_ACCESS_TOKEN
Bilibili (哔哩哔哩) 是(文章) 否 否 Cookie授权 BILIBILI_SESSDATA, BILIBILI_BILI_JCT
Xiaohongshu (小红书) 否(手动) 手动 手动 无需 --

平台详细信息

X(推特)——直接发布

  • 通过X API v2发布推文(POST /2/tweets)
  • 通过媒体上传端点上传图像(/1.1/media/upload.json)
  • 280个字符限制;自动截断为“…”
  • 每条推文最多4张图片
  • 标签: #tag 格式

微博--直接发布

  • 通过微博公开API发布的帖子
  • 支持文本+单张图片上传
  • 2000个字符限制
  • 标签: #tag# 格式(双哈希,微博惯例)
  • 需要OAuth访问令牌(定期过期)

Bilibili (哔哩哔哩) — Direct Publish (Articles)

  • 通过Bilibili API发布文本文章
  • 40个字符的标题限制
  • 内容已转换为HTML
  • 基于Cookie的身份验证(SESSDATA+bili_jct)——令牌过期,从浏览器中重新提取
  • 不支持通过此工具上传视频(使用Bilibili Creator Studio)

Xiaohongshu (小红书) — Manual Posting Only

  • 不存在公共API 用于内容发布
  • 生成针对小红书风格优化的格式化内容
  • 提供图像/视频准备指导(建议宽高比为3:4)
  • 包括分步手动发布说明
  • 标题限制:20个字符
  • 始终可用-不需要API密钥

快速开始

1.克隆并安装

git clone https://github.com/kevinten-ai/mcp-social-publisher.git
cd mcp-social-publisher
uv sync

2.配置MCP

仅配置要使用的平台。小红书在没有任何API密钥的情况下工作。

Claude Code (CLI) — recommended
# Minimal (Xiaohongshu manual posting only — no keys needed)
claude mcp add -s user mcp-social-publisher \
  -- uv --directory /path/to/mcp-social-publisher run social-publisher

# With X/Twitter
claude mcp add -s user mcp-social-publisher \
  --env X_BEARER_TOKEN=your_token \
  -- uv --directory /path/to/mcp-social-publisher run social-publisher

# Full (all platforms)
claude mcp add -s user mcp-social-publisher \
  --env X_BEARER_TOKEN=your_token \
  --env WEIBO_ACCESS_TOKEN=your_token \
  --env BILIBILI_SESSDATA=your_sessdata \
  --env BILIBILI_BILI_JCT=your_bili_jct \
  -- uv --directory /path/to/mcp-social-publisher run social-publisher
Claude Desktop / Cursor (JSON config)
{
  "mcpServers": {
    "mcp-social-publisher": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-social-publisher", "run", "social-publisher"],
      "env": {
        "X_BEARER_TOKEN": "your_token",
        "WEIBO_ACCESS_TOKEN": "your_token",
        "BILIBILI_SESSDATA": "your_sessdata",
        "BILIBILI_BILI_JCT": "your_bili_jct"
      }
    }
  }
}

3.使用它

问你的AI助手:

"Publish a post about my new project to X with tags #opensource #ai"
"Preview how this content would look on Xiaohongshu"
"List my configured publishing platforms"

工具(共3个)

发表

将内容发布到社交媒体平台。

  • 平台 (必填): xiaohongshu, bilibili, x, weibo
  • 标题 (必填):职位名称
  • 内容 (必填):发布正文
  • 图像路径 (可选):本地映像文件路径列表
  • 视频路径 (可选):本地视频文件路径
  • 标签 (可选):标签/主题标签列表

list_platforms

列出所有已配置的发布平台及其状态、功能和身份验证信息。

预览内容

在不发布的情况下为特定平台格式化内容(模拟运行)。甚至适用于未配置的平台-不需要API密钥。

  • 平台 (必填): xiaohongshu, bilibili, x, weibo
  • 标题 (必填):职位名称
  • 内容 (必填):发布正文
  • 标签 (可选):标签/主题标签列表

API密钥/身份验证设置

1. X (Twitter) — Bearer Token
项目 详细信息
平台 X开发者门户
URL https://developer.x.com
免费等级 免费等级:1500条推文/月(写)
Env Var X_BEARER_TOKEN

步骤:

  1. 在以下网址申请开发人员帐户https://developer.x.com
  2. 创建项目和应用程序
  3. 生成承载令牌(或使用OAuth 2.0用户上下文发布推文)
  4. 复制令牌

注意:免费版每月允许创建1500条推文。媒体上传需要提升访问权限。

2. Weibo (微博) — Access Token
项目 详细信息
平台 微博开放平台
URL https://open.weibo.com
免费版 使用经批准的应用程序免费
Env Var WEIBO_ACCESS_TOKEN

步骤:

  1. 注册地址:https://open.weibo.com
  2. 创建应用程序
  3. 通过授权流获取OAuth2访问令牌
  4. 访问令牌过期--根据需要刷新

注意:微博访问令牌通常在几天后过期。使用OAuth2刷新流或重新授权。

3. Bilibili (哔哩哔哩) — Cookie Auth
项目 详细信息
平台 Bilibili
URL https://www.bilibili.com
免费等级 免费
环境变量 BILIBILI_SESSDATA, BILIBILI_BILI_JCT

步骤:

  1. 登录到https://www.bilibili.com在浏览器中
  2. 打开DevTools(F12)>应用程序>Cookie
  3. 复制 SESSDATA 和 bili_jct 价值观
  4. 这些将在您注销或延长一段时间后过期

注意:基于Cookie的身份验证是非官方的。当您退出浏览器会话时,令牌将过期。

4. Xiaohongshu (小红书) — No Auth Needed
项目 详细信息
站台 小红树
URL https://www.xiaohongshu.com
身份验证 无需
环境变量 --

小红书有 没有公开的API 内容发布。此提供商:

  • 针对小红书风格优化的格式内容
  • 提供图像/视频准备指导
  • 提供分步手动发布说明

无需设置,始终可用。

环境变量

变量 平台 必填
X_BEARER_TOKEN X(推特) 用于X出版
WEIBO_ACCESS_TOKEN 微博 用于微博发布
BILIBILI_SESSDATA Bilibili 为Bilibili出版
BILIBILI_BILI_JCT Bilibili 为Bilibili出版

小红书不需要任何环境变量——它总是可以用于内容格式化和手动发布指导。

故障排除

常见错误

错误 根本原因 解决方案
Platform 'xxx' is not configured 缺少API密钥 设置该平台所需的env vars
Invalid platform 平台名称中的拼写错误 请使用以下选项之一: xiaohongshu, bilibili, x, weibo

平台特定错误

错误 平台 解决方案
401 Unauthorized X 检查 X_BEARER_TOKEN 有效且具有写入权限
403 Forbidden X 应用程序可能需要提升访问权限才能上传媒体
error_code: 21332 微博 访问令牌已过期--重新授权
code: -101 Bilibili Cookie已过期--从浏览器中重新提取SESSDATA和bili_jct
code: -111 Bilibili CSRF令牌(bili_jct)不匹配--从浏览器中重新提取

身份验证过期

平台 令牌生命周期 刷新方法
X 长期(承载) 在开发者门户中重新生成
微博 天数(OAuth2) 重新授权或使用刷新令牌
Bilibili 基于会话 从浏览器中重新提取Cookie
小红书 不适用 无需授权

项目结构

src/social_publisher/
├── __init__.py
├── __main__.py
├── server.py              # MCP server + tool handlers
└── platforms/
    ├── __init__.py        # BasePlatform abstract class + registry
    ├── x_platform.py      # X/Twitter (API v2, direct publish)
    ├── weibo.py           # Weibo (Open API, direct publish)
    ├── xiaohongshu.py     # Xiaohongshu (manual posting, no API)
    └── bilibili.py        # Bilibili (article API, cookie auth)

添加新平台

  1. 创建 src/social_publisher/platforms/your_platform.py
  2. 实施 BasePlatform (属性: name, display_name, description, supports_direct_publish, supports_images, supports_video, env_vars;方法: publish(), preview())
  3. 注册于 server.py:_init_platforms() 使用env-var检查
  4. 将平台名称添加到 VALID_PLATFORMS 列出 server.py
  5. 平台自动出现在 list_platforms, publish,以及 preview_content 工具

本地开发

git clone https://github.com/kevinten-ai/mcp-social-publisher.git
cd mcp-social-publisher
uv sync

# Run directly
uv run social-publisher

# Debug with MCP Inspector
npx @modelcontextprotocol/inspector uv --directory . run social-publisher

相关项目

许可证

麻省理工学院——见 许可证 了解详情。