@mikoto_zero/minigame-open-mcp
v1.18.0
Published
TapTap Open API MCP Server - Documentation and Management APIs for TapTap Minigame and H5 Games (Leaderboard, and more features coming)
Maintainers
Readme
TapTap Open API MCP 服务器
基于 Model Context Protocol (MCP) 的 TapTap 小游戏和 H5 游戏服务器 - 提供排行榜文档和管理 API,支持 OAuth 2.0 零配置认证。
🔐 零配置 OAuth | 📚 完整文档 | 🎯 19 Tools + 11 Resources | 🌍 小游戏 & H5 | 📦 单文件 Bundle
✨ 核心特性
- 🔐 零配置认证 - OAuth 2.0 Device Code Flow,扫码即用
- 📖 完整 API 文档 - 6 个排行榜 API + 详细代码示例
- ⚙️ 服务端管理 - 创建/管理排行榜,自动处理 ID
- 🎮 H5 游戏支持 - 上传、发布、状态查询
- 🚀 三种传输模式 - stdio(本地)、SSE(远程/实时)、HTTP(兼容)
- 🔌 多客户端并发 - 独立会话管理,无限并发
- 📦 单文件 Bundle - 零依赖,包体积减少 96%(567 KB)
- 🤖 智能引导 - AI Agent 自动验证前置条件,主动询问用户选择
NPM: @mikoto_zero/minigame-open-mcp
🚀 快速开始
🐣 完全不懂技术? 快速开始(零基础版) - 3 分钟搞定 Cursor 配置,复制粘贴就能用。
📖 想了解更多配置? 详细配置指南 - Cursor、Claude Code、VS Code、Claude Desktop 等多种工具的配置方法。
安装
# 全局安装
npm install -g @mikoto_zero/minigame-open-mcp
# 或使用 npx 直接运行(无需安装)
npx @mikoto_zero/minigame-open-mcp配置(MCP 客户端)
Claude Code / VSCode / Cursor
在项目中创建 .mcp.json:
{
"mcpServers": {
"taptap-minigame": {
"command": "npx",
"args": ["-y", "@mikoto_zero/minigame-open-mcp"],
"env": {
"TAPTAP_MCP_WORKSPACE_ROOT": "${workspaceFolder}"
}
}
}
}重要说明:
- 零配置 OAuth:首次使用会提示扫码授权,token 自动保存!
- 路径处理:设置
TAPTAP_MCP_WORKSPACE_ROOT环境变量可以正确解析相对路径(推荐)- 如果不设置,相对路径会基于用户 HOME 目录(可能不符合预期)
- 建议使用绝对路径,或配置
TAPTAP_MCP_WORKSPACE_ROOT
OpenHands(推荐 SSE 模式)
远程部署:
# 启动 SSE 服务器
TAPTAP_MCP_TRANSPORT=sse TAPTAP_MCP_PORT=3000 \
npx @mikoto_zero/minigame-open-mcpOpenHands 配置:
{
"mcpServers": {
"taptap-minigame": {
"url": "http://your-server:3000",
"transport": "sse"
}
}
}✅ SSE 模式支持实时进度推送!
Docker 部署
# 快速启动(同时运行 Production 和 RND 环境)
cd docker/npm
docker-compose up -d
# 健康检查
curl http://localhost:5003/health # Production
curl http://localhost:5002/health # RND详见: Docker 部署文档
📖 功能列表
20 个 Tools
流程指引 (1)
get_leaderboard_integration_guide- 排行榜完整接入工作流指引
信息查询 (2)
get_current_app_info- 获取当前应用信息check_environment- 检查环境配置
认证 (3)
start_oauth_authorization- 开始 OAuth 授权(获取二维码)complete_oauth_authorization- 完成 OAuth 授权clear_auth_data- 清除认证数据和缓存
应用管理 (3)
list_developers_and_apps- 列出所有应用select_app- 选择当前应用create_developer- 创建新开发者
排行榜管理 (5)
create_leaderboard- 创建排行榜list_leaderboards- 列出排行榜publish_leaderboard- 发布排行榜get_user_leaderboard_scores- 获取用户分数get_app_status- 获取应用审核状态
H5 游戏管理 (3)
prepare_h5_upload- 收集 H5 游戏信息(上传前)upload_h5_game- 上传 H5 游戏包get_debug_feedbacks- 拉取用户调试反馈并下载日志/截图
振动 API 文档 (1)
get_vibrate_integration_guide- 振动 API 完整文档和接入指引
11 个 Resources
完整的排行榜 API 文档:
docs://leaderboard/overview- 完整概览docs://leaderboard/api/get-manager- 初始化docs://leaderboard/api/submit-scores- 提交分数docs://leaderboard/api/open- 显示 UIdocs://leaderboard/api/load-scores- 加载数据docs://leaderboard/api/load-player-score- 玩家排名docs://leaderboard/api/load-centered-scores- 周围玩家
完整的振动 API 文档:
docs://vibrate/overview- 完整概览docs://vibrate/api/vibrate-short- 短振动 APIdocs://vibrate/api/vibrate-long- 长振动 APIdocs://vibrate/patterns- 使用模式和最佳实践
🎯 使用示例
接入排行榜
用户: "我想在游戏中接入排行榜"
AI 调用: get_integration_guide
→ 返回完整工作流(创建排行榜 → 客户端代码 → 测试)
AI 调用: create_leaderboard
→ 创建服务端排行榜
AI 读取: docs://leaderboard/api/submit-scores
→ 获取客户端代码示例OAuth 授权(首次)
AI 调用: create_leaderboard
→ 🔐 需要授权,显示二维码链接
用户: 扫码后告知 "已授权"
AI 调用: complete_oauth_authorization
→ ✅ 授权完成,token 已保存
AI 调用: create_leaderboard
→ ✅ 排行榜创建成功🛠️ 开发
环境要求
- Node.js 18.14.1+
- npm 或 pnpm
本地开发
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建
npm run build
# 运行测试
npm test环境变量
OAuth 认证(推荐):
- 无需配置!自动保存 token 到
~/.config/taptap-minigame/
手动配置(可选):
TAPTAP_MCP_MAC_TOKEN- MAC Token(JSON 格式)TAPTAP_MCP_CLIENT_ID- 客户端 ID(非必需,不配置会导致部分工具无法使用)TAPTAP_MCP_CLIENT_SECRET- 签名密钥(非必需,不配置会导致部分工具无法使用)
其他:
TAPTAP_MCP_ENV- 环境:production(默认)或rndTAPTAP_MCP_TRANSPORT- 传输模式:stdio(默认)、sse、httpTAPTAP_MCP_PORT- 端口(默认 3000)TAPTAP_MCP_VERBOSE- 详细日志:true或falseTAPTAP_MCP_CACHE_DIR- 缓存目录(默认/tmp/taptap-mcp/cache)TAPTAP_MCP_TEMP_DIR- 临时文件目录(默认/tmp/taptap-mcp/temp)
日志配置:
TAPTAP_MCP_LOG_ROOT- 日志根目录(默认/tmp/taptap-mcp/logs)TAPTAP_MCP_LOG_FILE- 启用文件日志:true或false(默认false)TAPTAP_MCP_LOG_LEVEL- 日志级别(RFC 5424):debug、info、notice、warning、error、critical、alert、emergency(默认info)TAPTAP_MCP_LOG_MAX_DAYS- 日志保留天数(默认 7)
详细说明请参考 docs/LOG_SYSTEM.md
添加新功能
# 使用脚手架
./scripts/create-feature.sh
# 按提示输入功能信息
# 自动生成模块结构到 src/features/yourFeature/🤖 AI Agent 智能引导
本服务器经过精心设计,通过工具描述引导 AI Agent 提供更智能的用户体验:
自动前置条件检查
AI Agent 会在执行排行榜操作前,自动检查是否已选择应用:
用户: "创建一个排行榜"
AI: 让我先检查当前是否已选择应用...
[调用 get_current_app_info]
发现尚未选择应用,我来帮您列出可用的应用:
[调用 list_developers_and_apps]
请问您想为哪个应用创建排行榜?
1. 游戏 A (Developer: 开发者A, App ID: 12345)
2. 游戏 B (Developer: 开发者B, App ID: 67890)主动询问用户选择
当有多个选项时,AI Agent 会主动展示列表并询问用户:
用户: "查看排行榜"
AI: 您有以下几个排行榜:
1. 每日高分榜 (ID: lb_001)
2. 周排行榜 (ID: lb_002)
3. 全服总榜 (ID: lb_003)
请问您想查看哪一个?工作流程自动优化
AI Agent 会自动引导用户完成必要的步骤,避免操作失败:
graph LR
A[用户请求] --> B{检查应用选择}
B -->|未选择| C[列出应用]
C --> D[询问用户]
D --> E[选择应用]
E --> F[执行操作]
B -->|已选择| F受益场景:
- 创建/查询排行榜
- 发布排行榜
- 上传 H5 游戏
- 所有需要应用上下文的操作
技术实现:
通过在工具描述中使用 **PREREQUISITE:**、**CRITICAL:**、**IMPORTANT:** 等关键词,以及明确的步骤指导,让 AI Agent 理解何时需要检查前置条件、何时应该询问用户。
详见:CLAUDE.md - AI Agent 工具使用指导
📚 文档
用户文档
- docs/USER_GUIDE.md - 🐣 新手配置指南(Cursor/VS Code/Claude Code)
- CONTRIBUTING.md - 贡献指南
- CHANGELOG.md - 版本变更历史
技术文档
- docs/ARCHITECTURE.md - 架构文档
- docs/DEPLOYMENT.md - 部署指南(本地、Docker、开发者测试)
- docs/PROXY.md - MCP Proxy 开发指南(面向 TapCode 等平台)
- docs/CI_CD.md - CI/CD 和自动化发布流程
- docs/PATH_RESOLUTION.md - 路径解析系统
🔄 CI/CD
基于 Conventional Commits 的完全自动化发布:
# 创建功能分支
git checkout -b feat/awesome-feature
# 提交代码
git commit -m "feat: add awesome feature"
# 创建 PR 并合并
gh pr create && gh pr merge
# 自动发布到 npm(版本:1.4.13 → 1.5.0)发布流程:
- PR 合并 → 触发 Actions
- 分析 commits 确定版本号
- 发布到 npm
- 自动创建版本 PR 并合并
- 创建 GitHub Release
详见: docs/CI_CD.md
🤝 贡献
欢迎贡献!请遵循:
- Fork 仓库并创建 feature 分支
- 使用 Conventional Commits 规范
- 创建 PR,等待 CI 检查
- Review 通过后合并
📄 许可证
MIT
