Sassy Fact Check
A sassy, fact-checking Instagram DM bot that roasts bad takes with citations.
Sassy Fact Check ๐ โ The Unhinged Fact-Check Bot
Where bad takes go to die, with a side of sass.
Sassy Fact Check is an Instagram DM MCP server that roasts health myths and viral misinformation with spicy, unhinged facts. Think MythBusters meets Mean Girls with a PubMed subscription! ๐ฅ๐
๐ Meet Valentina
โจ Features
- Sassy Fact-Checking: Roasts misinformation with citations and attitude (25-35 words max!)
- Smart Content Filtering: Auto-adjusts tone for sensitive topics
- Multi-Response Modes: Sassy, soft, neutral, and blocked responses
- Dual MCP Architecture: Instagram MCP + Sassy Bot MCP working together
- Analytics Tracking: Logs interactions for daily sass statistics
- Safety First: Blocks conspiracy theories, softens for grief/trauma
๐ฌ Demo Video
I built a sassy fact-checking AI that integrates with Instagram DMs. Watch it analyze health myths and generate perfect responses with citations and attitude!
๐ฅ Real Mode Demo
๐ฏ Demo Mode Demo
Demo Highlights:
- ๐ฅ Health Myth Busting โ Apple cider vinegar claims demolished
- โก Safety Alerts โ Dangerous advice shut down instantly
- ๐ Smart Filtering โ Auto-softens for sensitive topics
- โ System Status โ All components working perfectly
๐ Quick Start
Prerequisites
- Python 3.11+
- Claude Desktop App
- Instagram DM MCP by Gala Labs
- Instagram account (for real mode)
- Anthropic API key
Installation
-
Clone and set up virtual environment
git clone https://github.com/sangreal-007/sassy-factcheck-bot.git cd sassy-factcheck-bot # Create and activate virtual environment (required on macOS) python3 -m venv venv source venv/bin/activate # You should see (venv) in your terminal prompt # Interactive credential setup python setup_env.py # Install dependencies pip install -r requirements.txt -
Configure Claude Desktop for Dual MCP Setup
You need BOTH servers running for full functionality:
First, get your exact paths:
# Navigate to your project and get exact paths cd sassy-factcheck-bot pwd # Shows your project directoryAdd to
~/Library/Application Support/Claude/claude_desktop_config.json:open -a TextEdit ~/Library/"Application Support"/Claude/claude_desktop_config.json{ "mcpServers": { "instagram_dms": { "command": "/Users/yourusername/.local/bin/uv", "args": [ "run", "--directory", "/Users/yourusername/instagram_dm_mcp", "python", "src/mcp_server.py" ] }, "sassy_factcheck": { "command": "/Users/yourusername/sassy-factcheck-bot/venv/bin/python", "args": ["/Users/yourusername/sassy-factcheck-bot/src/mcp_server.py"], "cwd": "/Users/yourusername/sassy-factcheck-bot" } } }โ ๏ธ Important: Replace
/Users/yourusername/with your actual path from thepwdcommand above. -
Test Both Servers
# Terminal 1: Start Instagram MCP (Gala Labs) cd ../instagram_dm_mcp uv run python src/mcp_server.py # Terminal 2: Start Sassy Bot cd sassy-factcheck-bot source venv/bin/activate python src/mcp_server.py -
Restart Claude Desktop and start the complete dual MCP workflow!
๐๏ธ Demo vs Real Mode
Your bot supports both demo and real Instagram integration:
Demo Mode (Default - Perfect for Testing)
# In your .env file
INSTAGRAM_REAL_MODE=false
# Features:
# โ
Practice with fake health claims
# โ
Test sassy response generation
# โ
Safe for development
# โ
No Instagram account needed
Real Mode (Live Instagram Integration)
# In your .env file
INSTAGRAM_REAL_MODE=true
# Features:
# โ
Real Instagram API via Gala Labs MCP
# โ
Actual DM conversations
# โ
Live fact-checking responses
# โ
Production-ready deployment
Switching Modes
# Edit your .env file
nano .env
# Change this line:
INSTAGRAM_REAL_MODE=false # Demo mode
# OR
INSTAGRAM_REAL_MODE=true # Real mode
# Restart your sassy bot server
python src/mcp_server.py
โ ๏ธ Security Notice
๐ก๏ธ For Real Mode: Use a dedicated test Instagram account, never your main account!
Instagram actively detects automation and may restrict accounts. Create a throwaway account specifically for testing to protect your personal Instagram.
๐ฌ How It Works
Complete Dual MCP Workflow
- Instagram MCP:
list_chatsโ See real conversations - Sassy Bot:
generate_sassy_responseโ Create viral response with source - Instagram MCP:
send_messageโ Send to real Instagram user
Auto-Tone Detection
- Health myths โ Sassy roasting ๐ฅ
- Sensitive topics โ Gentle approach ๐
- Conspiracy theories โ Blocked ๐ซ
- Spam โ Maximum dismissal ๐๏ธ
๐ญ Response Modes (Auto-Selected)
| Mode | Trigger | Style | Example |
|---|---|---|---|
| Sassy | Health myths, general claims | Witty, emoji-heavy, 25-35 words | "๐ If that worked, we'd all be supermodels!" |
| Soft | Cancer, grief, mental health | Gentle, understanding | "I understand this is difficult. Please consult..." |
| Neutral | Professional contexts | Educational, minimal emojis | "Research shows this claim is inaccurate." |
| Blocked | Conspiracy theories | Polite refusal | "I don't engage with that content." |
๐ ๏ธ Available MCP Tools
Sassy Bot MCP Tools (Response Generation):
generate_sassy_response- Create viral fact-check responses with sourcesgenerate_welcome_message- Create welcome messages for new followerscheck_instagram_dms- Show practice claims (demo mode) or guide to Instagram MCP (real mode)instagram_integration_status- Show dual MCP integration status
Instagram MCP Tools (Messaging - via Gala Labs):
list_chats- See real Instagram conversationssend_message- Send responses to real Instagram usersget_user_followers- Check follower listsget_thread_details- Get full conversation history
Usage Examples:
Use generate_sassy_response with:
- content: "Apple cider vinegar burns belly fat instantly"
- username: "wellness_guru_fake"
Use instagram_integration_status to check dual MCP setup
Use list_chats to see real Instagram conversations
๐ง Configuration
Simple Setup (Only What You Need)
# Required
INSTAGRAM_USERNAME=your_username
INSTAGRAM_PASSWORD=your_password
ANTHROPIC_API_KEY=your_claude_key
# Mode Selection
INSTAGRAM_REAL_MODE=true # true for real Instagram, false for demo
# Optional
ENABLE_SAFE_MODE=true # Auto-soften for sensitive topics
LOG_INTERACTIONS=true # Track daily stats
Customize Filters
Edit src/filters.py to adjust:
- Sensitive topic keywords (auto-triggers soft mode)
- Health panic keywords (extra sassy)
- Blocked content (conspiracy theories)
- Response length limits
๐งช Testing Examples
Try these in Claude Desktop:
# Demo Mode Testing
Use generate_sassy_response with:
- content: "Green tea burns 100 calories per cup"
- username: "tea_fanatic"
# Real Mode Testing
Use list_chats to see real conversations
Use generate_sassy_response for real claims
Use send_message to send responses
Use instagram_integration_status to check setup
๐ฏ Example Responses
Health Myth (Sassy Mode):
Input: "Apple cider vinegar burns belly fat instantly"
Output: "๐ If vinegar burned fat instantly, we'd all be supermodels! Reality: 2-4 lbs over 12 weeks ๐ Source: Mayo Clinic"
Sensitive Topic (Auto-Soft Mode):
Input: "My friend died of cancer because she didn't try natural healing"
Output: "I'm sorry for your loss. Cancer treatment is complex. For evidence-based information, please consult oncology professionals. Source: American Cancer Society"
Conspiracy Theory (Blocked):
Input: "Chemtrails are poisoning us all"
Output: "I don't engage with that type of content. Let's keep it factual! ๐"
๐ Hackathon Submission
Built for the Instagram DM MCP Hackathon by Gala Labs!
Key Innovation: Dual MCP architecture with automatic tone adjustment based on content sensitivity while maintaining maximum sass for health misinformation.
๐ ๏ธ Technical Architecture
- Dual MCP Setup: Instagram MCP (Gala Labs) + Sassy Bot MCP working together
- Instagram Operations: Real Instagram API via Gala Labs Instagram DM MCP
- Response Generation: Sassy Bot MCP with Claude API integration
- Content Filtering: Smart categorization with tone recommendation
- Safety Layer: Multi-level filtering for sensitive content
- Mode Switching: Demo/Real mode for development and production
โ ๏ธ Important Notes
- Dual MCP Required: Both Instagram MCP and Sassy Bot MCP must be running
- Virtual Environment Required: macOS users must use virtual environments due to system Python restrictions
- Demo Mode: Perfect for testing without Instagram account - uses practice claims
- Real Mode: Connects to actual Instagram via Gala Labs MCP for live conversations
- Response Length: Optimized for 25-35 word responses perfect for social media
๐ค Contributing
- Fork the repo
- Create feature branch:
git checkout -b feature/more-sass - Add your roasting capabilities
- Test with:
python src/mcp_server.py - Submit PR with maximum sass level ๐
๐ License
MIT License - Go forth and fact-check responsibly!
๐ Contact
Built with ๐ and citations by sangreal-007
- GitHub: @sangreal-007
- Repository: sassy-factcheck-bot
"In a world full of misinformation, be the citation." โ Sassy Fact Check Bot โจ
๐ Hackathon Demo
Ready to roast some bad takes? Clone this repo, follow the dual MCP setup, and start serving facts with attitude through Claude Desktop! ๐ฅ๐๐
Related Servers
Gemini Email Subject Generator MCP
Generates engaging email subjects and detailed thinking processes using Google's Gemini AI model.
MCP Intercom Server
Provides access to Intercom conversations and chats. Requires an Intercom API key.
BlueSky
Access the BlueSky social network data via its official API.
Human-in-the-Loop Slack MCP Server
Allows AI assistants to request information and receive responses from humans via Slack.
NATS
An MCP server for integrating with the NATS messaging system.
MyMCPSpace
Access and interact with MyMCPSpace posts, replies, likes, and feeds.
WhatsApp MCP
Send and receive messages using the WhatsApp API.
MCP Email Service
A service for managing multiple email accounts from various providers like 163, Gmail, QQ, and Outlook.
MCP LinkedIn
Interact with LinkedIn using an unofficial API, requiring email and password for authentication.
MCP Mail
Perform actions with your GMail account using the GMail API.