mcpField
S
Social Media MCP Server

Social Media MCP Server

Local
github.com/tayler-idMedia & Design23Updated 86w ago

About Social Media MCP Server

Social Media MCP Server is an MCP server that connects to Twitter/X, Mastodon and LinkedIn. It lets users create and publish platform-specific posts from natural language instructions and research topics before posting.

Key features

  1. 01Natural language post creation for multiple platforms
  2. 02Platform-specific content formatting
  3. 03Topic research using Brave Search and Perplexity
  4. 04Trending topic retrieval from platforms
  5. 05Queuing and fallbacks for API rate limits

Use cases

  1. 01Publishing one instruction as posts on several platforms
  2. 02Collecting hashtags, facts and news for a topic
  3. 03Reviewing trending topics to plan content

MCP support

This project is an MCP server that exposes tools such as create_post, get_trending_topics and research_topic to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Social Media MCP Server

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.

Features

  • Natural Language Interface: Create posts for multiple platforms with simple instructions
  • Research Capabilities: Automatically research hashtags, trends, facts, and news
  • Multi-platform Support: Post to Twitter/X, Mastodon, and LinkedIn with platform-specific formatting
  • Content Generation: Generate engaging content using multiple AI models
  • Rate Limit Management: Handle API rate limits gracefully with queuing and fallbacks
  • Analytics: Track post performance and optimize content strategy

Getting Started

Prerequisites
  • Node.js (v18+)
  • npm or yarn
  • API keys for:
    • Twitter/X
    • Mastodon
    • LinkedIn
    • OpenAI and/or Anthropic (for content generation)
    • Brave Search (for research)
Installation
  1. Clone the repository:
git clone https://github.com/yourusername/social-media-mcp.git
cd social-media-mcp
  1. Install dependencies:
npm install
  1. Create a .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
  1. Build the project:
npm run build
  1. Start the server:
npm start
MCP Integration

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": []
    }
  }
}

Available Tools

create_post

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

Get trending topics from social media platforms.

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

Research a topic using Brave Search and Perplexity.

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

Development

Project Structure
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
Scripts
  • npm run build: Build the project
  • npm run dev: Run in development mode with hot reloading
  • npm start: Start the production server
  • npm test: Run tests
  • npm run lint: Run linting
  • npm run format: Format code
Utility Scripts

The 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
    • Usage: cd scripts && npm install && npm run linkedin-oauth
    • See scripts/README.md for more details
Documentation

The documentation directory contains detailed documentation for each social media platform integration:

License

This project is licensed under the ISC License.

Acknowledgements

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.