Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Unified Publish

FreeNot checked

Unified Publish MCP is a server that enables cross-platform social content publishing, searching, and commenting across 28+ platforms via a unified interface, l

GitHubEmbed

About

Unified Publish MCP is a server that enables cross-platform social content publishing, searching, and commenting across 28+ platforms via a unified interface, leveraging the Model Context Protocol.

README

GitHub Release License: AGPL-3.0 Python 3.11+ MCP Platforms GitHub Stars

统一多平台社交内容发布 MCP 服务器

基于 Promotion Agent 架构,提供统一的多平台社交内容发布能力。一次编写,同步发布到 28+ 平台。


✨ 特性

  • 🚀 一键发布 - 一次编写,同步发布到 28+ 平台
  • 🔍 跨平台搜索 - 统一接口搜索多个平台内容
  • 💬 评论互动 - 获取评论、回复评论,支持嵌套评论
  • 📊 数据分析 - 跨平台数据聚合与对比
  • 🤖 MCP 原生 - 基于 Model Context Protocol,与 AI 助手无缝集成
  • 🔌 插件架构 - 基于 Strategy Pattern + Plugin Registry,轻松扩展新平台

🌐 支持平台(28 个)

中文平台(18 个)

平台 发布 搜索 评论 回复
V2EX
知乎
微博
小红书
掘金
CSDN
B站
抖音
微信公众号
头条号
百家号
简书
豆瓣
雪球
语雀
51CTO
博客园
开源中国
SegmentFault
搜狐号
一点号

国际平台(7 个)

平台 发布 搜索 评论 回复
X/Twitter
LinkedIn
Reddit
Medium
Dev.to
Hashnode

🚀 快速开始

1. 安装

# 克隆仓库
git clone https://github.com/YOUR_USERNAME/unified-publish-mcp.git
cd unified-publish-mcp

# 安装依赖
pip install -e .

2. 配置认证

# 复制环境变量模板
cp .env.example .env

# 编辑 .env 填入你的认证信息

3. 启动 MCP Server

python -m unified_publish_mcp.server

4. 配置 Claude Desktop

编辑 claude_desktop_config.json

{
  "mcpServers": {
    "unified-publish-mcp": {
      "command": "python",
      "args": ["-m", "unified_publish_mcp.server"],
      "env": {
        "PROMOTE_V2EX_TOKEN": "your_token",
        "PROMOTE_ZHIHU_TOKEN": "your_token",
        "PROMOTE_X_TOKEN": "your_token"
      }
    }
  }
}

📖 使用示例

Python API

import asyncio
from unified_publish_mcp import get_platform, list_platforms

async def main():
    # 列出所有平台
    platforms = list_platforms()
    print(f"已注册平台数:{len(platforms)}")
    
    # 获取平台实例
    zhihu = get_platform("zhihu")
    
    # 发布内容
    result = await zhihu.publish({
        "title": "我的文章标题",
        "content": "文章内容...",
        "tags": ["python", "mcp"]
    })
    print(f"发布成功:{result.url}")
    
    # 搜索内容
    results = await zhihu.search("Python MCP", limit=10)
    for r in results:
        print(f"- {r.title}")
    
    # 获取评论
    comments = await zhihu.get_comments("article_id", limit=20)
    for c in comments:
        print(f"{c.author}: {c.body}")
    
    # 回复评论
    reply = await zhihu.reply_comment(
        post_id="article_id",
        comment_id="comment_id",
        body="感谢评论!"
    )

asyncio.run(main())

MCP 工具

启动 MCP Server 后,可使用以下工具:

工具 描述
publish 发布内容到指定平台
publish_batch 批量发布到多个平台
search 搜索指定平台内容
search_all 跨平台搜索
get_comments 获取评论列表
reply_comment 回复评论
auth_status 查看认证状态
list_platforms_tool 列出所有平台
preview_content 预览内容

🏗️ 架构设计

