Skip to main content
Glama

Social Media MCP Server

by tayler-id

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 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

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Connects to multiple social media platforms (Twitter/X, Mastodon, LinkedIn), allowing users to create and publish content across platforms through natural language instructions.

  1. Features
    1. Getting Started
      1. Prerequisites
      2. Installation
      3. MCP Integration
    2. Available Tools
      1. create_post
      2. get_trending_topics
      3. research_topic
    3. Development
      1. Project Structure
      2. Scripts
      3. Utility Scripts
      4. Documentation
    4. License
      1. Acknowledgements

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          Server for X (Twitter) integration that provides tools for reading your timeline and engaging with tweets. Designed for use with Claude desktop.
          Last updated -
          3
          8
          9
          JavaScript
          MIT License
        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol (MCP) server for managing social media posts, currently supporting X (formerly Twitter).
          Last updated -
          3
          7
          JavaScript
          MIT License
        • -
          security
          A
          license
          -
          quality
          Enables interaction with Twitter through a Model Context Protocol, allowing large language models to post tweets, search for tweets, and reply to tweets.
          Last updated -
          25
          0
          10
          TypeScript
          MIT License
          • Apple
        • A
          security
          A
          license
          A
          quality
          An MCP server that allows Claude to create, manage and publish X/Twitter posts directly through the chat interface.
          Last updated -
          5
          35
          Python
          MIT License
          • Apple

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/tayler-id/social-media-mcp'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server