Tinder MCP Server
Pricing
Pay per usage
Tinder MCP Server
MCP server for Tinder automation. Interact with Tinder programmatically via Model Context Protocol: browse profiles, send messages, manage matches. Integrate with Claude, ChatGPT, and other AI assistants.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Autoclient AI
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Tinder MCP Tool
A comprehensive Model Context Protocol (MCP) tool for automating Tinder interactions. This tool provides complete functionality for authentication, profile management, swiping, messaging, and settings configuration.
Features
🔐 Authentication
- Phone number login with OTP verification
- Apple ID integration for enhanced security
- Session management with encrypted cookie storage
- Login status checking and logout functionality
👤 Profile Management
- Complete profile setup with photos, bio, and personal information
- Job, education, and location management
- Interests and languages configuration
- Height, zodiac sign, and personality type settings
- Profile information retrieval
💕 Discovery & Swiping
- Manual swiping (like, pass, super like)
- Automated swiping with configurable ratios
- Boost activation for increased visibility
- Profile photo navigation
- Rewind functionality (undo last swipe)
💬 Messaging
- Match retrieval and management
- Text message sending
- Emoji and reaction sending
- Contact sharing (WhatsApp/phone)
- Conversation history retrieval
- Unmatching functionality
⚙️ Settings Management
- Age range preferences
- Distance settings
- Gender preferences
- Privacy settings (hide age/distance)
- Photo and activity filters
- Settings backup and restore
Installation
- Clone the repository:
git clone https://github.com/samihalawa/tinder-mcp.gitcd tinder-mcp
- Install dependencies:
$npm install
- Build the project:
$npm run build
- Set up environment variables (optional):
cp .env.example .env# Edit .env with your preferences
Configuration
Environment Variables
Create a .env file in the root directory:
# Browser settingsHEADLESS=true # Run browser in headless modeCOOKIE_ENCRYPTION_KEY=your-key # Key for encrypting saved cookies# Delays and timeouts (milliseconds)DEFAULT_TIMEOUT=30000 # Default element wait timeoutSTABILITY_WAIT=5000 # Wait time for page stabilitySWIPE_DELAY=3000 # Default delay between swipes# Screenshots and debuggingSAVE_SCREENSHOTS=false # Save screenshots on errorsDEBUG_MODE=false # Enable debug logging
Usage
As an MCP Server
Add to your MCP client configuration:
{"mcpServers": {"tinder": {"command": "node","args": ["path/to/tinder-mcp/dist/index.js"],"env": {"HEADLESS": "true"}}}}
Available Tools
Authentication
tinder_login_phone - Login with phone number
{"phoneNumber": "680821181","countryCode": "34"}
tinder_submit_otp - Submit OTP code
{"otpCode": "123456"}
tinder_login_apple_id - Apple ID authentication
{"email": "user@icloud.com","password": "password","twoFactorCode": "123456"}
Profile Management
tinder_setup_profile - Complete profile setup
{"photos": ["/path/to/photo1.jpg", "/path/to/photo2.jpg"],"bio": "Madrid... ¿Hay alguien interesante? (29 años. 186cm. Emprendedor)","job": "Emprendedor","company": "Shenzhen TV","education": "Master's Degree","school": "Universidad de Hong Kong","location": "Madrid","interests": ["Travel", "Movies", "Family parties"],"languages": ["Spanish", "English", "Chinese"],"height": "186","zodiacSign": "Gemini","relationshipType": "Long-term relationship"}
Discovery & Swiping
tinder_swipe - Manual swipe action
{"action": "like" // "like", "pass", or "superlike"}
tinder_auto_swipe - Automated swiping
{"count": 50,"likeRatio": 0.7,"useSuperLikes": true,"superLikeRatio": 0.1,"delayBetweenSwipes": 3000}
Messaging
tinder_send_message - Send text message
{"matchName": "Aithana","message": "Hola! Qué tal"}
tinder_share_contact - Share contact information
{"matchName": "Aithana","contactInfo": {"phoneNumber": "679794037","countryCode": "34","type": "whatsapp"}}
Settings
tinder_update_settings - Update preferences
{"ageRange": {"min": 25,"max": 35},"maxDistance": 50,"showMe": "women","onlyShowWithPhotos": true,"recentlyActive": true}
Advanced Usage
Automated Workflow Example
// 1. Loginawait tinder_login_phone({phoneNumber: "680821181",countryCode: "34"});// 2. Submit OTP (get from SMS)await tinder_submit_otp({otpCode: "123456"});// 3. Setup profileawait tinder_setup_profile({bio: "Looking for meaningful connections",interests: ["Travel", "Photography", "Cooking"]});// 4. Auto-swipe with strategyawait tinder_auto_swipe({count: 100,likeRatio: 0.6,useSuperLikes: true,superLikeRatio: 0.05,delayBetweenSwipes: 4000});// 5. Check matches and send messagesconst matches = await tinder_get_matches();for (const match of matches.data.matches) {await tinder_send_message({matchName: match.profile.name,message: "Hi! How's your day going?"});}
Smithery Deployment
This tool is compatible with Smithery for easy deployment:
- Create a
smithery.jsonconfiguration:
{"name": "tinder-automation","description": "Comprehensive Tinder automation tool","mcp": {"command": "node","args": ["dist/index.js"],"env": {"HEADLESS": "true"}},"capabilities": ["authentication","profile-management","discovery","messaging","settings"]}
- Deploy to Smithery:
$smithery deploy
Security & Privacy
Data Protection
- All cookies are encrypted using AES encryption
- Session data is stored locally and never transmitted
- No personal data is logged or shared
- Browser automation runs in isolated contexts
Rate Limiting
- Built-in delays between actions to avoid detection
- Configurable timing to mimic human behavior
- Automatic popup and modal handling
- Graceful error handling and recovery
Best Practices
- Use realistic delays between swipes (3-5 seconds)
- Don't exceed 100-200 swipes per session
- Vary your swiping patterns and ratios
- Take breaks between automation sessions
- Monitor for any unusual account activity
Troubleshooting
Common Issues
Login fails with OTP
- Ensure phone number format is correct (no spaces or symbols)
- Check that country code matches your phone number
- Wait for SMS delivery (can take 1-2 minutes)
- Try requesting a new OTP if the first one expires
Profile setup incomplete
- Check that photo file paths are absolute and accessible
- Ensure photos are in supported formats (JPG, PNG)
- Verify all required profile fields are filled
- Some fields may require specific formatting
Swiping stops working
- Check if you've reached daily swipe limits
- Verify you're not in a restricted area
- Clear browser cache and restart session
- Check for Tinder app updates or changes
Messages not sending
- Ensure match name exactly matches profile name
- Check that you haven't been unmatched
- Verify message length is within limits
- Try refreshing the conversation
Debug Mode
Enable debug mode for detailed logging:
$DEBUG_MODE=true npm start
This will provide detailed information about:
- Element selection and interaction
- Network requests and responses
- Browser automation steps
- Error details and stack traces
Screenshots
Enable screenshot capture on errors:
$SAVE_SCREENSHOTS=true npm start
Screenshots will be saved to ./screenshots/ directory.
API Reference
Tool Response Format
All tools return a standardized response:
{success: boolean;message: string;data?: any;error?: {code: string;message: string;recoverable: boolean;};}
Error Codes
LOGIN_FAILED- Authentication errorPROFILE_SETUP_FAILED- Profile update errorSWIPE_FAILED- Swiping action errorSEND_MESSAGE_FAILED- Messaging errorUPDATE_SETTINGS_FAILED- Settings update errorMATCH_NOT_FOUND- Specified match not foundSESSION_EXPIRED- Login session expired
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and add tests
- Commit your changes:
git commit -am 'Add feature' - Push to the branch:
git push origin feature-name - Submit a pull request
Development Setup
# Install dependenciesnpm install# Run in development modenpm run dev# Run testsnpm test# Lint codenpm run lint# Format codenpm run format
License
MIT License - see LICENSE file for details.
Disclaimer
This tool is for educational and automation purposes only. Users are responsible for complying with Tinder's Terms of Service and applicable laws. The authors are not responsible for any account restrictions, bans, or other consequences resulting from the use of this tool.
Use responsibly and respect others on the platform.
Support
- 📧 Email: support@tinder-mcp.com
- 🐛 Issues: GitHub Issues
- 📖 Documentation: Wiki
- 💬 Discussions: GitHub Discussions
Made with ❤️ for the automation community