Social Media

A Model Context Protocol (MCP) server that connects to multiple social media platforms
  • typescript

14

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "tayler-id-social-media-mcp": {
      "command": "node",
      "args": [
        "path/to/social-media-mcp/build/index.js"
      ],
      "env": {
        "BRAVE_API_KEY": "your_brave_key",
        "OPENAI_API_KEY": "your_openai_key",
        "TWITTER_API_KEY": "your_api_key",
        "ANTHROPIC_API_KEY": "your_anthropic_key",
        "LINKEDIN_CLIENT_ID": "your_client_id",
        "TWITTER_API_SECRET": "your_api_secret",
        "MASTODON_CLIENT_KEY": "your_client_key",
        "TWITTER_ACCESS_TOKEN": "your_access_token",
        "TWITTER_BEARER_TOKEN": "your_bearer_token",
        "TWITTER_OAUTH_CLIENT": "your_oauth_client",
        "LINKEDIN_ACCESS_TOKEN": "your_access_token",
        "MASTODON_ACCESS_TOKEN": "your_access_token",
        "TWITTER_ACCESS_SECRET": "your_access_secret",
        "TWITTER_CLIENT_SECRET": "your_client_secret",
        "LINKEDIN_CLIENT_SECRET": "your_client_secret",
        "MASTODON_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

You can post to multiple social platforms from a single instruction using the Social Media MCP Server. It interprets your natural language requests, crafts platform-specific posts, researches trends, and handles rate limits while tracking performance to optimize future posts.

How to use

You interact with the MCP server through an MCP client. Give it a clear instruction such as posting a topic across platforms, and specify which platforms you want to target (for example Twitter/X, Mastodon, and LinkedIn). The server will generate platform-appropriate content, research ideas or hashtags when requested, and publish or queue the posts based on your preferences. You can also ask it to analyze post performance and adjust future content strategy.

How to install

Prerequisites you need before starting:

  • Node.js (v18 or newer)

  • npm or yarn

  • API keys for Twitter/X, Mastodon, LinkedIn, and AI services (OpenAI and/or Anthropic) as well as Brave Search for research

# 1) Clone the project
git clone https://github.com/yourusername/social-media-mcp.git
cd social-media-mcp

# 2) Install dependencies
npm install

# 3) Create a .env file with your API keys (placeholders shown; replace with real values)
# 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
  • Build the project and start the server
npm run build
npm start

MCP integration and runtime config

This MCP server includes a configured runtime entry that runs locally via Node.js. You can reference the runtime command in your MCP client configuration to connect to this server.

Example runtime configuration (local stdio connection) is shown below. Copy this into your MCP client settings to run the server locally.

{
  "mcpServers": {
    "social_media": {
      "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.

get_trending_topics

Fetch trending topics from a specified platform to inform post ideas.

research_topic

Research a topic across Brave Search and related sources to include hashtags, facts, trends, and news in posts.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational