S

Social Media MCP 社交媒体多平台内容发布工具

@tayler-id/social-media-mcp
1 Stars 72 次浏览 tayler-id 更新于 2026-08-23

连接多个社交媒体平台(Twitter/X、Mastodon、LinkedIn),允许用户通过自然语言指令在各个平台创建和发布内容。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "social-media-mcp": {
      "args": [
        "path/to/social-media-mcp/build/index.js"
      ],
      "autoApprove": [],
      "command": "node",
      "disabled": false,
      "env": {
        "ANTHROPIC_API_KEY": "your_anthropic_key",
        "BRAVE_API_KEY": "your_brave_key",
        "LINKEDIN_ACCESS_TOKEN": "your_access_token",
        "LINKEDIN_CLIENT_ID": "your_client_id",
        "LINKEDIN_CLIENT_SECRET": "your_client_secret",
        "MASTODON_ACCESS_TOKEN": "your_access_token",
        "MASTODON_CLIENT_KEY": "your_client_key",
        "MASTODON_CLIENT_SECRET": "your_client_secret",
        "OPENAI_API_KEY": "your_openai_key",
        "TWITTER_ACCESS_SECRET": "your_access_secret",
        "TWITTER_ACCESS_TOKEN": "your_access_token",
        "TWITTER_API_KEY": "your_api_key",
        "TWITTER_API_SECRET": "your_api_secret",
        "TWITTER_BEARER_TOKEN": "your_bearer_token",
        "TWITTER_CLIENT_SECRET": "your_client_secret",
        "TWITTER_OAUTH_CLIENT": "your_oauth_client"
      }
    }
  }
}

该服务需要配置环境变量:ANTHROPIC_API_KEY、BRAVE_API_KEY、CACHE_ENABLED、LINKEDIN_ACCESS_TOKEN、LINKEDIN_CLIENT_ID、LINKEDIN_CLIENT_SECRET、LOG_LEVEL、MASTODON_ACCESS_TOKEN、MASTODON_CLIENT_KEY、MASTODON_CLIENT_SECRET、OPENAI_API_KEY、RATE_LIMIT_ENABLED、TWITTER_ACCESS_SECRET、TWITTER_ACCESS_TOKEN、TWITTER_API_KEY、TWITTER_API_SECRET、TWITTER_BEARER_TOKEN、TWITTER_CLIENT_SECRET、TWITTER_OAUTH_CLIENT

服务介绍

社交媒体 MCP 服务器

这是一个模型上下文协议(MCP)服务器,它可以连接到多个社交媒体平台,允许用户通过自然语言指令在不同平台上创建和发布内容。

功能

  • 自然语言界面:使用简单的指令为多个平台创建帖子
  • 研究能力:自动研究标签、趋势、事实和新闻
  • 多平台支持:以特定于平台的格式发布到 Twitter/X、Mastodon 和 LinkedIn
  • 内容生成:使用多种 AI 模型生成引人入胜的内容
  • 速率限制管理:通过队列和备用方案优雅地处理 API 速率限制
  • 分析:跟踪帖子的表现并优化内容策略

开始使用

先决条件

  • Node.js (v18+)
  • npm 或 yarn
  • 以下服务的 API 密钥:
    • Twitter/X
    • Mastodon
    • LinkedIn
    • OpenAI 和/或 Anthropic(用于内容生成)
    • Brave Search(用于研究)

安装

  1. 克隆仓库:
git clone https://github.com/yourusername/social-media-mcp.git
cd social-media-mcp
  1. 安装依赖项:
npm install
  1. 创建一个包含你的 API 密钥的 .env 文件:
# Twitter API Credentials
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET=your_api_secret
TWITTER_BEARER_TOKEN=your_bearer_token
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_SECRET=your_access_secret
TWITTER_OAUTH_CLIENT=your_oauth_client
TWITTER_CLIENT_SECRET=your_client_secret

# Mastodon API Credentials
MASTODON_CLIENT_SECRET=your_client_secret
MASTODON_CLIENT_KEY=your_client_key
MASTODON_ACCESS_TOKEN=your_access_token

# LinkedIn API Credentials
LINKEDIN_CLIENT_ID=your_client_id
LINKEDIN_CLIENT_SECRET=your_client_secret
LINKEDIN_ACCESS_TOKEN=your_access_token

