返回市场
社交媒体MCP

社交媒体MCP

作者:tayler-id10 星标更新:2025-03-07

项目介绍

社交媒体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凭证
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凭证
MASTODON_CLIENT_SECRET=your_client_secret
MASTODON_CLIENT_KEY=your_client_key
MASTODON_ACCESS_TOKEN=your_access_token

# LinkedIn API凭证
LINKEDIN_CLIENT_ID=your_client_id
LINKEDIN_CLIENT_SECRET=your_client_secret
LINKEDIN_ACCESS_TOKEN=your_access_token

# AI API密钥
ANTHROPIC_API_KEY=your_anthropic_key
OPENAI_API_KEY=your_openai_key
BRAVE_API_KEY=your_brave_key

# 应用设置
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": "yourn_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": "发布关于医疗保健领域最新的人工智能发展的内容",
  "platforms": ["twitter", "mastodon", "linkedin"],
  "postImmediately": false
}

get_trending_topics

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

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

research_topic

使用Brave Search和Perplexity研究主题。

{
  "topic": "人工智能伦理",
  "includeHashtags": true,
  "includeFacts": true,
  "includeTrends": true,
  "includeNews": true
}

开发

项目结构

social-media-mcp/
├── src/
│   ├── index.ts                 # 入口点
│   ├── config/                  # 配置
│   ├── types/                   # TypeScript类型定义
│   ├── core/                    # 核心编排逻辑
│   ├── nlp/                     # 自然语言处理
│   ├── research/                # 研究引擎
│   │   ├── brave/               # Brave Search集成
│   │   ├── perplexity/          # Perplexity集成
│   │   └── aggregator/          # 研究结果聚合
│   ├── content/                 # 内容生成
│   │   ├── strategies/          # AI模型策略
│   │   ├── formatter/           # 特定于平台的格式化
│   │   └── templates/           # 内容模板
│   ├── platforms/               # 社交媒体平台集成
│   │   ├── twitter/             # Twitter API集成
│   │   └── mastodon/            # Mastodon API集成
│   ├── analytics/               # 分析引擎
│   ├── rate-limit/              # 速率限制管理
│   └── utils/                   # 工具函数
├── memory-bank/                 # 项目文档
├── build/                       # 编译的JavaScript
├── .env                         # 环境变量
├── package.json                 # 依赖项和脚本
└── tsconfig.json                # TypeScript配置

脚本

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

实用脚本

scripts目录包含社交媒体MCP服务器的实用脚本:

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

文档

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

许可证

该项目根据ISC许可证授权。

致谢