社交媒体发布器
STDIO跨平台社交媒体内容发布服务器
跨平台社交媒体内容发布服务器
A Model Context Protocol (MCP) server that connects to multiple social media platforms, allowing users to create and publish content across platforms through natural language instructions.
git clone https://github.com/yourusername/social-media-mcp.git cd social-media-mcp
npm install
.env
file with your API keys:# 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
To use this MCP server with Claude or another MCP-compatible assistant, add it to your MCP settings:
{ "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 and post content to social media platforms based on natural language instructions.
{ "instruction": "Post about the latest AI developments in healthcare", "platforms": ["twitter", "mastodon", "linkedin"], "postImmediately": false }
Get trending topics from social media platforms.
{ "platform": "twitter", "category": "technology", "count": 5 }
Research a topic using Brave Search and 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
: Build the projectnpm run dev
: Run in development mode with hot reloadingnpm start
: Start the production servernpm test
: Run testsnpm run lint
: Run lintingnpm run format
: Format codeThe scripts
directory contains utility scripts for the Social Media MCP Server:
scripts/linkedin-oauth.js
: Handles the OAuth 2.0 flow for LinkedIn to obtain an access token
cd scripts && npm install && npm run linkedin-oauth
The documentation
directory contains detailed documentation for each social media platform integration:
This project is licensed under the ISC License.