Infinirate/dating-mcp
3.1
If you are the rightful owner of dating-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Model Context Protocol (MCP) server facilitates communication between different AI platforms, enabling seamless interaction and data exchange.
Tools
11
Resources
0
Prompts
0
Dating MCP System
A cross-platform dating application system that enables users on Claude.ai Web UI and OpenAI Playground to interact with each other through a shared remote MCP (Model Context Protocol) server.
🏗️ System Architecture
┌─────────────────┐ ┌─────────────────┐
│ Claude.ai │ │ OpenAI │
│ Web UI │ │ Playground │
│ (User A) │ │ (User B) │
└─────────┬───────┘ └─────┬───────────┘
│ │
│ MCP Protocol │ MCP Protocol
│ │
└─────────┬────────┘
│
▼
┌─────────────────┐
│ Remote MCP │
│ Server │
│ (on Render) │
└─────────┬───────┘
│
│ HTTP API calls
│
▼
┌─────────────────┐
│ Dating Web │
│ App │
│ (with database) │
└─────────────────┘
🚀 Quick Start
Prerequisites
- Python 3.11+
- Node.js (for OpenAI Playground integration)
- PostgreSQL (for production) or SQLite (for development)
- Google/GitHub OAuth credentials
1. Dating Web App Setup
cd dating-app
pip install -r requirements.txt
# Copy environment file and configure
cp .env.example .env
# Edit .env with your OAuth credentials and database URL
# Run the app
uvicorn app.main:app --reload --port 8000
2. MCP Server Setup
cd mcp-server
pip install -r requirements.txt
# Set environment variables
export DATING_APP_URL=http://localhost:8000
export MCP_SERVER_HOST=0.0.0.0
export MCP_SERVER_PORT=8001
# Run the MCP server
python dating_mcp_server.py
3. Client Configuration
Claude.ai Web UI
- Use the configuration in
client-configs/claude-config.json - Configure your Claude.ai instance to connect to the MCP server
- Update the server URL to point to your deployed MCP server
OpenAI Playground
- Use the configuration in
client-configs/openai-config.js - Set up MCP client connection using the provided JavaScript code
- Update the server URL to point to your deployed MCP server
🌐 Deployment
Deploy to Render (Recommended)
Dating Web App Deployment
- Create a new Web Service on Render
- Connect your GitHub repository
- Set build command:
pip install -r requirements.txt - Set start command:
uvicorn app.main:app --host 0.0.0.0 --port $PORT - Add environment variables:
DATABASE_URL: PostgreSQL database URLGOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET: OAuth credentialsGITHUB_CLIENT_ID,GITHUB_CLIENT_SECRET: OAuth credentialsSECRET_KEY: Secure random key
MCP Server Deployment
- Create a new Web Service on Render
- Connect your GitHub repository (mcp-server directory)
- Use the provided
render.yamlconfiguration - Set environment variables:
DATING_APP_URL: URL of your deployed dating appMCP_SERVER_HOST: 0.0.0.0MCP_SERVER_PORT: $PORT
Alternative Deployment Options
- Google Cloud Run
- Railway
- Heroku
- DigitalOcean App Platform
📱 Features
Dating Web App
- ✅ OAuth authentication (Google, GitHub)
- ✅ User profiles with photos and interests
- ✅ Matching algorithm based on preferences
- ✅ Real-time messaging system
- ✅ Privacy controls and blocking
- ✅ User reporting system
MCP Server Tools
- ✅
create_profile- Create dating profile - ✅
update_profile- Update profile information - ✅
browse_profiles- Browse available profiles - ✅
like_profile- Like someone's profile - ✅
pass_profile- Pass on a profile - ✅
get_matches- Get mutual matches - ✅
send_message- Send message to match - ✅
get_conversations- Get message history - ✅
get_messages- Get messages from conversation - ✅
block_user- Block inappropriate user - ✅
report_user- Report user for violations
🔧 Configuration
Environment Variables
Dating App
DATABASE_URL=postgresql://user:pass@host:port/db
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
SECRET_KEY=your-secure-secret-key
MCP Server
DATING_APP_URL=https://your-dating-app.onrender.com
MCP_SERVER_HOST=0.0.0.0
MCP_SERVER_PORT=8001
OAuth Setup
Google OAuth
- Go to Google Cloud Console
- Create a new project or select existing
- Enable Google+ API
- Create OAuth 2.0 credentials
- Add authorized redirect URI:
https://your-app.com/auth/google/callback
GitHub OAuth
- Go to GitHub Settings > Developer settings > OAuth Apps
- Create a new OAuth App
- Set Authorization callback URL:
https://your-app.com/auth/github/callback
🧪 Testing
Test Dating App
cd dating-app
# Test API endpoints
curl http://localhost:8000/health
curl http://localhost:8000/api/profiles/browse
Test MCP Server
cd mcp-server
# Test MCP server connection
curl -X POST http://localhost:8001/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
Cross-Platform Test Flow
- User A (Claude.ai): Creates profile, browses profiles
- User B (OpenAI): Creates profile, likes User A's profile
- User A: Likes User B's profile back (creates match)
- Both users: Exchange messages through their respective AI platforms
🔒 Security & Privacy
- OAuth 2.0 authentication for secure login
- Input validation and sanitization
- Rate limiting on API endpoints
- HTTPS encryption for all communications
- User blocking and reporting features
- Privacy controls for profile visibility
📚 Documentation
- See
CLAUDE.mdfor detailed technical documentation - API documentation available at
/docswhen running the dating app - MCP protocol documentation: MCP Specification
🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
For issues and questions:
- Check the troubleshooting section in
CLAUDE.md - Review the GitHub issues
- Create a new issue with detailed information
🚨 Important Notes
- This is a proof-of-concept implementation
- Always prioritize user safety and privacy
- Test thoroughly before production deployment
- Keep OAuth credentials secure
- Monitor for inappropriate usage
Built with ❤️ for the AI community