# 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
<table>
<tr>
<td>
<img src="images/profile-pic.png" alt="Valentina" width="140" style="border-radius: 50%;" />
</td>
<td style="padding-left: 20px; vertical-align: top;">
<strong>Valentina Factcheck ๐
</strong> <code>she/her</code><br>
๐
AI with attitude, facts with flavor<br>
๐ซ No BS. No sugarcoating.<br>
โ๏ธ DM a claim โ I snap back with sources
</td>
</tr>
</table>
## โจ 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](https://youtu.be/9XXiM9s8u8Q)**
๐ฏ **[Demo Mode Demo](https://youtu.be/T88oVghXzVw)**
### 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](https://claude.ai/desktop)
- [Instagram DM MCP](https://github.com/gala-labs/instagram-dm-mcp) by Gala Labs
- Instagram account (for real mode)
- Anthropic API key
### Installation
1. **Clone and set up virtual environment**
```bash
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
```
2. **Configure Claude Desktop for Dual MCP Setup**
You need BOTH servers running for full functionality:
First, get your exact paths:
```bash
# 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`:
```bash
open -a TextEdit ~/Library/"Application Support"/Claude/claude_desktop_config.json
```
```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 the `pwd` command above.
3. **Test Both Servers**
```bash
# 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
```
4. **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)
```bash
# 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)
```bash
# 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
```bash
# 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
1. **Instagram MCP**: `list_chats` โ See real conversations
2. **Sassy Bot**: `generate_sassy_response` โ Create viral response with source
3. **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 sources
- **`generate_welcome_message`** - Create welcome messages for new followers
- **`check_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 conversations
- **`send_message`** - Send responses to real Instagram users
- **`get_user_followers`** - Check follower lists
- **`get_thread_details`** - Get full conversation history
### Usage Examples:
```bash
Use generate_sassy_response with:
- content: "Apple cider vinegar burns belly fat instantly"
- username: "wellness_guru_fake"
```
```bash
Use instagram_integration_status to check dual MCP setup
```
```bash
Use list_chats to see real Instagram conversations
```
## ๐ง Configuration
### Simple Setup (Only What You Need)
```bash
# 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:
```bash
# Demo Mode Testing
Use generate_sassy_response with:
- content: "Green tea burns 100 calories per cup"
- username: "tea_fanatic"
```
```bash
# Real Mode Testing
Use list_chats to see real conversations
Use generate_sassy_response for real claims
Use send_message to send responses
```
```bash
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
1. Fork the repo
2. Create feature branch: `git checkout -b feature/more-sass`
3. Add your roasting capabilities
4. Test with: `python src/mcp_server.py`
5. 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](https://github.com/sangreal-007)
- Repository: [sassy-factcheck-bot](https://github.com/sangreal-007/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! ๐ฅ๐๐