Tinder MCP服务器(TypeScript)
使用TypeScript构建的模型上下文协议(MCP)服务器,为LLM模型提供Tinder配置文件创建功能。
特性
- 符合MCP协议:使用以下工具实现完整的MCP规范
@modelcontextprotocol/sdk - TypeScript:使用TypeScript构建,实现类型安全和更好的开发体验
- 会话管理:通过自动清理完成用户配置文件会话管理
- 背景清理:每小时自动清理会话
- 问题管理:使用回退默认值从JSON文件加载问题
- 配置文件创建:收集用户首选项的完整工作流程
安装
- 安装依赖项:
npm install- 构建项目:
npm run build- 运行服务器:
npm start发展
对于自动重新加载的开发:
npm run dev工具功能
配置文件管理
get_user_questions-获取完整的问题列表以创建个人资料get_question_by_id-按ID获取具体问题start_user_profile-启动新的用户配置文件会话store_answer-存储用户对问题的回答get_profile_data-获取当前配置文件数据和进度create_final_profile-根据收集到的答案创建最终配置文件
会话管理
cleanup_session-清理特定会议cleanup_expired_sessions-清理所有过期的会话get_session_stats-获取会话统计信息start_background_cleanup-启动后台清理任务stop_background_cleanup-停止后台清理任务
配置
会话设置
- 会话超时:1小时(3600秒)
- 最大会话:1000个并发会话
- 清理间隔:每小时(3600秒)
问题
问题从以下位置加载 questions.json 文件。如果文件丢失或无效,则使用默认问题。
文件结构
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用法
服务器通过JSON-RPC在stdin/stdout上按照MCP协议进行通信。
MCP客户端使用示例
- 获取问题:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_user_questions",
"arguments": {}
}
}- 启动配置文件会话:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "start_user_profile",
"arguments": {
"session_id": "user_123"
}
}
}- 商店答案:
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "store_answer",
"arguments": {
"session_id": "user_123",
"question_id": "age_preference",
"answer": "26-35"
}
}
}- 创建最终配置文件:
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "create_final_profile",
"arguments": {
"session_id": "user_123"
}
}
}依赖项
@modelcontextprotocol/sdk-TypeScript官方MCP SDKzod-模式验证库typescript-TypeScript编译器ts-node-TypeScript开发执行
错误处理
服务器包括全面的错误处理:
- 缺失或无效
questions.json文件恢复为默认值 - 会话验证和错误消息
- 优雅的停机处理
- 后台清理错误恢复
安全说明
此服务器为演示目的生成完全虚假的数据。所有用户数据都临时存储在内存中,并自动清理。
