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.
- π¦ 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
git clone https://github.com/Alemusica/social-cli-mcp.git
cd social-cli-mcp
npm installcp .env.example .env
# Edit .env with your API credentialsnpm run cli test# 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# 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- Go to developer.twitter.com
- Create a project and app
- Generate API keys and access tokens
- Add to
.env:TWITTER_API_KEY=xxx TWITTER_API_SECRET=xxx TWITTER_ACCESS_TOKEN=xxx TWITTER_ACCESS_SECRET=xxx
- Go to reddit.com/prefs/apps
- Create a "script" type application
- Add to
.env:REDDIT_CLIENT_ID=xxx REDDIT_CLIENT_SECRET=xxx REDDIT_USERNAME=xxx REDDIT_PASSWORD=xxx
- Go to linkedin.com/developers
- Create an app
- Request "Share on LinkedIn" permission
- Get OAuth access token
- Add to
.env:LINKEDIN_ACCESS_TOKEN=xxx
Requires Business or Creator account
- Go to developers.facebook.com
- Create an app
- Add Instagram Graph API
- Link Facebook Page to Instagram account
- Get access token
- Add to
.env:INSTAGRAM_ACCESS_TOKEN=xxx INSTAGRAM_BUSINESS_ACCOUNT_ID=xxx
Use with Claude, Cursor, or any MCP-compatible AI agent.
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"
}
}
}
}| 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 |
Control your social media from Telegram with security confirmations.
- Create bot with @BotFather
- Get your user ID from @userinfobot
- 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
npm run bot| 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 |
All sensitive actions (tweets, emails) require confirmation via inline buttons. Actions expire after 5 minutes.
See docs/TELEGRAM_BOT_SETUP.md for detailed setup.
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"# Run CLI in dev mode
npm run cli <command>
# Run MCP server
npm run mcp
# Run Telegram bot
npm run bot
# Build
npm run buildMIT
Built with β€οΈ by @FluturArt