Social CLI MCP

Social CLI MCP

MCP server for posting to Twitter/X, Reddit, LinkedIn, Instagram, and email via CLI or AI agents, with Telegram bot control and security confirmations.

Category
Visit Server

README

Social CLI MCP 📱

License: MIT

CLI tool for posting to social media platforms with MCP server support for AI agents

Post to Twitter/X, Reddit, LinkedIn, and Instagram from your terminal or via AI agents.


Features

  • 🐦 Twitter/X - Posts, threads, media uploads, analytics
  • 🤖 Reddit - Text posts, link posts, cross-posting
  • 💼 LinkedIn - Updates with links and images
  • 📸 Instagram - Photo/video posts, carousels (Creator/Business accounts)
  • 📧 Email - Gmail SMTP for outreach campaigns
  • 🤖 MCP Server - AI agent integration
  • 🎨 Interactive mode - Guided posting experience
  • 📱 Telegram Bot - Remote control + Claude AI chat
  • 🔐 Security Gate - All sensitive actions require Telegram confirmation

Quick Start

1. Install

git clone https://github.com/Alemusica/social-cli-mcp.git
cd social-cli-mcp
npm install

2. Configure

cp .env.example .env
# Edit .env with your API credentials

3. Test connections

npm run cli test

4. Post!

# Single platform
npm run cli post "Hello world!" --twitter

# Multiple platforms
npm run cli post "Check this out!" --twitter --linkedin

# Reddit (requires subreddit)
npm run cli post "My post" --reddit ClaudeAI --title "My Title"

# Instagram (requires image)
npm run cli post "My caption" --instagram "https://example.com/image.jpg"

# Interactive mode
npm run cli interactive

CLI Commands

# Post to platforms
social post <text> [options]
  -t, --twitter              Post to Twitter/X
  -r, --reddit <subreddit>   Post to Reddit
  -l, --linkedin             Post to LinkedIn
  -i, --instagram <image>    Post to Instagram
  -a, --all                  Post to all configured
  --title <title>            Reddit post title
  --link <url>               Include a link
  --hashtags <tags>          Comma-separated hashtags
  --media <urls>             Comma-separated media URLs

# Post Twitter thread
social thread <tweet1> <tweet2> ...

# Test connections
social test [--all|--twitter|--reddit|--linkedin|--instagram]

# Show status
social status

# Interactive mode
social interactive
social i

API Credentials Setup

Twitter/X

  1. Go to developer.twitter.com
  2. Create a project and app
  3. Generate API keys and access tokens
  4. Add to .env:
    TWITTER_API_KEY=xxx
    TWITTER_API_SECRET=xxx
    TWITTER_ACCESS_TOKEN=xxx
    TWITTER_ACCESS_SECRET=xxx
    

Reddit

  1. Go to reddit.com/prefs/apps
  2. Create a "script" type application
  3. Add to .env:
    REDDIT_CLIENT_ID=xxx
    REDDIT_CLIENT_SECRET=xxx
    REDDIT_USERNAME=xxx
    REDDIT_PASSWORD=xxx
    

LinkedIn

  1. Go to linkedin.com/developers
  2. Create an app
  3. Request "Share on LinkedIn" permission
  4. Get OAuth access token
  5. Add to .env:
    LINKEDIN_ACCESS_TOKEN=xxx
    

Instagram

Requires Business or Creator account

  1. Go to developers.facebook.com
  2. Create an app
  3. Add Instagram Graph API
  4. Link Facebook Page to Instagram account
  5. Get access token
  6. Add to .env:
    INSTAGRAM_ACCESS_TOKEN=xxx
    INSTAGRAM_BUSINESS_ACCOUNT_ID=xxx
    

MCP Server

Use with Claude, Cursor, or any MCP-compatible AI agent.

Configuration

Add to your MCP config:

{
  "mcpServers": {
    "social": {
      "command": "node",
      "args": ["/path/to/social-cli-mcp/dist/mcp-server.js"],
      "env": {
        "TWITTER_API_KEY": "xxx",
        "TWITTER_API_SECRET": "xxx",
        "TWITTER_ACCESS_TOKEN": "xxx",
        "TWITTER_ACCESS_SECRET": "xxx"
      }
    }
  }
}

Available Tools

Tool Description
post_twitter Post a tweet
post_twitter_thread Post a thread
post_reddit Post to subreddit
post_linkedin Post to LinkedIn
post_instagram Post to Instagram
post_all Post to all platforms
test_connections Test all connections
get_status Get config status

Telegram Bot 📱

Control your social media from Telegram with security confirmations.

Setup

  1. Create bot with @BotFather
  2. Get your user ID from @userinfobot
  3. Add to .env:
    TELEGRAM_BOT_TOKEN=your_bot_token
    TELEGRAM_USER_ID=your_user_id
    ANTHROPIC_API_KEY=sk-ant-xxx  # Optional, for Claude AI
    

Run

npm run bot

Commands

Command Description
/tweet <text> Post tweet (with confirmation)
/email to|subj|body Send email (with confirmation)
/pending View pending actions
/twitter View recent tweets + metrics
/status Outreach status
/venues List contacted venues
Free text Chat with Claude AI

Security

All sensitive actions (tweets, emails) require confirmation via inline buttons. Actions expire after 5 minutes.

See docs/TELEGRAM_BOT_SETUP.md for detailed setup.


Security Gate 🔐

When using Claude Code or other CLI tools, sensitive actions are routed through Telegram for confirmation:

# Test email with confirmation
npx tsx src/security-gate.ts test-email your@email.com

# Test tweet with confirmation
npx tsx src/security-gate.ts test-tweet "Hello world"

Development

# Run CLI in dev mode
npm run cli <command>

# Run MCP server
npm run mcp

# Run Telegram bot
npm run bot

# Build
npm run build

License

MIT


Built with ❤️ by @FluturArt

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured