这是一个模型上下文协议(MCP)服务器,连接到多个社交媒体平台,允许用户通过自然语言指令在多个平台上创建和发布内容。
git clone https://github.com/yourusername/social-media-mcp.git
cd social-media-mcp
npm install
.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
npm run build
npm start
要将此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": []
}
}
}
基于自然语言指令创建并发布内容到社交媒体平台。
{
"instruction": "发布关于医疗保健领域最新的人工智能发展的内容",
"platforms": ["twitter", "mastodon", "linkedin"],
"postImmediately": false
}
从社交媒体平台获取热门话题。
{
"platform": "twitter",
"category": "technology",
"count": 5
}
使用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-oauthdocumentation目录包含每个社交媒体平台集成的详细文档:
该项目根据ISC许可证授权。