Data Favor MCP Server
README.md
# Data Favor MCP Server
This is a custom, read-only Model Context Protocol (MCP) server for Favor OS. It allows AI assistants (like Claude) to securely query the MongoDB database and Firebase Firestore for customer and order data without any risk of data modification.
## 🔒 Security & Architecture
This MCP server is designed to be hosted on the **Munchie Server**.
By running it on the Munchie server, we achieve maximum security:
1. **No Local Credentials**: The co-founder connecting to this server does not need database credentials on their laptop.
2. **Static IPs**: We do not need to whitelist dynamic home IP addresses in MongoDB Atlas. The Munchie server's IP is already whitelisted.
3. **Encrypted Tunnel**: The connection from the local AI client to the Munchie server happens entirely over Tailscale and SSH.
## 🛠️ Tools Available
### MongoDB (Prisma)
- `mongodb_get_user_by_phone`: Fetch a user and their addresses by phone number.
- `mongodb_get_recent_orders`: Fetch the most recent orders across the platform.
- `mongodb_get_user_orders`: Fetch past orders for a specific user ID.
### Firestore (Firebase Admin)
- `firestore_get_customer`: Fetch a customer document by their Firebase UID.
- `firestore_search_customers`: Search for customers by email or phone number.
## 🚀 Deployment (Munchie Server)
1. SSH into the Munchie server (via Tailscale).
2. Pull the latest code and navigate to this directory.
3. Install dependencies and build the server:
```bash
npm install
npm run build
```
4. Provide the required environment variables in a `.env` file (see Configuration below).
## ⚙️ Configuration (Environment Variables)
Create a `.env` file in this directory on the Munchie server with the following:
```env
# MongoDB Connection String (must be read-only or the same one the backend uses)
DATABASE_URL="mongodb+srv://..."
# Path to the Firebase Service Account JSON file for Firestore access
GOOGLE_APPLICATION_CREDENTIALS="/absolute/path/to/firebase-service-account.json"
```
## 💻 Client Setup (For Co-Founder)
To use this MCP server, the co-founder must:
1. Be connected to the Tailscale network.
2. Have SSH access to the Munchie server configured.
Then, add the following configuration to `claude_desktop_config.json` (or Cursor's MCP settings):
```json
{
"mcpServers": {
"data-favor": {
"command": "ssh",
"args": [
"user@munchie-server",
"node",
"/absolute/path/to/PF/data-favor-mcp/build/index.js"
]
}
}
}
```
*(Replace `user@munchie-server` with the correct SSH user and Tailscale hostname/IP, and update the absolute path to the build directory).*
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing