Social Media MCP 社交媒体多平台内容发布工具
连接多个社交媒体平台(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
- OpenAI 和/或 Anthropic(用于内容生成)
- Brave Search(用于研究)
安装
- 克隆仓库:
git clone https://github.com/yourusername/social-media-mcp.git
cd social-media-mcp
- 安装依赖项:
npm install
- 创建一个包含你的 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
- 构建项目:
npm run build
- 启动服务器:
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
}
get_trending_topics
从社交媒体平台获取热门话题。
{
"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 许可证。