mc422/tinder-mcp-node
If you are the rightful owner of tinder-mcp-node and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A Model Context Protocol (MCP) server built with TypeScript that provides Tinder profile creation functionality for LLM models.
Tinder MCP Server (TypeScript)
A Model Context Protocol (MCP) server built with TypeScript that provides Tinder profile creation functionality for LLM models.
Features
- MCP Protocol Compliant: Implements the full MCP specification using
@modelcontextprotocol/sdk - TypeScript: Built with TypeScript for type safety and better development experience
- Session Management: Complete user profile session management with automatic cleanup
- Background Cleanup: Automatic session cleanup every hour
- Question Management: Loads questions from JSON file with fallback defaults
- Profile Creation: Complete workflow for collecting user preferences
Installation
- Install dependencies:
npm install
- Build the project:
npm run build
- Run the server:
npm start
Development
For development with auto-reload:
npm run dev
Tool Functions
Profile Management
get_user_questions- Get complete question list for profile creationget_question_by_id- Get specific question by IDstart_user_profile- Start new user profile sessionstore_answer- Store user's answer to a questionget_profile_data- Get current profile data and progresscreate_final_profile- Create final profile from collected answers
Session Management
cleanup_session- Clean up specific sessioncleanup_expired_sessions- Clean up all expired sessionsget_session_stats- Get session statisticsstart_background_cleanup- Start background cleanup taskstop_background_cleanup- Stop background cleanup task
Configuration
Session Settings
- Session Timeout: 1 hour (3600 seconds)
- Max Sessions: 1000 concurrent sessions
- Cleanup Interval: Every hour (3600 seconds)
Questions
Questions are loaded from questions.json file. If the file is missing or invalid, default questions are used.
File Structure
tinder-mcp-node/
├── src/
│ └── index.ts # Main MCP server implementation
├── questions.json # Question definitions
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
Usage
The server communicates via JSON-RPC over stdin/stdout, following the MCP protocol.
Example MCP Client Usage
- Get Questions:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_user_questions",
"arguments": {}
}
}
- Start Profile Session:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "start_user_profile",
"arguments": {
"session_id": "user_123"
}
}
}
- Store Answer:
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "store_answer",
"arguments": {
"session_id": "user_123",
"question_id": "age_preference",
"answer": "26-35"
}
}
}
- Create Final Profile:
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "create_final_profile",
"arguments": {
"session_id": "user_123"
}
}
}
Dependencies
@modelcontextprotocol/sdk- Official MCP SDK for TypeScriptzod- Schema validation librarytypescript- TypeScript compilerts-node- TypeScript execution for development
Error Handling
The server includes comprehensive error handling:
- Missing or invalid
questions.jsonfile falls back to defaults - Session validation and error messages
- Graceful shutdown handling
- Background cleanup error recovery
Security Note
This server generates completely fake data for demonstration purposes. All user data is stored temporarily in memory and cleaned up automatically.