# AI API Keys
ANTHROPIC_API_KEY=your_anthropic_key
OPENAI_API_KEY=your_openai_key
BRAVE_API_KEY=your_brave_key

# Application Settings
LOG_LEVEL=info
CACHE_ENABLED=true
RATE_LIMIT_ENABLED=true
  1. 构建项目:
npm run build
  1. 启动服务器:
npm start

MCP 集成

要将此 MCP 服务器与 Claude 或其他兼容 MCP 的助手一起使用,请将其添加到你的 MCP 设置中:

{
  "mcpServers": {
    "social-media-mcp": {
      "command": "node",
      "args": ["path/to/social-media-mcp/build/index.js"],
      "env": {
        "TWITTER_API_KEY": "your_api_key",
        "TWITTER_API_SECRET": "your_api_secret",
        "TWITTER_BEARER_TOKEN": "your_bearer_token",
        "TWITTER_ACCESS_TOKEN": "your_access_token",
        "TWITTER_ACCESS_SECRET": "your_access_secret",
        "TWITTER_OAUTH_CLIENT": "your_oauth_client",
        "TWITTER_CLIENT_SECRET": "your_client_secret",
        "MASTODON_CLIENT_SECRET": "your_client_secret",
        "MASTODON_CLIENT_KEY": "your_client_key",
        "MASTODON_ACCESS_TOKEN": "your_access_token",
        "LINKEDIN_CLIENT_ID": "your_client_id",
        "LINKEDIN_CLIENT_SECRET": "your_client_secret",
        "LINKEDIN_ACCESS_TOKEN": "your_access_token",
        "ANTHROPIC_API_KEY": "your_anthropic_key",
        "OPENAI_API_KEY": "your_openai_key",
        "BRAVE_API_KEY": "your_brave_key"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

可用工具

create_post

根据自然语言指令在社交媒体平台上创建和发布内容。

{
  "instruction": "Post about the latest AI developments in healthcare",
  "platforms": ["twitter", "mastodon", "linkedin"],
  "postImmediately": false
}

从社交媒体平台获取热门话题。

{
  "platform": "twitter",
  "category": "technology",
  "count": 5
}

research_topic

使用 Brave Search 和 Perplexity 研究某个主题。

{
  "topic": "artificial intelligence ethics",
  "includeHashtags": true,
  "includeFacts": true,
  "includeTrends": true,
  "includeNews": true
}

开发

项目结构

social-media-mcp/
├── src/
│   ├── index.ts                 # Entry point
│   ├── config/                  # Configuration
│   ├── types/                   # TypeScript type definitions
│   ├── core/                    # Core orchestration logic
│   ├── nlp/                     # Natural language processing
│   ├── research/                # Research engine
│   │   ├── brave/               # Brave Search integration
│   │   ├── perplexity/          # Perplexity integration
│   │   └── aggregator/          # Research result aggregation
│   ├── content/                 # Content generation
│   │   ├── strategies/          # AI model strategies
│   │   ├── formatter/           # Platform-specific formatting
│   │   └── templates/           # Content templates
│   ├── platforms/               # Social media platform integrations
│   │   ├── twitter/             # Twitter API integration
│   │   └── mastodon/            # Mastodon API integration
│   ├── analytics/               # Analytics engine
│   ├── rate-limit/              # Rate limit management
│   └── utils/                   # Utility functions
├── memory-bank/                 # Project documentation
├── build/                       # Compiled JavaScript
├── .env                         # Environment variables
├── package.json                 # Dependencies and scripts
└── tsconfig.json                # TypeScript configuration

脚本

  • npm run build:构建项目
  • npm run dev:以开发模式运行,并启用热重载
  • npm start:启动生产服务器
  • npm test:运行测试
  • npm run lint:运行代码检查
  • npm run format:格式化代码

实用脚本

scripts 目录包含 Social Media MCP Server 的实用脚本:

  • scripts/linkedin-oauth.js:处理 LinkedIn 的 OAuth 2.0 流程以获取访问令牌
    • 使用方法:cd scripts && npm install && npm run linkedin-oauth
    • 详情请参阅 scripts/README.md

文档

documentation 目录包含了每个社交媒体平台集成的详细文档:

许可证

该项目采用 ISC 许可证。

致谢