dating-mcp

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
  1. Use the configuration in client-configs/claude-config.json
  2. Configure your Claude.ai instance to connect to the MCP server
  3. Update the server URL to point to your deployed MCP server
OpenAI Playground
  1. Use the configuration in client-configs/openai-config.js
  2. Set up MCP client connection using the provided JavaScript code
  3. Update the server URL to point to your deployed MCP server

🌐 Deployment

Deploy to Render (Recommended)

Dating Web App Deployment
  1. Create a new Web Service on Render
  2. Connect your GitHub repository
  3. Set build command: pip install -r requirements.txt
  4. Set start command: uvicorn app.main:app --host 0.0.0.0 --port $PORT
  5. Add environment variables:
    • DATABASE_URL: PostgreSQL database URL
    • GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET: OAuth credentials
    • GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET: OAuth credentials
    • SECRET_KEY: Secure random key
MCP Server Deployment
  1. Create a new Web Service on Render
  2. Connect your GitHub repository (mcp-server directory)
  3. Use the provided render.yaml configuration
  4. Set environment variables:
    • DATING_APP_URL: URL of your deployed dating app
    • MCP_SERVER_HOST: 0.0.0.0
    • MCP_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
  1. Go to Google Cloud Console
  2. Create a new project or select existing
  3. Enable Google+ API
  4. Create OAuth 2.0 credentials
  5. Add authorized redirect URI: https://your-app.com/auth/google/callback
GitHub OAuth
  1. Go to GitHub Settings > Developer settings > OAuth Apps
  2. Create a new OAuth App
  3. 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

  1. User A (Claude.ai): Creates profile, browses profiles
  2. User B (OpenAI): Creates profile, likes User A's profile
  3. User A: Likes User B's profile back (creates match)
  4. 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.md for detailed technical documentation
  • API documentation available at /docs when running the dating app
  • MCP protocol documentation: MCP Specification

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🆘 Support

For issues and questions:

  1. Check the troubleshooting section in CLAUDE.md
  2. Review the GitHub issues
  3. 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