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 directory
Add 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 thepwd
command 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
WhatsApp Web MCP
Connects AI models to WhatsApp Web using the Model Context Protocol (MCP) to automate and enhance interactions.
MCP Notify Server
Sends desktop notifications with sound when agent tasks are completed.
LinkedIn
A server for interacting with LinkedIn, including authentication and posting capabilities.
AgentRPC
Connect to any function, any language, across network boundaries using AgentRPC.
AskMeMCP
Enables AI assistants to request human input through a web interface, facilitating human-in-the-loop interactions.
Slack MCP Server
A Slack integration server that allows natural language interaction with the Slack API within the Cursor IDE.
MCP Server for Intercom
Access and analyze customer support data from Intercom.
Feishu/Lark OpenAPI MCP
Connects AI agents to the Feishu/Lark platform via its OpenAPI to automate tasks like document processing, conversation management, and calendar scheduling.
Bluesky
integrates with Bluesky API to query and search feeds and posts.
Telegram MCP Server
Interact with the Telegram messaging service to send and receive messages.