┌─────────────────────────────────────────────────────────────┐
│                    Client (Claude Desktop)                   │
├─────────────────────────────────────────────────────────────┤
│                      MCP Server Layer                        │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │ publish │ │ search  │ │comments │ │analytics│           │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘           │
├─────────────────────────────────────────────────────────────┤
│                      Core Engine Layer                       │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │   Registry  │  │    Auth     │  │  Analytics  │         │
│  │  (插件注册)  │  │  (认证管理)  │  │  (数据分析)  │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
├─────────────────────────────────────────────────────────────┤
│                    Platform Adapter Layer                    │
│  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ...       │
│  │V2EX │ │知乎 │ │微博 │ │ X   │ │Reddit│ │Medium│        │
│  └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘           │
└─────────────────────────────────────────────────────────────┘

设计模式

  • Strategy Pattern - 每个平台是一个独立的策略
  • Plugin Registry - 基于装饰器的自动注册
  • ReAct Loop - AI 助手可自主规划发布流程

📁 项目结构

unified-publish-mcp/
├── src/unified_publish_mcp/
│   ├── __init__.py              # 主模块(导出)
│   ├── server.py                # MCP Server(10 个工具)
│   ├── analytics.py             # 数据分析模块
│   ├── visualization.py         # 数据可视化模块
│   ├── core/
│   │   ├── base_platform.py     # 基础平台类(180 行)
│   │   ├── registry.py          # 平台注册表(155 行)
│   │   └── auth_manager.py      # 认证管理器(212 行)
│   └── platforms/               # 平台适配器(28 个)
│       ├── v2ex.py
│       ├── zhihu.py
│       ├── weibo.py
│       ├── ...
│       └── segmentfault.py
├── tests/
│   ├── conftest.py
│   └── test_registry.py
├── scripts/
│   └── verify-completeness.py   # 验收测试脚本
├── pyproject.toml
├── README.md
├── CONTRIBUTING.md
├── SECURITY.md
├── .env.example
└── .gitignore

🔧 开发指南

添加新平台

  1. 创建平台适配器:
# platforms/my_platform.py
from ..core.base_platform import BaseHttpPlatform, PublishResult, AuthType
from ..core.registry import register_platform

@register_platform("my_platform")
class MyPlatform(BaseHttpPlatform):
    name = "my_platform"
    display_name = "我的平台"
    auth_type = AuthType.COOKIE
    
    async def adapt_content(self, content: dict) -> dict:
        # 内容适配逻辑
        pass
    
    async def publish(self, adapted_content: dict) -> PublishResult:
        # 发布逻辑
        pass
    
    async def search(self, query: str, **kwargs) -> list:
        # 搜索逻辑
        pass
    
    async def get_comments(self, post_id: str, **kwargs) -> list:
        # 获取评论逻辑
        pass
    
    async def reply_comment(self, post_id: str, comment_id: str, body: str, **kwargs) -> dict:
        # 回复评论逻辑
        pass
    
    async def _do_health_check(self) -> bool:
        # 健康检查逻辑
        pass
  1. 平台会自动注册,无需额外配置!

运行测试

# 运行单元测试
pytest tests/

# 运行验收测试
python scripts/verify-completeness.py

# 语法检查
python -m py_compile src/unified_publish_mcp/platforms/*.py

📊 项目统计

开发用时:75 分钟
代码行数:15136 行
平台数量:28 个
功能完整度:100%
Agent 数量:29 个

🤝 贡献

欢迎贡献代码!请查看 CONTRIBUTING.md 了解贡献指南。

贡献者

本项目由 Craft Agent 的 Swarm 协作开发完成。


📄 许可证

本项目采用 AGPL-3.0 许可证。详见 LICENSE 文件。


🔗 相关链接


⭐ Star History

如果这个项目对你有帮助,请给一个 Star!


最后更新:2026-08-06

from github.com/Lesleyshi1015/unified-publish-mcp

Installing Unified Publish

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/Lesleyshi1015/unified-publish-mcp

FAQ

Is Unified Publish MCP free?

Yes, Unified Publish MCP is free — one-click install via Unyly at no cost.

Does Unified Publish need an API key?

No, Unified Publish runs without API keys or environment variables.

Is Unified Publish hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Unified Publish in Claude Desktop, Claude Code or Cursor?

Open Unified Publish on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Unified Publish with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs