VibeDoge MCP服务完整文档
目录
1. 项目概述
1.1 项目定位
VibeDoge MCP (Model Context Protocol) 服务是一个创新的用户身份管理和上下文协议服务,专为VibeDoge交易所Demo版设计。该服务采用轻量级架构,提供免注册的流畅用户体验,同时集成Vibe Coding抽奖系统,为用户提供丰富的互动功能。
1.2 核心特性
免注册体验: 自动生成用户ID,无需复杂注册流程
会话持久化: 智能会话管理,支持跨设备同步
轻量级设计: 最小化资源占用,快速响应
抽奖系统集成: 完整的Vibe Coding抽奖功能
本地优先: 支持本地存储,离线可用
跨平台兼容: 支持Web、移动端等多平台
1.3 技术栈
前端技术:
React 18+ with TypeScript
Vite (构建工具)
Tailwind CSS (样式框架)
LocalStorage (本地存储)
Fetch API (HTTP请求)
后端技术:
Node.js >= 18.0.0
Express (Web框架)
TypeScript >= 5.0.0
UUID (唯一标识符生成)
JWT (会话令牌)
Redis (缓存,可选)
PostgreSQL (数据持久化,可选)
开发工具:
pnpm (包管理器)
ESLint (代码质量)
Jest (单元测试)
Docker (容器化)
PM2 (进程管理)
2. 产品需求文档
2.1 产品概述
项目名称: VibeDoge MCP服务
项目类型: 用户身份管理和上下文协议服务
目标用户: VibeDoge交易所用户、Vibe Coding社区成员
核心价值: 提供无缝的用户体验和丰富的社区互动功能
2.2 核心功能模块
2.2.1 用户身份管理
自动用户生成: 无需注册,自动创建用户身份
会话管理: 智能会话维护和恢复
身份验证: 基于令牌的安全验证
用户资料: 支持个人信息和偏好设置
2.2.2 MCP协议支持
上下文管理: 维护用户交互上下文
工具集成: 支持多种MCP工具
资源管理: 统一资源访问接口
提示管理: 智能提示和建议系统
2.2.3 Vibe Coding抽奖系统
用户资料管理: 6类用户资料上传和管理
智能抽奖算法: 基于用户活跃度的权重计算
多样化抽奖: 普通抽奖、技能挑战、创意比赛
实时统计: 参与数据和中奖概率统计
防作弊机制: 数据验证和质量评分
2.3 用户角色定义
2.3.1 普通用户
自动获得用户身份
参与抽奖活动
管理个人资料
查看活动历史
2.3.2 活跃用户
完善个人资料获得更高权重
参与技能挑战
贡献社区内容
享受优先权益
2.3.3 开发者用户
集成MCP协议
使用开发工具
访问API接口
参与技术社区
2.4 核心业务流程
2.4.1 用户首次访问流程
自动识别: 检测新用户访问
生成身份: 自动创建用户ID和会话
本地存储: 保存用户信息到本地
引导体验: 展示核心功能和抽奖活动
2.4.2 抽奖参与流程
资料完善: 用户上传个人资料
权重计算: 系统计算用户权重
参与抽奖: 选择抽奖类型并参与
结果查询: 查看抽奖结果和历史
2.4.3 会话恢复流程
本地检测: 检查本地存储的会话信息
会话验证: 验证会话有效性
数据同步: 同步最新用户数据
状态恢复: 恢复用户操作状态
3. 技术架构设计
3.1 整体架构
3.2 服务分层架构
层级 | 组件 | 职责 |
接入层 | MCP客户端SDK | 前端集成、API调用、本地存储管理 |
服务层 | MCP服务API | 用户管理、会话控制、抽奖逻辑 |
业务层 | 核心服务 | 身份验证、权重计算、数据处理 |
数据层 | 存储服务 | 用户数据持久化、会话缓存 |
3.3 核心组件设计
3.3.1 MCP客户端SDK
3.3.2 数据模型定义
3.4 安全架构
3.4.1 身份验证
JWT令牌: 基于JSON Web Token的会话管理
令牌刷新: 自动令牌刷新机制
权限控制: 基于角色的访问控制
3.4.2 数据安全
数据加密: 敏感数据加密存储
传输安全: HTTPS加密传输
输入验证: 严格的输入数据验证
3.4.3 防作弊机制
重复检测: 防止重复参与抽奖
质量评分: 用户资料质量评估
行为分析: 异常行为检测
4. API接口规范
4.1 基础信息
Base URL:
http://localhost:3001/api/mcp/v1
协议: HTTP (本地开发环境)
数据格式: JSON
字符编码: UTF-8
API版本: v1.0.0
本地调试端口: 3001
4.2 通用响应格式
4.3 错误响应格式
4.4 用户管理接口
4.4.1 生成用户ID
接口信息
URL:
POST /users/generate
描述: 为新用户生成唯一标识符和会话令牌
认证: 无需认证
请求参数
响应示例
4.4.2 获取用户信息
接口信息
URL:
GET /users/{userId}
描述: 获取指定用户的详细信息
认证: 需要会话令牌
请求头
响应示例
4.5 会话管理接口
4.5.1 验证会话
接口信息
URL:
POST /sessions/validate
描述: 验证用户会话的有效性
认证: 需要会话令牌
请求参数
响应示例
4.6 抽奖系统接口
4.6.1 上传用户抽奖资料
接口信息
URL:
POST /lottery/user-profile
描述: 上传用户Vibe Coding抽奖相关信息
认证: 需要会话令牌
请求参数
响应示例
4.6.2 参与抽奖
接口信息
URL:
POST /lottery/participate
描述: 用户参与指定Vibe Coding抽奖活动
认证: 需要会话令牌
请求参数
响应示例
4.6.3 查询抽奖结果
接口信息
URL:
GET /lottery/result/{lotteryId}
描述: 查询指定Vibe Coding抽奖活动的结果
认证: 需要会话令牌
响应示例
5. 开发指南
5.1 环境要求
Node.js: >= 18.0.0
pnpm: >= 8.0.0 (推荐) 或 npm >= 9.0.0
TypeScript: >= 5.0.0
操作系统: macOS, Linux, Windows
5.2 项目初始化
5.2.1 克隆项目
5.2.2 安装依赖
5.2.3 环境配置
环境变量说明:
5.3 本地开发
5.3.1 启动开发服务器
5.3.2 构建项目
5.3.3 启动生产服务器
5.4 项目结构
5.5 核心开发指南
5.5.1 用户管理服务
自动用户生成
会话管理
5.5.2 抽奖权重计算算法
权重计算核心逻辑
5.5.3 防作弊机制
数据验证
5.5.4 测试指南
单元测试
API测试
6. Vibe Coding抽奖系统集成
6.1 系统概述
Vibe Coding抽奖系统是VibeDoge MCP服务的核心功能模块,旨在为社区用户提供公平、透明、有趣的抽奖体验。系统采用智能权重算法,根据用户的活跃度、贡献度和资料完整度来计算中奖概率,鼓励用户积极参与社区建设。
6.2 核心功能
6.2.1 多维度用户画像
基础信息: 昵称、头像、个人简介、地理位置等
技能信息: 编程语言、技术水平、项目经验、专业认证等
社交信息: GitHub、作品集、LinkedIn、Twitter等社交媒体链接
互动信息: 许愿内容、分享理由、推荐码、功能建议等
创意信息: 抽奖口号、幸运数字、个人标签、座右铭等
贡献信息: 平台贡献度、活跃等级、声誉分数、社区角色等
学习信息: 当前学习内容、完成课程、阅读清单、学习目标等
投资信息: 风险偏好、投资经验、偏好代币、交易策略等
6.2.2 智能权重算法
多维度评分: 8个维度综合评估用户价值
动态权重: 根据用户行为实时调整权重
质量加成: 高质量内容获得额外权重加成
防作弊机制: 检测和防止恶意刷权重行为
6.2.3 多样化抽奖类型
普通抽奖: 基于权重的随机抽奖
技能挑战: 需要完成特定技能任务
创意比赛: 提交创意作品参与评选
社区贡献: 奖励活跃的社区贡献者
6.3 数据库设计
6.3.1 用户资料表 (user_profiles)
6.3.2 抽奖活动表 (lottery_activities)
6.3.3 参与记录表 (lottery_participations)
6.3.4 抽奖结果表 (lottery_results)
6.4 权重计算算法
6.4.1 算法概述
权重计算采用多维度评分模型,每个维度都有相应的权重系数,最终通过加权求和得到用户的总权重。算法设计原则:
公平性: 确保所有用户都有基础中奖机会
激励性: 鼓励用户完善资料和积极参与
防作弊: 检测和防止恶意刷权重行为
可扩展: 支持动态调整权重规则
6.4.2 权重配置
6.4.3 核心算法实现
7. 部署说明
7.1 本地开发部署
7.1.1 环境准备
7.1.2 项目启动
7.1.3 验证部署
7.2 Docker部署
7.2.1 Dockerfile
7.2.2 docker-compose.yml
7.2.3 部署命令
7.3 生产环境部署
7.3.1 服务器配置
7.3.2 Nginx配置
7.3.3 PM2进程管理
7.4 监控和维护
7.4.1 日志管理
7.4.2 性能监控
7.4.3 备份策略
7.5 性能优化
7.5.1 缓存策略
7.5.2 数据库优化
7.5.3 API限流
8. MCP工具集成
8.1 安装和使用
8.1.1 环境要求
Node.js 18+
npm 或 pnpm
TypeScript 支持
安装依赖
构建项目
启动服务器
生产环境
开发环境
环境变量配置
创建 .env
文件或设置以下环境变量:
MCP 客户端集成
配置示例
在 MCP 客户端中添加服务器配置:
工具使用示例
API 接口说明
认证方式
所有 API 请求都需要 Bearer Token 认证:
响应格式
所有 API 响应都遵循统一格式:
错误处理
错误响应格式:
开发指南
项目结构
添加新工具
在
src/tools/
目录下创建新的工具文件实现
MCPTool
接口在
src/tools/index.ts
中导出新工具在
src/index.ts
中注册新工具
代码规范
使用 TypeScript 严格模式
遵循 ESLint 配置
所有公共方法需要 JSDoc 注释
错误处理要完整和一致
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request!
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables interaction with VibeDoge lottery system through comprehensive tools for user profile management, lottery participation, result checking, and activity statistics. Supports secure authentication and real-time lottery operations through natural language.