TapTap Open API MCP Server
OfficialThe TapTap Open API MCP Server enables developers to manage and operate TapTap mini-games and H5 games across the following areas:
🔐 Authentication & Environment
OAuth 2.0 Device Code Flow (start, complete, clear auth data)
Check environment config and switch between production and RND
📱 App & Developer Management
List, select, create, and update apps/games and developer accounts
Upload images (icons, banners, screenshots) and check app review/publication status
🏆 Leaderboard Management
Get integration guides; create, list, publish, and query leaderboards with customizable score types, sort orders, and reset periods
📊 Data Center (DC) Insights
Store, review, and community overview metrics
Store snapshots, forum browsing, review listing, liking reviews, and posting official replies
🎮 H5 Game Publishing
Prepare and upload H5 game packages; retrieve user debug feedback (logs and screenshots)
🔗 Share API
Get integration guides; create, list, and query share templates (subject to audit)
👥 Multiplayer
Integration guides, full code templates, API event tables, protocol definitions, extended APIs, sync strategy guides, diagnostics, and code validation tools
💾 Cloud Save
Full integration guide covering file system operations, cloud archive CRUD, and error codes
📢 Ads Integration
Check SDK activation status; get step-by-step integration code for rewarded video, interstitial, and banner ads with actual ad space IDs
📳 Vibration API
Integration guide for short vibration, long vibration, and usage patterns
📚 Documentation Resources
11 built-in resource documents covering leaderboard and vibration APIs
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TapTap Open API MCP Servergenerate a 7-day ops brief for the current game"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TapTap Open API MCP 服务器
基于 Model Context Protocol (MCP) 的 TapTap 小游戏和 H5 游戏服务器,提供排行榜、分享、多人联机、云存档,以及当前游戏 DC 数据查询、统计概览与评价操作能力,并支持 OAuth 2.0 零配置认证。
🔐 零配置 OAuth | 📚 完整文档 | 🎯 丰富 Tools & Resources | 🌍 小游戏 & H5 | 📦 单文件 Bundle
✨ 核心特性
🔐 零配置认证 - OAuth 2.0 Device Code Flow,扫码即用
📖 完整 API 文档 - 6 个排行榜 API + 详细代码示例
⚙️ 服务端管理 - 创建/管理排行榜,自动处理 ID
🎮 H5 游戏支持 - 上传、发布、状态查询
📺 广告接入闭环 - 仅用于 TapTap 小游戏/H5,自动查询广告状态和广告位 ID,不与 Maker MCP 混用
🧭 当前游戏 DC 能力 - 商店/评价/社区统计概览、商店快照、论坛内容、评价列表、评价点赞、官方回复
🦞 OpenClaw Plugin - 提供一个原生 OpenClaw plugin 子包,内部复用 TapTap MCP 运行时并暴露 raw JSON 工具 + bundled skill
🚀 三种传输模式 - stdio(本地)、SSE(远程/实时)、HTTP(兼容)
🔌 多客户端并发 - 独立会话管理,无限并发
📦 单文件 Bundle - 零依赖,包体积减少 96%(567 KB)
🤖 智能引导 - AI Agent 自动验证前置条件,主动询问用户选择
NPM: @taptap/instant-games-open-mcp Maker NPM: @taptap/maker
Related MCP server: PersonalizationMCP
TapTap Maker 客户端插件
plugins/taptap-maker 是插件专属安装与下载页面。Codex 和 WorkBuddy
插件共用独立插件版本,当前值读取 config/maker-plugin-version.json;内置 Maker MCP 版本读取
config/maker-version-policy.json,两条版本线互不覆盖。插件内置 Maker MCP 单文件运行时、CLI、
Skills 和排障文档,不通过 npm/npx 下载或启动 Maker。
对外安装应把对应渠道的 GitHub Release 页面交给 AI,由页面中的统一安装指南选择客户端 ZIP、
校验并执行安装前后的旧 MCP 兼容检查。下面的仓库 marketplace 命令仅用于维护者从源码验证;
执行 marketplace add 前,必须用刚生成的插件 CLI 完成下文同样的安装前检查和迁移。
npm run maker:codex-plugin:prepare
node plugins/taptap-maker/dist/maker.js plugin inspect --client codex --json
node plugins/taptap-maker/dist/maker.js plugin migrate --client codex --confirm --json
node plugins/taptap-maker/dist/maker.js plugin inspect --client codex --json
codex plugin marketplace add taptap/instant-games-open-mcp --ref main \
--sparse .agents/plugins --sparse plugins/taptap-maker
codex plugin add taptap-maker@taptap-maker
node plugins/taptap-maker/dist/maker.js plugin migrate --client codex --confirm --json
node plugins/taptap-maker/dist/maker.js plugin inspect --client codex --json插件 manifest 和 marketplace 版本读取 config/maker-plugin-version.json;bundle 运行时身份继续读取
config/maker-version-policy.json。运行 GitHub Actions 中的 Prepare Maker Plugin Release 会自动把
插件 patch 加一、重新生成两端产物并创建 PR;合并后 Publish Maker Plugin 自动发布两份 ZIP、
INSTALL.md、SHA256SUMS 和机器可读发布清单,不触发 npm 发布。
旧用户安装插件前,先用 ZIP 解压目录或本地生成目录中的插件 CLI 执行
taptap-maker plugin inspect --client codex --json。如果旧的独立 Maker MCP 仍启用,向用户说明
已发现重复注册并直接执行
taptap-maker plugin migrate --client codex --confirm --json。迁移只写入 enabled = false,保留
原配置、最近备份、PAT、项目绑定和游戏文件;插件安装请求即为这次兼容迁移的授权,不再单独询问,
重复执行也是幂等的。检查返回 ambiguous 时必须在安装前停止;安装完成后必须再次迁移并检查,
只有状态为 disabled 或 not_found 才能报告插件可用。需要卸载插件并恢复旧 MCP 时,仍要先取得明确确认,再执行
taptap-maker plugin restore --client codex --confirm --json。
如果本次安装中任一次迁移实际禁用了旧注册,但插件安装或验证失败,则用同一 restore 命令自动回滚;
回滚前先移除本次已安装的插件并确认其不再启用,不能在插件仍启用时恢复旧 MCP。原本已禁用、未找到
或不是本次迁移的注册不恢复。安装前迁移失败时立即停止,不进入插件安装。
插件模式初始化使用 taptap-maker init --skip-mcp-install,避免 CLI 再写一份独立 MCP 配置。
插件更新通过插件内专用 update-taptap-mcp Skill 和 Codex marketplace 完成,不执行 npm/npx
或独立 taptap-maker upgrade。旧 MCP 恢复前会核对迁移时记录的注册指纹,同名注册已被替换时
保持禁用并返回 not_owned。插件故障上报读取插件自己的 .mcp.json 并验证当前 bundle;独立
Maker MCP 仍沿用原有用户配置和 self runtime 诊断。
WorkBuddy 插件是独立产物,位于
plugins/workbuddy/taptap-maker,通过共享的 CodeBuddy 插件
规范聚合 Maker MCP、CLI、Skills 和两个快捷命令:
/taptap-maker:create-project
/taptap-maker:sync-project两个入口都要求当前 WorkBuddy workspace 为空目录。插件启动器优先解析 WorkBuddy managed
Node.js(包括 Windows 上未加入 PATH 的 node.exe),必要时才回退系统 Node.js;运行插件内
${CODEBUDDY_PLUGIN_ROOT}/dist/maker.js,不依赖 npm/npx。仓库 marketplace 位于
.codebuddy-plugin/marketplace.json:
/plugin marketplace add <REPOSITORY_ROOT>
/plugin install taptap-maker@taptap-maker
/reload-plugins上述 marketplace 只用于从仓库源码验证。正式 WorkBuddy 市场发布 ZIP 直接以插件内容为根,
不包含额外的 taptap-maker/ 或 plugins/workbuddy/taptap-maker/ 目录;根目录包含
.codebuddy-plugin/plugin.json、.mcp.json、README.md 和 SKILL.md,所有文件的父目录深度
最多为两层。普通用户通过 WorkBuddy 官方插件市场安装,不把发布 ZIP 当成本地 marketplace。
WorkBuddy 旧独立 MCP 的迁移使用 --client workbuddy,只把旧注册的 disabled 设为 true,
同时支持幂等检查和确认式恢复。插件更新通过 WorkBuddy /plugin 完成。
🦞 OpenClaw Plugin(实验中)
仓库内提供了一个可独立使用的 OpenClaw plugin 子包:
这个子包的设计目标是:
让 OpenClaw 用户只安装一个 plugin
plugin 内部复用
@taptap/instant-games-open-mcp运行时对 OpenClaw 暴露 raw JSON 工具
同时内置
taptap-dc-ops-briefskill,让模型自己做简报解读
说明:
主包里的
*_rawtools 默认不会暴露给普通 MCP 客户端只有设置
TAPTAP_MCP_ENABLE_RAW_TOOLS=true时才会注册OpenClaw plugin 会自动打开这个开关,因此插件用户不需要额外配置
详见:
🛠️ TapTap Maker 本地开发(CLI-first)
Maker 本地开发独立发布为 @taptap/maker。首次配置推荐直接运行:
npx -y @taptap/maker initCLI 负责一次性流程:Git 检查、Python 和 maker-lua-lsp 本地 Lua 诊断环境检查、CLI 登录、
TapTap token 换取、app 列表选择或新建 Maker 项目、Maker Git clone、AI dev kit 准备、MCP 配置写入与基础验证。Python 环境准备连续 3 次失败时,
初始化会暂停在登录、项目拉取和 MCP 配置之前;修复后重新运行 taptap-maker init。首次安装,或 Maker MCP 包/
静态工具 schema 发生变化后,Claude Code / Codex / Cursor / Trae / OpenCode / WorkBuddy 通常需要重连或刷新一次 MCP,
才能加载新的 MCP tools;DeepSeek Harness(DSH)会监听用户补丁并热重载,不要求重启 IDE。单纯绑定或切换 Maker 项目
不会修改用户级 MCP 配置,也不需要重启会话或新开对话。当前终端里的
CLI 初始化流程可以继续完成到 PAT 鉴权和项目绑定。
常用 CLI:
taptap-maker init
taptap-maker login
taptap-maker doctor
taptap-maker apps --json
taptap-maker install
taptap-maker agents update
taptap-maker upgrade
taptap-maker mcp verify
npx -y --package @taptap/maker@<exact-version> taptap-maker mcp report --ide <client> --target-dir <project> --context-stdin --consent --json
taptap-maker dev-kit update
taptap-maker user-skills pull --target-dir <project>普通初始化、clone、下载或拉取远端项目的标准命令是 taptap-maker init,CLI 会展示 app 列表,
让用户选择已有 app 或 0/new。--create 只用于用户明确要求创建新 Maker 项目的场景。
如果需要创建新 Maker 项目,仍从 taptap-maker init 进入。app 列表底部会固定显示
0. Create a new Maker project,输入 0 或 new 后填写项目名称;自动化场景可用
taptap-maker init --create --name "my-local-game"。当前目录已绑定 Maker 项目时,不允许在同一目录
创建并覆盖绑定;请先切到一个新的独立目录再运行 taptap-maker init。
taptap-maker login 是 CLI 登录入口;它会按需打开 Maker 授权页,CLI 轮询授权结果并完成本地鉴权配置。
taptap-maker init 缺 PAT 时会自动进入该流程。taptap-maker pat set 保留为兼容入口;
自动化场景可用 --pat-stdin 从标准输入读取。taptap-maker install 是
taptap-maker mcp install 的快捷别名。二者都会先用最终启动命令完成 MCP
initialize 和 tools/list,验证成功后才写入 AI 客户端 MCP 配置;失败不会改动配置或备份。
默认 launcher 会把当前精确版本的 Maker bundle、skills 和排障文档复制到用户 Maker 目录下的
版本化 mcp-runtime,配置使用绝对 Node 路径直接启动,不依赖 npx 缓存、网络或客户端 PATH。
只有明确需要 npm 启动链路时才使用 --launcher npx;该模式固定当前包版本并使用专用可写缓存。
taptap-maker init 写入多个客户端配置时会继续尝试其余目标;只要任一目标失败,init 就记录
mcp_install_failed、以非零状态结束且不报告初始化完成。已经成功写入的客户端配置会保留,
修复失败项后重新运行 taptap-maker install 即可自动检测并幂等重试。
默认会写入 Codex、Cursor、Claude,并自动检测本机已有的 Trae、OpenCode、WorkBuddy、DSH
配置文件;命中后会合并安装 taptap-maker。Trae Solo 是重点支持目标,CLI 会在 Solo
或 Solo CN 的 User/ 目录存在时创建或合并 User/mcp.json;普通 Trae/Trae CN 仍作为
候选路径保留,但只有 mcp.json 已存在时才合并写入。WorkBuddy 在 macOS 和 Windows 都优先检测
并合并用户目录下已有的 .workbuddy/mcp.json。legacy .workbuddy/.mcp.json 仅在官方配置文件不存在且
自身已存在时作为 fallback 合并;写入的 WorkBuddy MCP server 会包含 disabled: false。
WorkBuddy 账号维度的启用/信任状态在 .workbuddy/connectors/<account-id>/connector-states.json
中维护,不在 mcp.json 中;CLI 只做只读诊断,并在安装结果中提示用户到 WorkBuddy MCP 设置里
启用/信任 taptap-maker,不会自动修改账号信任状态。
普通 doctor 不会因为发现 .workbuddy 就输出 WorkBuddy 诊断。OpenCode 只在
~/.config/opencode/opencode.jsonc 已存在时写入。
DSH 使用 @deepseek-ai/dsh-mcp-client 插件,不使用 mcp.json。检测到 $DSH_HOME
(默认 ~/.dsh)后,普通 taptap-maker install 会自动创建或合并用户级 cordis.patch.yml,
写入稳定 self launcher、failOnStartupError: true 和 1 小时 toolCallTimeoutMs,并保留其它插件。
新增项使用 DSH Cordis insert patch;若已经存在 profile 级 Maker registration,CLI 会就地更新
对应 profile,避免全局和 profile 出现重复 serverName。
默认 home 级补丁适用于 DSH 的不同 profile;检测到已有 profile 级注册时则只更新对应 profile。
两者都可由 DSH HMR 热重载。配置不写项目 cwd;DSH 当前
不广播 MCP Roots,因此 AI 必须在具体 Maker tool 调用中把当前游戏项目作为 target_dir 传入。
需要把 Maker 技能(工作流 + 广告/云存档/排行榜指南)一并打包进 DSH 时,可用 bundle 插件
@taptap/dsh-maker(源码 packages/dsh-maker/),通过 1024Store 对应的公开 npm 包一键安装,
详见 docs/DSH_PLUGIN.md。稳定版从 npm 获取;dsh-maker-v* GitHub Release
继续提供预览版和离线安装 tarball。该插件与 L1 的裸 MCP 行不要同时启用。
其它 AI 编辑器应优先让本地 AI 复用 taptap-maker mcp install 已验证的绝对 command/args。
只有无法复用安装器时,才使用下面固定精确版本的 npx 兼容片段:
{
"mcpServers": {
"taptap-maker": {
"command": "npx",
"args": ["-y", "-p", "@taptap/maker@<exact-version>", "taptap-maker"]
}
}
}TapTap Maker 的用户配置不需要设置服务环境。预览、构建、测试二维码和本地开发都使用官方服务配置。
taptap-maker init、mcp install 和 upgrade 写入的用户级 MCP 配置永远不包含项目 cwd,
避免多个客户端、对话或 Maker 项目争用同一个全局路径。支持 MCP Roots 的客户端会用当前
workspace root 识别项目;不支持 Roots 时,由 Agent 在具体 Maker tool 调用中传入 target_dir。
MCP 进程自身的 cwd 只作为最后兜底和诊断信息,不应通过重写用户配置来切换项目。
若 cwd fallback 没有绑定项目,Maker MCP 仍正常启动并保留 status/tools/list,但项目相关 proxy tool
会快速失败,明确返回实际评估目录和上下文来源,避免把其它目录的 not_initialized 当成当前项目状态。
安装器会先比较现有 taptap-maker 条目;内容一致时不写文件,Claude 也不会重复执行
claude mcp add。因此后续项目 init 或无配置变化的 upgrade 不会触发配置重载。
从旧 beta 升级时,安装器会移除现有 taptap-maker 条目中的历史 cwd,同时保留配置里的
其它 MCP server;这次必要迁移完成后,切换项目不再修改用户级配置。
taptap-maker upgrade 会刷新当前机器的 Maker MCP 配置,并在当前目录已绑定 Maker 项目时
同步项目 AGENTS.md 的 TapTap Maker 受管策略块。maker://status、maker_status_lite
和 taptap-maker doctor 会检查老项目 AGENTS.md 是否缺失或过期,并提示运行
taptap-maker agents update 或 taptap-maker upgrade。
taptap-maker dev-kit update 会检查当前环境可用的最新 AI dev kit 并更新当前目录。
taptap-maker user-skills pull 是可选的边缘命令,仅在用户明确要求时从 Maker Server 下载个人
Skill,并覆盖项目 .installer/skills/ 中 ZIP 包含的同名目录,再以原始 Skill 名称安装到项目内
.codex/skills/、.cursor/skills/ 和 .workbuddy/skills/;其它本地 Skill 保持不变。
归档下载限制为 64 MiB,最多 1000 个条目、解压后最多 128 MiB。
该命令不属于正常开发或初始化流程,也不会增加 MCP tool。
如果 Maker MCP tools 缺失或出现 -32000 / Connection closed,先按
TapTap Maker MCP 本地连接自检与修复指引
检查本地客户端配置、信任状态、cwd、Node/npm/npx 和启动日志。MCP 未连接时不要依赖 MCP tools 自检。
如果证据指向 Maker MCP、proxy、客户端集成或服务端基础设施异常,taptap-maker-local Skill
会在当前会话对同一种故障只询问一次是否上报。用户同意后,AI 才通过 stdin 调用
上报优先复用当前客户端 Maker MCP 配置中的原始 command 和有序 args,并追加
mcp report --ide <client> --target-dir <project> --context-stdin --consent --json。只有确认当前精确版本时才 fallback 到
npx -y --package @taptap/maker@<exact-version> taptap-maker mcp report ...,不要使用无版本包名误启 npm latest;
Windows 无法从 PATH 找到 npx 时继续使用配置中的绝对 node.exe 和 npm-cli.js,
收集当前客户端的 Maker 配置项、MCP launcher 验证、项目上下文和已脱敏的会话错误,并尽力创建
GitHub Issue。报告不包含完整聊天、项目源码、其它 MCP server、PAT/token 或完整环境变量;用户主目录
统一显示为 ~。GitHub 不可达、未登录或提交失败时返回 manual_required,AI 会展示脱敏报告和手动
Issue 地址,然后继续原任务,不把上报失败当作 Maker 故障。
Maker MCP 精简为开发循环里的高频能力:
maker://status # Resource,读取本地 Maker 状态
maker://ads-integration-guide # Resource,广告接入入口与项目引擎文档索引
maker_status_lite # Resource 不可用时的兼容 tool
maker_build_current_directory # commit/push/build 合并入口Maker MCP 初始化时会通过标准 initialize.instructions 向 AI 客户端提供一份精简能力路由,
标出状态、构建、Tap 流程和游戏资源生成入口。新项目初始化或执行
taptap-maker agents update / taptap-maker upgrade 时,同一份路由也会写入目标 Maker
项目 AGENTS.md 的受管策略块,供后续会话继续使用;用户自己编写的内容保持不变。升级
@taptap/maker 后,当前 MCP 会话不会被 taptap-maker upgrade 主动中断,已有 proxy tools
继续可用;新版本和新的初始化提示会在下一次 MCP 启动或用户主动 reconnect 后生效。
在已绑定 Maker 项目中,maker_build_current_directory 同时覆盖“构建 / 预览 / 跑一下 /
查看结果 / 看看效果 / 验证游戏效果 / 提交 / 推送”。普通“验证代码 / 跑测试 / lint /
检查实现”不应自动触发 Maker 远端构建,除非用户明确要求构建、运行或预览 Maker 游戏。
普通构建会先 push 到 Maker 远端再触发远端 build:本地有改动时提交改动,已有未推送 commit 时
直接 push,本地干净且没有未推送 commit 时创建 chore: wake maker build server 空提交来唤醒远端
服务。push 失败时不会继续 build,会返回本地 commit、ahead 状态、stderr/stdout 和下一步建议,
交给本地 Agent/skill 处理 pull、rebase 或冲突;push 成功但 build 失败时,会明确说明代码已到
Maker 远端但构建失败。只有用户明确说“不提交,只构建云端版本”时,才传
confirm_remote_build_without_submit=true;该模式只构建 Maker 远端已提交版本,不会自动打开
Maker 页面。
code_submit 或无法分类的构建执行失败会附带 local_execution_check,提醒检查 Windows PowerShell、
CLI、Git 或 MCP 命令是否被 AI 客户端沙盒拦截。只有明确的本地 PowerShell/进程拦截证据才会标记
restriction_signal: detected;远端 Git 返回的 sandbox 文本不会被当成本地信号。远端构建失败
优先检查代码和资源诊断,只有本地命令也被拦截时才检查沙盒;已知项目配置、鉴权/上下文或结构错误
不提示 Full Access。
Maker MCP 无法读取客户端访问模式,因此该检查不是根因结论。可信项目可开启 Full Access
(“完全访问模式”)、重连 MCP 后再重试本地命令。
本地 Tap auth 或 user_id 上下文准备失败会返回 failure_stage: local_build_context 和
remote_build_status: not_started,应直接按 login/init 提示恢复,不会描述成远端构建失败。
远端 Lua/LSP 编译失败属于构建业务错误,MCP 会以工具结果 isError: true 返回,并在
content/remote_result 中保留原始诊断(包括文件、行号和编译器消息)。只有连接断开、会话失效等
传输故障才使用 MCP 协议错误;排查构建失败时应优先查看工具结果中的 remote_result,不要把
-32603 直接当作服务不可用。Maker 本地重试只针对连接类故障;带结构化 remote_result 的业务错误
不会重复发起构建。明确的 proxy unavailable、连接关闭、请求超时和 HTTP 5xx 会按退避策略重试;
重连后重放请求若再次断线,会保留未完成队列并继续下一轮重连。
构建成功后,Maker MCP 会刷新 Maker Web 预览,并启动本地 runtime log watcher。后续如果用户询问
游戏运行结果、Lua 报错或调试问题,本地 AI Agent 应优先读取构建返回中的
runtime_logs.local_file;如需判断 watcher 是否正常,读取 runtime_logs.state_file。
Maker MCP 也提供部分远端 proxy 能力,当前包括 generate_image、batch_generate_images、
edit_image、create_video_task、query_video_task、text_to_music、
text_to_sound_effect、batch_sound_effects、text_to_dialogue、
audition_voices_for_character、confirm_character_voice、create_3d_asset、
generate_test_qrcode、add_test_whitelist、get_ad_config 和 get_debug_feedbacks;具体参数以 MCP 客户端展示的
tool schema 为准。
这些 proxy tools 为 Maker 项目提供素材生成和平台工作流能力;其中 get_debug_feedbacks 会拉取线上玩家反馈,
并在可下载附件存在时保存日志和截图到当前 Maker 项目的 logs/feed_back/feedback_<id>/,
返回 local_dir / local_log_paths / local_screenshot_paths 等本地路径。代理转发、错误透出和白名单细节见
TapTap Maker 本地开发。
create_video_task 仅响应用户明确的视频生成请求;长于 10 秒或使用 Seedance 2.5 时,会先返回积分粗估,
用户明确确认后才携带 user_confirmed=true 创建任务。
音频 tools 支持音效、角色试听、音色确认和配音;生成音频以及确认后的参考音频会保存到
当前本地 Maker 项目。
生成测试二维码时,Agent 应先直接调用 generate_test_qrcode。如果 .project/project.json 已有
taptap_publish.screen_orientation,本地 MCP 会直接沿用,不能重复设置,也不应再次询问用户。只有该字段
从未设置时,Agent 才必须单独询问用户选择横屏(landscape)或竖屏(portrait),并在重试时通过本地私有参数
confirmed_screen_orientation 传入首次选择;本地 MCP 会写入该值,且不会转发给远端 proxy tool。
二维码生成并建立应用身份后,可使用
add_test_whitelist 将用户明确提供的 TapTap user_id 加入测试白名单。
Windows 是默认优先级:CLI 只把当前进程可用的绝对 node.exe 与 npm-cli.js 写入所有
客户端配置;找不到该组合时安装失败,不会持久化 .cmd shell 命令或依赖客户端 PATH 的裸
npx.cmd。OpenCode 使用相同已验证 launcher 的 command 数组。用户级 MCP 配置不会写入项目
目录,也禁止生成 cd && npx.cmd;Git 引导优先提示 Git for Windows,
并要求安装选项允许命令行和第三方工具通过 PATH 找到 Git。macOS 用户可通过 git --version
触发 Xcode Command Line Tools,或安装官方 Git。
详见:TapTap Maker 本地开发。面向团队介绍的功能总览见 Maker CLI + MCP + Skill Rework Overview。
本地 Maker MCP 会透明上报本地开发活跃事件,复用 tapmaker_mcp_call 并在
args.source 写入 local_mcp,在 args.mcp_version 写入当前 @taptap/maker
版本;普通开发构建使用 dev,不会使用主包版本代替。事件只使用当前绑定项目配置中的
user_id 和 project_id;任一关键字段缺失或项目上下文无法准确解析时跳过上报,不使用
默认值或其它账号信息代替。Tool、maker://status Resource 和 MCP 启动事件均可作为
活跃行为,上报失败不会影响 MCP 工具结果。
🧩 Codex Skills(运营简报)
本仓库内置一个面向运营/工作室的 Codex Skill:taptap-dc-ops-brief,用于把“当前游戏 DC 数据”整理成 30 秒可读的结论简报,并在你确认后执行评价点赞/官方回复等动作。
安装到 Codex
在已安装 Codex 的机器上运行:
python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo taptap/instant-games-open-mcp \
--path skills/taptap-dc-ops-brief安装完成后重启 Codex,即可在对话中使用:
使用
$taptap-dc-ops-brief生成当前游戏的 7 日运营简报,并给出是否建议点赞/回复评价(先出草稿,等我确认再发)。
🚀 快速开始
🐣 完全不懂技术? 快速开始(零基础版) - 3 分钟搞定 Cursor 配置,复制粘贴就能用。
📖 想了解更多配置? 详细配置指南 - Cursor、Claude Code、VS Code、Claude Desktop 等多种工具的配置方法。
安装
# 全局安装
npm install -g @taptap/instant-games-open-mcp
# 或使用 npx 直接运行(无需安装)
npx @taptap/instant-games-open-mcp配置(MCP 客户端)
Claude Code / VSCode / Cursor
在项目中创建 .mcp.json:
{
"mcpServers": {
"taptap-minigame": {
"command": "npx",
"args": ["-y", "@taptap/instant-games-open-mcp"],
"env": {
"TAPTAP_MCP_WORKSPACE_ROOT": "${workspaceFolder}"
}
}
}
}重要说明:
零配置 OAuth:首次使用会提示扫码授权,token 自动保存!
路径处理:设置
TAPTAP_MCP_WORKSPACE_ROOT环境变量可以正确解析相对路径(推荐)如果不设置,相对路径会基于用户 HOME 目录(可能不符合预期)
建议使用绝对路径,或配置
TAPTAP_MCP_WORKSPACE_ROOT
Windows 启动报
Received protocol 'c:':这是旧版本 Windows ESM 动态导入路径兼容问题,请升级到包含该修复的最新版本。
OpenHands(推荐 SSE 模式)
远程部署:
# 启动 SSE 服务器
TAPTAP_MCP_TRANSPORT=sse TAPTAP_MCP_PORT=3000 \
npx @taptap/instant-games-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 部署文档
📖 功能列表
核心 Tools(含当前游戏 DC 能力)
流程指引 (1)
get_leaderboard_integration_guide- 排行榜完整接入工作流指引
信息查询 (3)
get_current_app_info- 获取当前应用信息check_environment- 检查环境配置get_environment_switch_guide- 获取 production/RND 环境切换配置指引
认证 (3)
start_oauth_authorization- 开始 OAuth 授权(获取二维码)complete_oauth_authorization- 完成 OAuth 授权clear_auth_data- 清除认证数据和缓存
应用管理 (3)
list_developers_and_apps- 列出所有开发者和应用(含关卡与非关卡)select_app- 选择当前应用(支持关卡与非关卡)create_developer- 创建新开发者
当前游戏 DC 能力 (8)
get_current_app_store_overview- 获取当前游戏商店统计概览(曝光、下载、预约、下载请求趋势)get_current_app_review_overview- 获取当前游戏评价统计概览(评分、好中差评、评分趋势)get_current_app_community_overview- 获取当前游戏社区统计概览(帖子、关注、浏览、趋势)get_current_app_store_snapshot- 获取当前游戏商店结果型快照get_current_app_forum_contents- 获取当前游戏论坛内容get_current_app_reviews- 获取当前游戏评价列表like_current_app_review- 给当前游戏指定评价点赞reply_current_app_review- 以官方身份回复当前游戏评价
排行榜管理 (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 testMaker 本地开发预览
Maker 本地开发现在以 CLI-first 为准。初始化、PAT、app 选择/创建、dev-kit 和 clone 都走 CLI;MCP 保留状态、同步构建和审核过的 proxy tools:
taptap-maker init
taptap-maker doctor
taptap-maker apps
taptap-maker mcp verify
maker://status
maker_status_lite
maker_build_current_directory远端 proxy tools 使用版本化的本地完整定义在首次 tools/list 时立即注册,不等待 cwd、Maker 项目绑定、
PAT/TapTap token 或远端 proxy 连接。项目定位和鉴权只在实际调用 tool 时校验;远端 schema 不会在运行时
替换本地定义。schema 变更通过本地 MCP 版本更新发布,远端不可用不会让 proxy tools 从当前会话消失。
Maker 内嵌代理不打开可选的 standalone SSE GET,远端 RPC 响应和构建进度统一通过 POST SSE 返回;
这避免 Node.js 26 中长连接占用后续 tools/list 请求而触发固定 60 秒超时。普通 MCP Proxy 默认仍保留
standalone SSE,只有显式设置 disable_standalone_sse 才会关闭。
taptap-maker doctor 会检查 Git、Python 环境、maker-lua-lsp、PAT、TapTap token、项目绑定、
AI dev kit 版本和 MCP 配置。maker://status 和 maker_status_lite 会输出
MCP client roots 与 project_context_source,用于确认当前项目来自客户端 workspace roots
还是 MCP cwd fallback。默认 status 只输出快速本地摘要;需要远端同步、proxy、dev-kit 或完整维护
诊断时,调用 maker_status_lite({ detail: true })。若 Git 不可用,clone/push 会直接停止,直到用户自行安装 Git 并通过
git --version 验证。
已绑定项目还会执行轻量的统一项目结构检查:分别检查 .project/project.json、
.project/resources.json、.project/settings.json,识别实际存在的配置被 AI 写坏或移动到项目根目录、
以及已知 assets/project.json 错位的情况。根目录候选只有在匹配 Maker $schema 或完整的
project.json 发布字段组合时才会判定为错位;普通同名业务文件不会阻断构建。.project 目录
是否存在不代表项目已经初始化;目录为空、只含本地音色 mapping/其它辅助文件,或主配置不完整时,
项目保持 not_initialized 且允许显式构建。dist 是构建产物,不参与源配置有效性判断。
构建会在 commit/push 前阻断实际存在配置的明确路径或 JSON 错误,generate_test_qrcode、
get_ad_config 和测试白名单会在远端调用前检查主配置,但不会自动搬运或覆盖本地文件。
健康检查本身保持只读;需要修复时,AI 应优先从 Git 或完整的错位副本恢复文件。只有在
settings.json 仍是可解析 object 时,才可恢复 $schema 和构建固定字段(资源 tag 仅从完整副本恢复),
并保留 @runtime 与未知字段;不要凭默认值重建 project_id、入口、版本、发布信息或资源分组。
在用户确认后,可以只补入缺失且不会覆盖意图的 settings 默认字段:output_dir=../dist、
asset_dirs=["../assets","../scripts"]、generate_fs_path=true、asset_ignores=[],
以及 schema 中的 assets_7z_threshold=50、preload_include_refs=true、
trim_remote_refs=true、legacy_binary=false、tags={};已有非默认值不得覆盖。
sources.*.tag、项目身份、版本、入口、发布信息和 resources 分组只允许从完整副本恢复。
taptap-maker mcp verify 默认使用安装器的稳定 self runtime 完成 MCP initialize 和
tools/list;显式 --mode npx 才验证精确版本 npm launcher。失败结果会标明 stage、failure_type、
最终 command 和 stderr,并返回非零退出码;不要把本地启动或 stdio 握手失败误判为 PAT 或
Maker 业务接口错误。
测试时优先运行 taptap-maker login;CLI 会按需打开 Maker 授权页,授权完成后自动完成本地鉴权配置。
当前目录未绑定时,APP_ID 应通过 taptap-maker init 或 taptap-maker apps 返回的 app 列表让用户选择;
创建新项目时使用 taptap-maker init 列表底部的 0. Create a new Maker project,或运行
taptap-maker init --create --name "my-local-game";checkout 完成后会补齐 assets/image、
assets/sprites、assets/video、assets/audio 和 scripts 基础目录;当前目录已绑定时不要再次引导 clone 或创建新项目。
npm run build
npx @modelcontextprotocol/inspector node dist/maker.js详细说明见 docs/MAKER.md。
环境变量
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_DC_CURRENT_APP_BASE_URL- 当前游戏 DC 接口 host 覆盖(可选,路径仍为/mcp/v1/current-app/...)TAPTAP_MCP_TRANSPORT- 传输模式:stdio(默认)、sse、httpTAPTAP_MCP_PORT- 端口(默认 3000)TAPTAP_MAKER_CRASH_LOG_MAX_BYTES- Maker MCP 崩溃日志~/.taptap-maker/mcp-crash.log上限,默认 1 MiBTAPTAP_MAKER_CRASH_LOG_MAX_ENTRY_BYTES- Maker MCP 单条崩溃日志上限,默认 16 KiBTAPTAP_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
环境切换帮助
如果需要在 AI 对话中切换测试环境,可以让 AI 调用
get_environment_switch_guide 查看配置示例,再更新 MCP 客户端配置中的 env 字段。
RND 环境需要显式配置 TAPTAP_MCP_CLIENT_ID 和 TAPTAP_MCP_CLIENT_SECRET,
production 通常使用内置 native signer,无需额外配置。
添加新功能
# 使用脚手架
./scripts/create-feature.sh
# 按提示输入功能信息
# 自动生成模块结构到 src/features/yourFeature/🤖 AI Agent 智能引导
本服务器经过精心设计,通过工具描述引导 AI Agent 提供更智能的用户体验:
自动前置条件检查
AI Agent 会在执行排行榜操作前,自动检查是否已选择应用:
用户: "创建一个排行榜"
AI: 让我先检查当前是否已选择应用...
[调用 get_current_app_info]
发现尚未选择应用,我来帮您列出可用的应用:
[调用 list_developers_and_apps]
请问您想为哪个应用创建排行榜?
共 200 个应用,当前先展示前 40 个;如果没有看到目标应用,
可以继续查看更多,或提供 App ID/名称关键词继续定位。
如果客户端宽度足够,可以把预览整理成两列紧凑布局;窄屏保持单列。
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/PATH_RESOLUTION.md - 路径解析系统
Maker 持久化 Proxy 与多项目
Maker MCP 在本地 server 进程内按活动项目维护一个 embedded proxy 和远端 MCP session。
多个本地 Maker 项目可以并行使用,项目、环境和授权上下文彼此隔离;一个项目断线只会
触发该项目的自动恢复,不需要重新安装或重启 Maker MCP。MCP 包版本升级或本地 proxy
工具白名单/schema 变化后,需要重新连接本地 MCP 以加载新的本地定义。同项目认证或环境变化时,新连接立即接管,
旧连接会在已开始的请求结束后关闭,不会中断正在执行的构建或远端工具。proxy tools 不依赖运行时
tools/list_changed 刷新。runtime-log watcher 保持独立的
轮询连接生命周期,不与远端 proxy session 共享。
🤝 贡献
欢迎贡献!请遵循:
Fork 仓库并创建 feature 分支
使用 Conventional Commits 规范
创建 PR,等待 CI 检查
Review 通过后合并
📄 许可证
MIT
🔗 相关链接
Available Tools
52 toolscheck_ads_statusA
[Step 2 of Ads Workflow] Check ads SDK activation status and cache ad space ID.
PREREQUISITE: An app MUST be selected first. Before calling this tool, ALWAYS call get_current_app_info to verify an app is selected. If not, guide user through app selection process.
When to call this tool:
First time: when no ads status exists in local cache
Refresh: when user explicitly asks to re-check status (e.g. after activating ads in developer console)
DO NOT auto-poll - only call when user requests or when no cached status exists.
This tool queries the server, updates local cache, and returns:
Business status: 0=未开通 | 1=已生效 | 2=账号已被封禁
Ad space ID (space_id) - cached when status is "已生效"
Guidance URL for activation (if needed)
CRITICAL - Dual condition for proceeding to Step 3: Both conditions MUST be met simultaneously:
Status must be "已生效" (status === 1)
space_id must be valid (non-empty string) If status is 1 but space_id is empty → server-side issue, tell user to retry later.
Status 0: Tell user they can say "重新检查广告状态" to refresh after completing activation. Status 3 (已封禁): DO NOT proceed with any integration steps. Immediately inform user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description fully covers behavioral aspects: it queries server, updates local cache, returns status codes, and warns about potential server-side issues. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is long but well-structured with headings and bullet points. It is front-loaded with step and prerequisite. Some redundancy could be trimmed, but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains return values (status, space_id, guidance URL) and provides context on how to proceed based on statuses, including edge cases. It is fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0 parameters, so baseline is 4. The description adds no parameter information, but none is needed. Schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as checking ads SDK activation status and caching ad space ID, part of a workflow (Step 2). It distinguishes from sibling tools by specifying its role in the Ads Workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when to call (first time, user refresh), when not to call (do not auto-poll), and a prerequisite (must have app selected, with alternative tool named). Also gives behavior for different status codes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_environmentA
Check environment configuration and user authentication status. Use this to verify the current TAPTAP_MCP_ENV, signer mode, TAPTAP_MCP_MAC_TOKEN, and TAPTAP_MCP_CLIENT_ID configuration. If the user asks how to switch between production and RND, call get_environment_switch_guide.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes what it checks and implies read-only behavior. No annotations, but description gives good insight. Could be more explicit about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded purpose and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, description fully covers what the tool does and provides a clear alternative for related questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema coverage is 100%. Description adds meaning by listing the configuration items checked, which is valuable beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool checks environment configuration and authentication status with specific items listed. Distinguishes from sibling by mentioning get_environment_switch_guide.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (to verify config) and when not (for switching environments, call get_environment_switch_guide).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_multiplayer_codeA
✅ Check multiplayer code before deployment.
Detects:
Missing rate limiting
Wrong field names (playerId vs id)
Missing playerId save
Uninitialized remote players
Protocol inconsistency
Use when: Before finalizing code, or when debugging.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The multiplayer code to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only implies a read-only check. It does not disclose side effects, authentication needs, rate limits, or whether it modifies state. For a checking tool, more behavioral detail (e.g., 'Read-only, no side effects') would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: one header line, bullet list of detections, and usage note. Every sentence adds value. Front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple check tool with one parameter and no output schema, the description covers what it detects but does not describe the return format (e.g., 'Returns a report with pass/fail and details'). This is a gap given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter described as 'The multiplayer code to check'. The description repeats this but adds no new semantics. Since the schema already fully defines the parameter, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Check multiplayer code before deployment' and lists specific issues it detects (rate limiting, field names, etc.). It is distinct from siblings like 'diagnose_multiplayer_issues' which likely handles runtime issues, while this is for pre-deployment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use when: Before finalizing code, or when debugging.' Provides clear context. However, no mention of when not to use or alternatives, though the sibling list provides implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_auth_dataA
Clear all cached authentication data and app selection. Use this when: 1) MAC Token expired or invalid, 2) Want to switch accounts, 3) Need to reset authentication. This will clear both OAuth token file and app cache.
| Name | Required | Description | Default |
|---|---|---|---|
| clear_cache | No | Clear app selection cache (default: true) | |
| clear_token | No | Clear OAuth token file (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that both OAuth token file and app cache are cleared, providing clear effects. It could mention if side effects like forced logout occur, but the listed behaviors are sufficient for understanding the action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a numbered list. Every sentence adds value: purpose, use cases, and what is cleared. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple clearing tool with two optional boolean parameters, the description covers purpose, when to use, and effects. It does not explain default behavior when both parameters are omitted, but the statement 'This will clear both' implies default clearing of both, which is accurate. Lacks description of return values, but no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context by stating 'both OAuth token file and app cache' are cleared, which maps to the two parameters, but does not add significant new meaning beyond the schema's own parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool clears 'all cached authentication data and app selection', specifying the verb and resource. It distinguishes from siblings like start_oauth_authorization and check_environment by focusing on clearing, not authentication flows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists three use cases (MAC token expired, switch accounts, reset authentication) with a numbered list, giving clear when-to-use guidance. It does not explicitly mention when not to use or alternative tools, but the listed use cases imply appropriate contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_oauth_authorizationA
[Auth] Complete OAuth authorization after user has scanned QR code. Call this after user confirms they have completed authorization in browser. This tool will poll for the authorization result and save the token.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses polling behavior and side effect (saving token), which is sufficient given no annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with front-loaded [Auth] tag. Every sentence provides value with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a zero-parameter polling tool: purpose, usage context, and behavior are all covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so baseline is 4. Description adds no param info needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (complete OAuth authorization after QR scan), context (user confirms in browser), and differentiates from sibling tool start_oauth_authorization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to call this tool (after user confirms authorization in browser), but does not mention when not to use it or alternatives, though alternatives are unnecessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_appA
Create a new app/game on TapTap platform. The newly created app will be automatically selected - no need to call select_app afterwards. Use this when user wants to create a new app.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | Game genre (e.g. rpg, casual, action, strategy, simulation, etc.) | |
| appName | No | The name of the app | |
| developerId | No | The developer id of the app. Leave empty if the user has not specified a particular ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full behavioral burden. It discloses auto-selection behavior, but doesn't cover permissions, error cases, or impact on existing selection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. Front-loaded with purpose, followed by behavioral note. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 3 simple params, description provides purpose, usage context, and a key behavioral trait. Could mention return value or errors, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all 3 parameters with 100% description coverage. Description adds no additional meaning beyond schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Create' and resource 'new app/game on TapTap platform'. Distinguishes from sibling tool 'select_app' by noting auto-selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this when user wants to create a new app', and the auto-selection note implies no need for select_app after. Lacks explicit when-not-to-use but is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_developerA
Create a new unverified developer identity on TapTap platform. Use this when user wants to create a new developer account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only mentions 'unverified', offering minimal behavioral insight. It does not disclose side effects, authentication requirements, or any other behavioral traits expected for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core action and usage context, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks needed context: no output schema, no annotations. The description does not explain what 'unverified' means, what the tool returns (e.g., developer ID), or error conditions. It is minimally adequate for a simple creation action but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters (100% coverage), so the baseline is 4. The description adds no parameter details but implicitly confirms no input is needed, which is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('new unverified developer identity on TapTap platform'), distinguishing it from sibling tools like create_app or create_leaderboard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Directly instructs when to use ('when user wants to create a new developer account'), providing clear usage context, though it does not mention exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_leaderboardA
PREREQUISITE: An app MUST be selected first. Before calling this tool, ALWAYS call get_current_app_info to verify an app is selected. If not, guide user through: 1) Call list_developers_and_apps, 2) Show list to user and ASK them to choose, 3) Call select_app with user's choice. Create a new leaderboard on TapTap server. Auto-fetches developer_id and app_id from selected app. Returns leaderboard_id for client-side APIs.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Leaderboard title/name (REQUIRED) | |
| calc_type | No | Calculation type: "sum" (default), "best", "latest" | |
| score_type | No | Score type: "numeric" (default), "time" | |
| period_time | No | Reset time like "08:00:00" (required if period_type is not "always") | |
| period_type | No | Reset period: "always" (default), "daily", "weekly", "monthly" | |
| score_order | No | Score order: "desc" (high to low, default), "asc" (low to high) | |
| display_limit | No | Display limit (optional, default 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses auto-fetching of developer_id and app_id, and mentions return value. However, it does not mention potential side effects, error cases, or required permissions, which would elevate it to 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a prerequisite note. Every sentence adds value: prerequisite check, action, auto-fetch behavior, return value. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, description covers purpose, prerequisite, key behaviors, and return value. Lacks error handling or limitations, but sufficient for most use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds context about auto-fetching developer_id and app_id, but does not elaborate on parameter options beyond what schema provides. No additional semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Create a new leaderboard on TapTap server' with a specific verb and resource. It distinguishes from siblings like list_leaderboards, publish_leaderboard, and get_leaderboard_integration_guide by focusing on creation and auto-fetching context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisite that an app must be selected and provides step-by-step guidance to call get_current_app_info, list_developers_and_apps, and select_app if needed. Also clarifies that it returns leaderboard_id for client-side APIs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnose_multiplayer_issuesA
🔍 Diagnose common multiplayer issues.
Use when user reports:
Players not visible / 看不到其他玩家
Position not syncing / 位置不同步
Connection failed / 连接失败
Data not received / 收不到数据
Returns: Checklist with solutions for each issue.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It states the output (checklist with solutions), but does not disclose whether the tool has side effects, requires permissions, or is read-only. This leaves some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and well-structured, with the purpose front-loaded and bullet-pointed trigger conditions. Every sentence adds value, and the emoji is not distracting.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no input parameters and no output schema, the description adequately specifies when to use it and what to expect. It could optionally mention the format of the checklist, but it is sufficiently complete for the intended use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the description already covers the intended usage. No further parameter explanation is needed, earning the baseline 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool diagnoses common multiplayer issues, listing specific symptoms. It is a specific verb+resource combination that distinguishes it from siblings like 'get_multiplayer_guide' or 'check_multiplayer_code'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists user reports that indicate when to use the tool (e.g., 'Players not visible', 'Connection failed'). It does not mention when not to use it or point to alternatives, but the given scenarios provide clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_local_guideA
📄 Generate MULTIPLAYER_GUIDE.md for user project root. Creates persistent reference with API rate limits, playerId rules, data structures. Enables context persistence across conversations. Use at project start.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool creates a persistent reference file, but does not address whether it overwrites existing files, permissions needed, or return behavior. Adequate but has gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences plus a usage directive. All information is front-loaded and every phrase adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description covers the key points: output file, location, content, and usage timing. Lacks info on return value or error handling, but is largely complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since there are no parameters (schema coverage 100%), the description adds value by explaining what the tool accomplishes without inputs, which is essential for this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates MULTIPLAYER_GUIDE.md in the user project root, with specific content (API rate limits, playerId rules, data structures). It distinguishes from siblings like get_multiplayer_guide or generate_multiplayer_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use at project start,' providing clear timing. While it doesn't list exclusions or alternatives, the context is sufficient for the primary use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_multiplayer_codeA
🎯 One-click: Generate complete multiplayer files ready to save.
Generates:
js/MultiplayerManager.js (complete template with comments)
MULTIPLAYER_GUIDE.md (quick reference for project)
Returns: File paths and contents, ready to save.
Use when: User wants quick setup, or says "generate multiplayer code/生成多人联机代码".
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states it generates files and returns paths/contents, but does not disclose behavioral traits like whether files are overwritten, any side effects, or required permissions. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is relatively concise, with a clear emoji header, bullet list of generated files, and a use-case sentence. It is front-loaded and avoids unnecessary words, though the emoji may reduce professional tone slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description provides enough about inputs and outputs. However, it lacks prerequisites (e.g., does it require an existing project?) and does not clarify whether the same code can be generated multiple times. Adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters and schema description coverage is 100%. With no parameters to document, the description has no burden. The baseline for 0 params is 4, and no additional parameter info is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates complete multiplayer files (js/MultiplayerManager.js and MULTIPLAYER_GUIDE.md) ready to save. It uses specific verbs and resources, distinguishing it from siblings like check_multiplayer_code or diagnose_multiplayer_issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases: 'when user wants quick setup, or says generate multiplayer code/生成多人联机代码'. While it does not list when not to use, the context is clear enough for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ad_integration_guideA
[Step 3 of Ads Workflow] Get complete ads integration code guide with actual ad space ID.
PREREQUISITES (both MUST be met before calling):
check_ads_status has been called and returned status "已生效" (1)
A valid space_id was cached by check_ads_status
If either condition is not met, this tool will return an error with guidance.
This tool reads the cached space_id and generates:
Complete AdManager.js utility class (full source code with YOUR ad space_id)
Core focus: Rewarded Video ads (激励视频) - init() + onReward() + showRewardedVideo()
Optional: Interstitial and Banner ads examples
Code examples for all common scenarios
CRITICAL:
NO Promise style, follows demo callback pattern
Provides onReward() callback interface for reward logic
DO NOT search the web - all information is provided by this tool
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even without annotations, the description discloses key behaviors: it reads cached space_id, returns code with callback pattern, and provides onReward() interface. No contradictions or hidden side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections (prerequisites, generated content, critical notes). Every sentence adds value, and the most important info is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all aspects: prerequisites, output content, pattern constraints, and warning not to search the web. No missing details given the tool's simplicity (no parameters, no output schema).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline 4 applies. The description does not need to add parameter info, but it implicitly explains the input is the cached space_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get complete ads integration code guide with actual ad space ID.' It identifies itself as Step 3 of Ads Workflow, distinguishing it from sibling tools like check_ads_status or get_ads_integration_workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists two prerequisites that must be met before calling, with specific error handling if they are not met. It also instructs 'DO NOT search the web,' providing clear usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ads_integration_workflowA
⭐ READ THIS FIRST when user mentions anything about ads/广告/advertising/ad integration/接入广告/monetization/变现/rewarded video/激励视频/interstitial/插屏/banner.
Returns the complete step-by-step ads integration workflow. Call this BEFORE making any implementation plans or writing any ad code.
CRITICAL: For ANY ads-related request, this workflow MUST be followed. The workflow will guide you through:
App selection check
Ads SDK status verification (MANDATORY before any integration)
Integration code generation (only when status conditions are met)
This tool has NO prerequisites - call it immediately when ads topic comes up.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It does not disclose any behavioral traits like side effects or auth needs, but being a read-only workflow retrieval tool with no prerequisites, the transparency is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear first sentence, use of emphasis (bold, emoji), and bullet points for workflow steps. Some repetition in the critical note could be trimmed, but overall it is effective and not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there are no parameters and no output schema, the description fully explains what the tool does, when to use it, and what the workflow covers. It is contextually complete for an AI agent to decide to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description adds no parameter information. With 100% schema coverage and no params, a baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the complete ads integration workflow and explicitly marks it as the first step for any ads-related request. It distinguishes from siblings like get_ad_integration_guide and check_ads_status by being the mandatory initial call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use ('call this BEFORE making any implementation plans or writing any ad code') and that it has no prerequisites. The critical note emphasizes it MUST be followed for any ads request, providing unambiguous usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_data_structuresA
📊 Get complete API return value structures and event callback data structures. Includes all core APIs (connect, matchRoom, sendCustomMessage, etc) and events (playerEnterRoom, onCustomMessage, etc). Use when implementing API calls to avoid guessing data structures.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates a read-only retrieval of data structures with no side effects. However, it doesn't describe return format, limitations, or permissions. Adequate but could be more detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded with key information about content and usage. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description provides adequate context: what data is included and when to use. Could mention if the data is exhaustive or paginated, but sufficient for a reference tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema; schema coverage is 100%. Description adds value by explaining what the tool returns, which compensates for no parameters. Baseline for 0 params is 4, and description meets it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves API return value structures and event callback data, listing examples like connect, matchRoom, etc. This differentiates it from sibling tools which focus on other aspects like ads, environment, or app info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use when implementing API calls to avoid guessing data structures.' Provides clear context for use. No when-not-to-use mentioned, but not critical for a reference tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_event_tableA
⚠️ CRITICAL - API-to-Event relationship table.
Shows: Which API call triggers which event, and WHO receives it.
Key relationships AI must understand:
matchRoom() → You: get roomInfo, Others: get playerEnterRoom event
sendCustomMessage() → You: NO event, Others: get onCustomMessage event
updatePlayerCustomProperties() → ALL players (including you): get event
This relationship is hard to show in code template, so use this table when implementing event handlers.
Use when: Implementing multiplayer logic, debugging "why no event triggered?"
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses that this is a static reference table, not an action. It details content (mapping of calls to events and recipients) and warns about the difficulty of showing this in code, ensuring the agent understands it's informational.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but well-structured with a heading, bullet points, and clear sections. It is front-loaded with a critical warning. Some redundancy could be trimmed, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema reference tool, the description is thorough. It explains purpose, content, use cases, and gives concrete examples. No gaps remain for the agent to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. The description adds no parameter info because none are needed. Schema coverage is 100% trivially.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it shows the API-to-Event relationship table, specifying which call triggers which event and who receives it. It distinguishes this from sibling tools by emphasizing it as a reference for implementing event handlers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use when: Implementing multiplayer logic, debugging why no event triggered?' and provides key relationship examples, giving clear guidance on when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_app_statusA
Get the review status of an app/game. Use this to check if the app is published, under review, or rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | App ID to check status for | |
| ignore_cache | No | If true, force refresh data from server regardless of cache TTL. Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It implies a read operation ('get') but does not disclose authentication needs, rate limits, or caching behavior despite the ignore_cache parameter. The description is not misleading but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loads the purpose, and contains no extraneous information. Every sentence is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters, no output schema, and no annotations, the description is fairly complete. It states the tool's purpose and provides example output states (published, under review, rejected). However, it omits details on the return format and the effect of ignore_cache.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters having descriptions. The description adds no extra meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the review status of an app/game.' It specifies the resource (app/game) and action (get status), listing possible states (published, under review, rejected). This distinguishes it from siblings like get_current_app_info which covers broader info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use it: 'Use this to check if the app is published, under review, or rejected.' However, it does not mention when not to use it or suggest alternatives like get_current_app_info for more detailed status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cloud_save_integration_guideA
Get complete Cloud Save integration workflow guide for TapTap Minigame and H5 games.
This tool provides:
Complete workflow for saving and loading game data to/from cloud
File system operations (writeFile, readFile) for local storage
Cloud archive operations (create, update, delete, list)
Error codes and troubleshooting guide
Best practices and code examples
Use this tool when user asks about:
How to implement cloud save in their game
How to save/load game progress to cloud
Cloud save architecture and workflow
File system operations for save data
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully discloses the tool's output: workflow, file system operations, cloud archive operations, error codes, best practices, code examples. Read-only nature is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with bullet points and a usage section. Every sentence adds value, front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No parameters, no output schema, no annotations, but description fully covers what the tool provides and when to use it. Complete for a guide tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; baseline is 4. Description adds meaning by explaining the tool's purpose beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it provides a 'Cloud Save integration workflow guide' for TapTap Minigame and H5 games. Verb 'Get' and specific resource distinguish it from sibling guide tools like get_ad_integration_guide.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists when to use: 'Use this tool when user asks about...' with four specific scenarios, providing clear guidance vs. alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_code_templateA
Get complete MultiplayerManager.js template (350+ lines).
Core methods:
📤 sendData(data) → Send your action to others
📥 onDataReceived(data, fromId) → Receive others' actions
syncPosition(x, y) → Optimized position sync
init() → Returns playerId (MUST save it!)
matchRoom() → Match or create room
Features: Built-in rate limiting (10/sec), field compatibility, offline fallback, change detection.
Copy-paste ready. Use for ANY game type.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description fully discloses behavior: lists core methods (sendData, onDataReceived, etc.), features (rate limiting, offline fallback), and file size. This exceeds expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with emoji and bullet points, making it scannable. It is longer than necessary but every sentence adds value—purpose, methods, features.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0 parameters and no output schema, the description fully covers the tool's purpose, content of the returned template, and features. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters, so baseline is 4. The description does not need to add parameter info but effectively explains what the tool returns (the template).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool 'Get complete MultiplayerManager.js template (350+ lines)', clearly identifying the verb (Get), resource (template), and scope. It distinguishes from sibling tools like 'get_multiplayer_guide' and 'generate_multiplayer_code' by emphasizing it's a ready-to-use template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states 'Copy-paste ready. Use for ANY game type', providing clear context for when to use. However, it does not explicitly mention when not to use or compare with alternatives like 'generate_multiplayer_code'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_app_community_overviewA
PREREQUISITE: An app MUST be selected first. Before calling this tool, ALWAYS verify the selected app context. Get community overview metrics for the currently selected app, including topic count, favorite count, page views, feed count, and trend data for an optional date range.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | Optional end date in YYYY-MM-DD format. | |
| start_date | No | Optional start date in YYYY-MM-DD format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions optional date range and lists returned metrics, but does not clarify authorization needs, error behavior (e.g., if no app selected), or whether the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence front-loads the critical prerequisite in bold, and the second sentence efficiently states the purpose and scope. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (two optional parameters, no nested objects), the description adequately covers the tool's function and output metrics. However, without an output schema, it could better describe the structure of trend data or any pagination, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides (date range), merely referencing 'optional date range' without further detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving community overview metrics for the currently selected app, listing specific metrics like topic count and page views. It distinguishes from sibling tools such as get_current_app_info and get_current_app_review_overview by focusing on community data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description emphasizes a mandatory prerequisite—an app must be selected first—and advises verifying context before calling. However, it does not provide explicit guidance on when not to use the tool or how it compares to alternatives like get_current_app_forum_contents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_app_forum_contentsA
PREREQUISITE: An app MUST be selected first. Read forum contents for the currently selected app only. Use this to inspect the game forum feed before summarizing community topics. This tool is scoped to the selected app and MUST NOT be used for cross-game browsing.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Pagination start offset. Default: 0. | |
| sort | No | Sort mode. Default: "default". | |
| type | No | Forum flow type. Default: "feed". | |
| limit | No | Page size. Default: 10, max: 20. | |
| group_label_id | No | Optional forum sub-group label ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description implies read-only behavior via 'Read', and mentions scope constraint but does not disclose error handling (e.g., if no app selected), performance, or side effects. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a bolded prerequisite. Every sentence earns its place; no redundancy. Front-loaded with critical prerequisite information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description does not explain return format or structure. All 5 parameters are optional, but coverage is complete in schema. Lacks details on what data is returned, limiting agent's understanding of the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%. Description adds no extra meaning beyond schema descriptions, which are already self-explanatory. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Read', resource 'forum contents', and scope 'for the currently selected app only'. It explicitly distinguishes from cross-game browsing, and the context is unique among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit prerequisite ('An app MUST be selected first'), clear when to use (inspect forum feed before summarizing topics), and explicit prohibition ('MUST NOT be used for cross-game browsing'). No alternative tool is named, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_app_infoA
[General] Get currently selected app/game information including developer_id, app_id, miniapp_id, and app name. CRITICAL: Call this tool FIRST before executing any leaderboard operations (create_leaderboard, list_leaderboards, etc.) to verify that an app has been selected. If no app is selected, guide the user through the selection process using list_developers_and_apps and select_app. Use this for: 1) Checking current selection before leaderboard operations, 2) Building preview links, 3) Verifying cached app. Not for H5 upload workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| ignore_cache | No | If true, force refresh data from server regardless of cache TTL. Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses caching behavior via ignore_cache parameter, criticality as first step, and indicates it does not modify state (implied by 'get'). Could explicitly state it's read-only, but overall good for no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, uses bold for critical instruction, and organizes usage with numbered points. Slightly verbose with the general label, but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lists returned fields but does not specify return format, error conditions, or how to interpret 'no app selected' state. For a tool that gates other operations, more detail on return value would be valuable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the single parameter (ignore_cache) with full description. The tool description does not add extra meaning beyond the schema, but the baseline is appropriate due to 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool retrieves current selected app/game information with specific fields (developer_id, app_id, miniapp_id, app name). Differentiates from siblings by emphasizing it's a prerequisite for leaderboard operations and other tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides when to use (before leaderboard ops, building preview links, verifying cached app) and when not to (H5 upload workflow). Also instructs on alternative flow if no app selected, referencing sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_app_review_overviewA
PREREQUISITE: An app MUST be selected first. Before calling this tool, ALWAYS verify the selected app context. Get review overview metrics for the currently selected app, including rating summary, rating score, positive/neutral/negative review counts, and trend data for an optional date range.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | Optional end date in YYYY-MM-DD format. | |
| start_date | No | Optional start date in YYYY-MM-DD format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the tool retrieves metrics and supports optional date ranges but does not disclose whether it is read-only, side effects, error behavior if no app is selected, or any rate limits. It is adequate but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the prerequisite in bold. It is efficient and no unnecessary words. However, the first sentence could be integrated more smoothly. Still concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, prerequisites, and a brief summary of return content. However, with no output schema, it does not specify the structure of returned data, which is a gap for agent parsing. For a simple tool, it is moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters described in the schema as optional dates in YYYY-MM-DD format. The description adds minimal value by referencing an 'optional date range,' which is already implied. Baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies it retrieves review overview metrics for the currently selected app, including rating summary, score, positive/neutral/negative counts, and trend data. It distinguishes from siblings like 'get_current_app_reviews' by focusing on aggregated metrics rather than individual reviews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit prerequisite: an app must be selected first. It advises verifying the selected app context before calling. However, it does not explicitly mention alternatives or when not to use this tool, such as when detailed reviews are needed instead of overview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_app_reviewsA
PREREQUISITE: An app MUST be selected first. List reviews for the currently selected app only. Use this before like/reply actions so the user can inspect the review list and confirm the target review_id. Supports sort, pagination, collapsed reviews, and platform filter.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Pagination start offset. Default: 0. | |
| sort | No | Review sort mode. Default: "new". | |
| limit | No | Page size. Default: 10, max: 10. | |
| is_collapsed | No | Whether to query collapsed reviews. | |
| filter_platform | No | Optional platform filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly implies a read-only operation via the name and context, but does not explicitly state safety or output details. However, it adds useful behavioral context about supporting sort, pagination, collapsed reviews, and platform filter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the critical prerequisite, every sentence adds value. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main workflow context and parameter intent. However, since there is no output schema, a brief note about the return format would improve completeness, but the current description is still adequate for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by summarizing the parameter groups (sort, pagination, collapsed, platform filter) and tying them to the workflow, which is helpful beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'reviews for the currently selected app', distinguishing it from sibling tools like 'reply_current_app_review' or 'like_current_app_review'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the prerequisite 'An app MUST be selected first' and the recommended context 'Use this before like/reply actions so the user can inspect the review list and confirm the target review_id', providing clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_app_store_overviewA
PREREQUISITE: An app MUST be selected first. Before calling this tool, ALWAYS call get_current_app_info to verify an app is selected. If not, guide user through: 1) Call list_developers_and_apps, 2) Show list to user and ASK them to choose, 3) Call select_app with user confirmation. Get store overview metrics for the currently selected app, including page views, downloads, reserves, download requests, and daily trend data for an optional date range.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | Optional end date in YYYY-MM-DD format. | |
| start_date | No | Optional start date in YYYY-MM-DD format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries the burden. It lists the metrics returned, which adds some behavioral context, but it does not disclose whether the operation is read-only, what happens if no app is selected (error?), any rate limits, or authorization requirements. It is adequate but not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads the prerequisite in bold. Every sentence provides value. It is slightly wordy in the prerequisite workflow, but overall efficient and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 simple optional params, no output schema), the description covers purpose, usage context, prerequisite workflow, and return metrics. It is largely complete but lacks behavioral transparency details like error handling or safety guarantees.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions for start_date and end_date. The description adds that these are optional and affect 'daily trend data', which enriches the meaning. It does not repeat schema details but provides context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves store overview metrics for the currently selected app, listing specific metrics (page views, downloads, reserves, etc.) and optional date range. The verb 'get' and resource 'store overview' are specific, and the description distinguishes from siblings by requiring a selected app and referencing related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisite (app must be selected) and provides a detailed workflow: call get_current_app_info first, and if no app is selected, guide user through list_developers_and_apps, show list, ask user, call select_app. This is exemplary guidance for when to use and when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_app_store_snapshotA
PREREQUISITE: An app MUST be selected first. Before calling this tool, ALWAYS call get_current_app_info to verify an app is selected. If not, guide user through: 1) Call list_developers_and_apps, 2) Show list to user and ASK them to choose, 3) Call select_app with user confirmation. Get a result-oriented store snapshot for the currently selected app, including app card info, current stats, rating summary, 30-day rating trend, version status, and visibility.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It explains the prerequisite and the return content (a comprehensive snapshot). The tool is read-only by nature (get), but it does not explicitly state that it has no side effects. Still, the behavioral context is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first is a critical prerequisite note, the second lists the return contents. No unnecessary words, and front-loads the most important usage condition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lists the types of information in the snapshot (e.g., app card info, stats, rating summary, trend, version status, visibility). It also covers the prerequisite for using the tool. This is complete for the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the description's job is trivial. However, the description adds value by explaining what the snapshot includes, which is more than the schema provides. Baseline for 0 params is 4, but the extra context justifies a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool gets a store snapshot for the currently selected app, listing specific included data (app card info, stats, rating summary, 30-day trend, version status, visibility). This distinguishes it from siblings like get_current_app_info or get_current_app_review_overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit prerequisites are provided: an app must be selected first, and the user is guided to call get_current_app_info and, if needed, a sequence of steps including list_developers_and_apps and select_app. This tells the agent exactly when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_debug_feedbacksA
[H5 Debug Workflow]
Pull user debug feedback records for the selected app, download artifacts (screenshots/logs),
and generate AI-ready debug context files.
**PREREQUISITE: An app MUST be selected first.**
Before calling this tool, ALWAYS call get_current_app_info to verify an app is selected.
If not selected, guide user through:
1) Call list_developers_and_apps to show available apps
2) Show list to user and ASK them to choose
3) Call select_app with user's choice
4) Then call this tool
**DEFAULT BEHAVIOR:**
- fetch_and_mark_processed defaults to true
- download_assets defaults to true
- downloaded files are saved under logs/feed_back/feedback_{id}/
**CALLING POLICY FOR AGENTS:**
- If user says "拉取/查看反馈" without explicit read-only intent, DO NOT pass fetch_and_mark_processed.
Let default behavior (true) apply.
- ONLY pass fetch_and_mark_processed=false when user explicitly requests read-only
behavior (e.g. "只查看,不标记处理").
- When user provides a moment_id (or a TapTap moment URL), pass it via moment_id param to fetch a single feedback.
In this case, fetch_and_mark_processed is automatically forced to false (read-only single lookup).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many feedback records to pull (1-10, default 3). | |
| status | No | Feedback status filter: - 0: all - 1: unprocessed - 2: processed When fetch_and_mark_processed=true, status filter will be ignored by server. | |
| moment_id | No | Optional. Filter to a single feedback by moment_id. Accepts either a pure numeric ID (e.g. "795659996946762795") or a full TapTap moment URL (e.g. "https://www.taptap.cn/moment/795659996946762795") — the handler will extract the numeric ID. When provided, server returns only the matching record, and fetch_and_mark_processed is forced to false (read-only single lookup). MUST be passed as a string to preserve precision for large IDs. | |
| download_assets | No | Whether to download feedback JSON/screenshot/log files to local workspace. Default true. | |
| fetch_and_mark_processed | No | Pull unprocessed records and mark them processed on server. Default true. Set false only for explicit read-only requests. When true, status is ignored. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses default parameter values, file save locations, and the forced read-only behavior when moment_id is provided. However, since no annotations are present (e.g., readOnlyHint, destructiveHint), the description carries full burden and could still mention potential side effects like rate limits, but it adequately covers the main behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear sections (prerequisite, default behavior, calling policy) and includes front-loaded summary. Although it is somewhat verbose, every section adds essential context and earns its place, making it well-organized and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, important prerequisites, and no output schema), the description covers all necessary aspects: prerequisites, default behaviors, parameter interactions, and agent policies. It could provide more detail about the output format or specific error handling, but it is sufficiently complete for effective tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have 100% schema description coverage, and the description adds significant context beyond the schema: it explains moment_id accepts both numeric IDs and full URLs, clarifies that status is ignored when fetch_and_mark_processed=true, and provides default values and usage policies for fetch_and_mark_processed and download_assets.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: pulling debug feedback records, downloading artifacts, and generating AI-ready debug context files. It distinguishes itself from the numerous sibling tools (e.g., check_ads_status, get_current_app_info) by focusing on debug feedback operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Extensive usage guidelines are provided: a prerequisite (app must be selected), a specific calling sequence involving get_current_app_info, list_developers_and_apps, and select_app, default behaviors, and a detailed calling policy for agents regarding the fetch_and_mark_processed parameter when handling moment_id or read-only requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_debug_loggerA
🔧 Get on-screen debug logger / 屏幕日志系统 / 调试日志工具.
CALL THIS WHEN user says:
"添加日志工具" / "add logger" / "add debug tool"
"屏幕日志" / "screen log" / "on-screen log"
"看不到日志" / "can't see logs" / "无法查看控制台"
"移动端调试" / "mobile debug" / "手机测试"
"调试工具" / "debug tool" / "debugging"
"显示日志在屏幕上" / "show logs on screen"
Features:
右下角绿色小圆点 → 点击显示日志面板
日志分级 (log/warn/error),自动去重
支持复制日志,自动拦截 console
移动端友好,非程序员也能用
Returns: DebugLogger setup guide + usage. AI can copy files from /Volumes/Q/MiniGame/Mcp/Tank/DebugLogger to project.
Perfect for: H5 games, mobile testing, non-technical users.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes the tool's return value (guide + usage) and features of the debug logger. It mentions file copying as an AI action, not tool side effect. However, it does not explicitly state that the tool is read-only or non-destructive, which would be ideal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a header, trigger list, features, and return info. It is concise but includes only essential details. Slightly longer than necessary due to multilingual strings, but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description provides sufficient context: triggers, features, return value, and recommended use cases. It could clarify whether the tool itself copies files or just recommends it, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is fully covered. The description does not need to add parameter semantics. Following the rule for 0 parameters, baseline score is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides an on-screen debug logger, with explicit trigger phrases in multiple languages. It is distinct from all sibling tools, which focus on ads, environment, multiplayer, etc. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit list of user requests that should trigger this tool, covering multiple languages and use cases. It also specifies ideal contexts (H5 games, mobile testing, non-technical users). No explicit when-not-to-use, but the triggers are comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_environment_switch_guideA
[Setup Guide] Explain how to switch this MCP server between production and RND environments from an MCP client configuration. Use this when the user asks to switch environment, use RND, test in RND, configure TAPTAP_MCP_ENV, or asks why RND needs TAPTAP_MCP_CLIENT_ID / TAPTAP_MCP_CLIENT_SECRET. This tool returns client config snippets and agent steps; it does not modify files by itself.
| Name | Required | Description | Default |
|---|---|---|---|
| package_tag | No | Optional npm package tag or version to show in examples, such as beta, latest, or 1.21.0. Default: current package without tag. | |
| target_environment | No | Target environment to explain. Use rnd for testing/internal preview. Default: rnd. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool returns client config snippets and agent steps, does not modify files, and implies a safe read operation. It could have mentioned prerequisites, but overall it provides good behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that is front-loaded with purpose and usage. Every sentence adds value. It could be slightly more structured, but it is efficient and not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (a guide with two parameters, both documented in schema), the description is complete. It states the return type (snippets and steps) and explicitly says it does not modify files. No output schema is needed, and no gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds value by explaining the default behaviors (current package without tag for package_tag, and rnd default for target_environment) beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a setup guide explaining how to switch environments, using specific verbs and resources. It distinguishes itself from sibling tools by being the only guide about environment switching, and it explicitly lists triggering user phrases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly specifies when to use the tool: when the user asks to switch environment, use RND, test in RND, configure TAPTAP_MCP_ENV, or asks about RND credentials. It also mentions what it does not do (modify files), providing clear usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_extended_apisA
🟡 Get extended APIs quick reference: createRoom, getRoomList, joinRoom, kickRoomPlayer, disconnect, updatePlayerCustomStatus. ONLY use when user explicitly requests room list UI, custom room creation, friend invitation, or player kick functionality. These are OPTIONAL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether the tool is read-only, what data it returns, or any side effects. It only lists API names.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the purpose and listing APIs. It could be slightly more structured but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should explain what the tool returns. It only says 'quick reference', which implies a list but is not explicit. Missing context on how to interpret the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the description does not need to add parameter semantics. Schema coverage is 100% (empty). The baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it provides a 'quick reference' of specific extended APIs, which is clear. It lists the APIs and distinguishes usage by mentioning optional features, though it could be more explicit about differentiating from sibling tools like 'get_multiplayer_guide'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (user requests specific features) and notes these APIs are optional, providing clear guidance and avoiding misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_leaderboard_integration_guideA
⭐ READ THIS FIRST when user wants to integrate/接入/setup/add leaderboard功能. Returns complete step-by-step workflow. CRITICAL: Emphasizes NO SDK installation - tap is global object. Call this BEFORE making any implementation plans.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It highlights that no SDK installation is needed (tap is global object) and that it returns a workflow. It implies a read-only, non-destructive operation, which is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is short (3 sentences) and front-loaded. The use of emoji and capitals may be slightly excessive, but it effectively emphasizes key points. Could be marginally more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description states 'returns complete step-by-step workflow,' which is adequate for a guide retrieval tool. It provides enough context for the agent to understand the tool's purpose and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the description adds value by explaining the content (step-by-step workflow) and usage priority. Baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a 'complete step-by-step workflow' for leaderboard integration, using a specific verb ('get') and resource. It distinguishes from sibling tools like 'get_ad_integration_guide' by focusing on leaderboard setup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit directives: 'READ THIS FIRST' and 'Call this BEFORE making any implementation plans.' This tells the agent exactly when to use this tool, providing strong contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_multiplayer_guideA
⭐ PRIMARY entry for multiplayer/多人联机/联网游戏.
CORE CONCEPT: Player A does action → sendData() → Other players receive in onDataReceived() → They see it happen.
Returns: Complete guide with code template. Includes: data sync basics, PlayerId usage, sync strategies, protocol guidelines, API-event relationships, built-in debug logger.
🔧 Built-in features:
MultiplayerManager template (complete, production-ready)
Debug logger system (on-screen logs, call get_debug_logger for setup)
Error codes reference (23 error codes)
Connection keep-alive
Message size validation (2048 bytes)
Use when: User wants players to play together, sync game data, see each other's actions.
Perfect for ANY creative H5 game. No game-specific logic needed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool returns a guide with code template and lists built-in features. However, it does not mention any authentication requirements, rate limits, or potential side effects, though the tool appears read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections (core concept, returns, built-in features, usage). It is informative without being overly verbose, though slightly longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description provides comprehensive context about the tool's purpose, usage, and contents (code template, debug logger, error codes, etc.). It fully answers what the tool does and when to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters are defined in the schema, so the baseline is 4. The description adds meaning by explaining what the tool returns and the core concept, compensating for the lack of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is the primary entry for multiplayer guides, defines the core concept with a concrete example, and lists what is returned (complete guide with code template). This distinguishes it from sibling tools like get_multiplayer_code and diagnose_multiplayer_issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Use when: User wants players to play together...' and mentions it's for any creative H5 game. However, it does not provide explicit when-not-to-use guidance or mention alternative sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_player_id_guideA
🔑 Get Player ID usage guide: how to get local player ID from connect(), check "is this me?", handle field name differences (fromPlayerId/playerId/id). Use when implementing player identification logic or debugging player-related issues.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It transparently describes that the tool is a guide providing instructions, not an action tool. It discloses the nature of the content (how to get player ID, check identity, handle field names). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence with an emoji and a concise list of topics. It is front-loaded with the core purpose and has no wasted words. Every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a guide with no parameters and no output schema, the description is complete. It explains what topics are covered and when to use it. No additional information is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema description coverage is trivially 100%. The description does not need to add parameter information. Baseline score of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's a usage guide for getting player ID, listing specific topics like retrieving local player ID from connect(), checking identity, and handling field name differences. It distinguishes itself from sibling tools which are mostly other guides or technical actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when implementing player identification logic or debugging player-related issues.' This provides clear context, though it does not mention when not to use or alternatives. Given sibling tools are different guides, the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_protocol_templateC
⚠️ CRITICAL - Communication protocol template to ensure consistency.
PURPOSE: Prevent AI from using different protocols for different features.
COMMON MISTAKE (AI often does this):
Feature 1: { type: 'click', x, y }
Feature 2: { action: 'move', pos: {x, y} } ❌ Inconsistent!
SOLUTION: Define protocol ONCE at project start, reuse for ALL features:
All messages: { type: string, ...data }
Consistent structure across all game features
Use when: Starting multiplayer implementation, adding new interaction types.
This is a MAJOR source of bugs - keep protocol consistent!
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. The description explains the intent (prevent inconsistency) but does not describe actual behavior like what the tool returns or how it operates. It lacks typical behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose, includes emojis, bold formatting, and repetitive warnings. It is not concise and could be streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no parameters and no output schema, the description fails to specify what the tool actually provides (e.g., the template format). It is incomplete in explaining the tool's output or behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so baseline 4 applies. The description adds context about protocol importance but does not detail parameter semantics since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not clearly state what the tool does. It focuses on preventing protocol inconsistency rather than explaining that it provides a template. The purpose is ambiguous; it reads more like a guideline than a tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides some usage guidance: 'Use when: Starting multiplayer implementation, adding new interaction types.' However, it does not mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sync_strategyA
🎮 Get synchronization strategy guide for joystick/WASD controls and click-based movement. Includes timer-based sync pattern (100ms interval) and change detection. Use when implementing position synchronization or continuous input handling.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although no annotations are provided, the description discloses the guide's contents (timer-based sync pattern, change detection). Since the tool is a simple 'get' operation, it is assumed safe and read-only. The description adds useful behavioral context beyond what structured fields provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the purpose and immediately provide usage guidance. Every word adds value, and there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no output schema), the description is nearly complete. It details the guide's content and usage context. It could optionally mention the output format, but it's not a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the parameter schema is trivially covered. The description adds no parameter details, but none are needed. The baseline score of 4 is appropriate as the description does not detract from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a synchronization strategy guide for specific control types (joystick/WASD, click-based movement). It uses a specific verb ('Get') and identifies the resource, distinguishing it from sibling guide tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use when implementing position synchronization or continuous input handling.' While it doesn't mention alternatives or when not to use, the context is clear and sufficient for the AI agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_leaderboard_scoresA
Get user leaderboard scores. Requires MAC Token authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max entries (default 10) | |
| leaderboardId | No | Leaderboard ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds authentication requirement ('MAC Token'), which is beyond schema but lacks other behavioral details (e.g., response format, user scope, rate limits). With no annotations, description partially carries the transparency burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with clear purpose and essential auth note; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema and description of return values; for a data retrieval tool, missing details on user scope (e.g., current user vs specific user) and response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions; description does not add further meaning to parameters beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Get') and resource ('user leaderboard scores'), distinguishing it from sibling tools like 'list_leaderboards' which lists leaderboards themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no exclusions or prerequisites beyond authentication (which is behavioral, not usage context).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vibrate_integration_guideA
⭐ USE THIS TOOL FIRST when user asks about vibrate/振动/震动/vibration/haptic feedback/触觉反馈 functionality, wants to integrate/接入/setup/add/使用 vibrate功能, searches for vibrate API documentation/文档/教程/示例, asks how to use vibrate/vibrateShort/vibrateLong, needs vibration code examples/代码示例, or asks about vibration intensity/震动强度/震动类型. Returns complete step-by-step workflow. CRITICAL: Emphasizes NO SDK installation - tap is global object. Call this BEFORE making any implementation plans.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses one key behavior: 'NO SDK installation - tap is global object'. However, it lacks details about authentication, rate limits, or potential side effects, leaving gaps in transparency for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but each sentence adds value, especially the front-loaded usage directive. Some redundancy in listing synonyms for vibrate, but overall well-structured and not excessively verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a guide tool with no output schema, the description states it returns a 'complete step-by-step workflow' and highlights a critical fact (no SDK). However, it does not detail the content of the guide (e.g., code examples, troubleshooting) which would improve completeness. The tool is simple, but more detail would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description adds value by explaining what the tool returns (complete step-by-step workflow) beyond the empty schema, but since no parameters exist, additional parameter details are not relevant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a step-by-step workflow for vibrate/haptic feedback integration, using specific verbs and resource. It distinguishes from sibling tools by explicitly targeting vibrate-related queries and instructing to use this tool first for such topics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'USE THIS TOOL FIRST' and 'Call this BEFORE making any implementation plans', providing clear when-to-use guidance. It lists many related keywords (vibrate, vibration, haptic feedback) and implies alternatives for other topics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
like_current_app_reviewA
PREREQUISITE: An app MUST be selected first. Like a specific review for the currently selected app. IMPORTANT: Before calling this tool, first identify the target review by calling get_current_app_reviews or by showing the exact review to the user, then ASK for confirmation. DO NOT guess the target review_id. This tool only supports a single review like action.
| Name | Required | Description | Default |
|---|---|---|---|
| review_id | Yes | Target review ID to like. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states only a single like action is supported, but does not mention side effects (e.g., idempotency, authentication requirements, or if the like can be undone). This is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a prerequisite, main action, important note, and constraint. It is concise but could be slightly shorter without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple like action with one parameter and no output schema, the description covers the prerequisite, the need for confirmation, and the single-action limitation. Minor details like result format are missing but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'review_id' has a clear schema description. The description reinforces its purpose but adds no new semantic information beyond the schema. Baseline 3 is appropriate given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('like'), the resource ('specific review for the currently selected app'), and the prerequisite (app must be selected). It distinguishes itself from siblings like 'reply_current_app_review'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit instructions are given: first identify the review using 'get_current_app_reviews' or showing to the user, then ask for confirmation. Warnings against guessing the review_id are clear, providing strong guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_developers_and_appsA
[General App Management] List developers and apps/games for the current user, including both level games and non-level games. For large accounts, the human-readable response shows a paged preview plus total counts; call again with offset/limit to continue. CRITICAL: Show the returned preview/counts to the user and explicitly ASK them to choose which app to use or provide app_id/name keywords - DO NOT automatically select an app without user confirmation, even if there is only one option. Use this for: 1) Initial exploration of available apps, 2) Switching between apps, 3) General app management (not H5 upload workflow). For H5 game upload, use prepare_h5_upload instead.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of apps to show in the human-readable preview. Defaults to 40, max 100. | |
| offset | No | Number of apps to skip before showing the preview. Use the suggested next offset to continue. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains pagination behavior (paged preview, total counts, offset/limit) and includes a critical instruction about user confirmation. It fully discloses behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but well-structured with a bold critical instruction. Every sentence adds value, and it is front-loaded with key actions. Could be slightly trimmed but efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the return format (paged preview, total counts) and how to paginate. It covers all necessary context for a list tool, including user interaction guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, baseline 3. The description adds meaning by explaining that limit controls the preview size and offset skips entries, with context about paged responses, beyond the schema's brief descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists developers and apps/games for the current user, distinguishing it from sibling tools by explicitly mentioning to use prepare_h5_upload for H5 game upload. It provides specific verb and resource context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use (initial exploration, switching apps, general app management) and when not to use (H5 upload, directing to prepare_h5_upload). It also gives a critical instruction to show preview to user and ask for confirmation, aiding correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_leaderboardsA
PREREQUISITE: An app MUST be selected first. Before calling this tool, ALWAYS call get_current_app_info to verify an app is selected. If not, guide user through: 1) Call list_developers_and_apps, 2) Show list to user and ASK them to choose, 3) Call select_app with user's choice. List all leaderboards for currently selected app. IMPORTANT: When multiple leaderboards exist, ALWAYS show the complete list to the user and explicitly ASK them which one they want to use - DO NOT automatically choose a leaderboard without user confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (optional, default 1) | |
| page_size | No | Page size (optional, default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the need for user confirmation but does not mention error behavior, rate limits, or authentication requirements. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with bold emphasis on key points, but slightly verbose with repeated guidance. Most sentences are informative and earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description does not explain the return format or fields of leaderboards. It covers prerequisites and usage well but lacks return value information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description adds no extra parameter information beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'List all leaderboards for currently selected app' which is a specific verb and resource. It clearly distinguishes from sibling tools like get_user_leaderboard_scores and publish_leaderboard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisite (app must be selected) and provides step-by-step instructions if not. Also warns against automatically choosing a leaderboard, giving clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_h5_uploadA
[H5 Game Upload Workflow - Step 1]
Use this tool when user wants to publish/upload/deploy H5 game ('发布', '上传', '部署').
**PREREQUISITE: An app MUST be selected first.**
Before calling this tool, ALWAYS call get_current_app_info to verify an app is selected.
If not selected, guide user through:
1) Call list_developers_and_apps to show available apps
2) Show list to user and ASK them to choose
3) Call select_app with user's choice
4) Then call this tool
This tool will:
1. Verify the game project directory (must contain index.html)
2. Read app info from cache (selected via select_app)
3. Return confirmation info for user to review
After gathering info, use upload_h5_game to upload the game.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | If user provides a specific game genre, use it directly. If user is unsure or doesn't specify, analyze the code files, game mechanics, UI elements, and gameplay features in the project directory to determine the most appropriate game genre. Available genres keys: rpg, casual, action, strategy, simulation, trivia, arcade, adventure, card, sports, racing, puzzle, educational, music, word, board, and the chinese name of the genre is 角色扮演, 休闲, 动作, 策略, 模拟, 益智, 街机, 冒险, 卡牌, 体育, 竞速, 知识问答, 教育, 音乐, 文字, 桌面和棋类. When analyzing, consider game rules, player interactions, visual elements, and core gameplay loops. If still uncertain after analysis, default to 'casual' as fallback. | |
| gamePath | No | **MUST be a relative path** to the H5 game build output directory. ✅ Correct: "dist", "build", "output", "." ❌ Wrong: "/workspace/dist", "/tmp/build" (absolute paths not allowed) **BEHAVIOR:** - If user specifies directory, pass that relative path - If user doesn't specify, ASK: "请问游戏构建产物在哪个目录?(如 dist、build)" - If index.html is in project root, pass "." or leave empty - DO NOT guess - confirm with user if unsure |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly lists the internal steps: verifying the game project directory, reading app info from cache, and returning confirmation info. It does not mention auth requirements or rate limits, but it is transparent enough for a preparatory step.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections, but it is somewhat verbose, particularly in the prerequisite explanation. However, every sentence adds value, and the structure aids clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description mentions that it returns 'confirmation info for user to review', but does not detail what that includes. However, it covers the workflow, prerequisites, and next steps adequately for a preparatory tool among many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant value beyond the schema. For genre, it explains how to determine the genre if not specified, including analysis of game files. For gamePath, it clarifies the relative path requirement and provides example correct and wrong paths.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is Step 1 of the H5 game upload workflow, used when the user wants to publish/upload/deploy H5 games. It distinguishes itself from sibling tools like upload_h5_game and others by specifying its role in the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool, the prerequisite of having an app selected, and provides a clear step-by-step process for handling the case when no app is selected. It also mentions the next tool to call (upload_h5_game) after gathering info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_leaderboardA
PREREQUISITE: An app MUST be selected first. Publish leaderboard or set to whitelist-only mode. Before calling this tool, ensure an app is selected by calling get_current_app_info. IMPORTANT: If the leaderboard ID is not clear, call list_leaderboards first, show the list to the user, and ASK them which leaderboard they want to publish - DO NOT automatically select a leaderboard.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Leaderboard database ID (required) | |
| publish | Yes | true=publish (public), false=whitelist only (required) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains the tool alters leaderboard visibility (publish or whitelist-only) and includes critical behavioral instructions (do not auto-select). It does not mention potential side effects like irreversibility or permission requirements, but the provided context is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences, each adding essential information: prerequisite, purpose, and a safety warning. It uses bold for emphasis and front-loads the requirement. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two required parameters, no output schema, and no annotations, the description provides complete context: what it does, prerequisites, how to resolve ambiguous IDs, and parameter meaning. It lacks only return value info, which is acceptable without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parameters. The description adds behavioral context (e.g., 'publish=true means public') but does not extend beyond schema definitions. The value is in the prerequisite and warning, which indirectly clarify usage of 'id' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool publishes a leaderboard or sets it to whitelist-only mode. It uses a specific verb ('Publish') and resource ('leaderboard'), but does not explicitly distinguish from sibling tools like 'create_leaderboard' or 'list_leaderboards'. However, the action is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit prerequisites: 'An app MUST be selected first' and directs to 'get_current_app_info' if not. It also advises calling 'list_leaderboards' to clarify the ID and instructs to ask the user rather than auto-selecting. This is exemplary guidance for when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reply_current_app_reviewA
PREREQUISITE: An app MUST be selected first. Reply to a specific review as the official app identity. CRITICAL: Always make sure the user has reviewed and approved the reply content before calling this tool. The server applies risk grading: LOW can be sent directly, MEDIUM/HIGH usually return a draft and need explicit follow-up confirmation. Only set confirm_high_risk=true after the user explicitly approves sending the risky draft.
| Name | Required | Description | Default |
|---|---|---|---|
| contents | Yes | Official reply content to send. | |
| review_id | Yes | Target review ID to reply to. | |
| reply_comment_id | No | Optional comment ID if replying to a specific review reply. | |
| confirm_high_risk | No | Only set to true after the user explicitly confirms sending a MEDIUM/HIGH risk draft. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses risk grading behavior (server applies risk, returns draft for MEDIUM/HIGH, requires confirmation) and that the tool sends as official app identity. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with bold headings for prerequisites and critical notes. Concise yet covers all essential points without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema. Description explains risk grading and confirmation flow, which is complete for a reply tool with potential drafts. Misses return type details but covers critical behavioral aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds meaning: explains confirm_high_risk should only be set after explicit approval, and contents is the official reply. This provides context beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Reply to a specific review as the official app identity.' This distinguishes it from sibling tools like 'like_current_app_review' and 'get_current_app_reviews', specifying the verb 'reply' and the resource 'review'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisites: 'An app MUST be selected first.' and critical guidance: 'Always make sure the user has reviewed and approved the reply content before calling this tool.' Also explains risk grading and when to set confirm_high_risk.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_appA
[General] Select a specific developer and app to use for subsequent operations. Supports both level games and non-level games. This will cache the selection for all modules (leaderboard, H5, current-app community tools, etc.). IMPORTANT: Only call this tool AFTER the user has explicitly confirmed which app they want to use. DO NOT call this tool automatically without user confirmation. Use this for: 1) General app selection, 2) Switching accounts, 3) After listing with list_developers_and_apps and receiving user confirmation. For H5 upload, you can also pass developerId/appId to prepare_h5_upload directly.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | App/Game ID to select (required) | |
| developer_id | Yes | Developer ID to select (required) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the caching side effect ('will cache the selection for all modules') and the critical user confirmation constraint. It does not mention auth or rate limits, but the caching and confirmation guidance are sufficient for this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a few sentences covering purpose, important note, and use cases. It is front-loaded with the core action and avoids fluff, though slightly repetitive in listing use cases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema, no annotations), the description adequately covers purpose, usage guidance, behavioral impact (caching), and when not to call. It could mention return value or errors, but the core context is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds no additional meaning beyond what the schema already provides for developer_id and app_id. The baseline of 3 is appropriate as the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Select a specific developer and app to use for subsequent operations' with a specific verb and resource. It distinguishes itself from sibling tools by mentioning caching across modules and listing use cases like switching accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit instructions are provided: 'Only call this tool AFTER the user has explicitly confirmed which app they want to use. DO NOT call this tool automatically without user confirmation.' It also gives when to use (general selection, switching accounts, after listing) and an alternative for H5 upload.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_oauth_authorizationA
[Auth] Start OAuth 2.0 Device Code Flow to get authorization URL. Use this when: 1) User explicitly wants to authorize, 2) User needs to login or switch account, 3) Token expired or invalid. Returns a QR code URL for user to scan with TapTap App.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool returns a QR code URL for scanning with the app, but does not detail side effects like creating a pending authorization record or any state changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences. Each sentence earns its place: purpose, use cases, return value. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description covers the essential: what it does, when to use, and what it returns. It could mention prerequisites (e.g., app must exist) but is adequate for a start tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema coverage is 100% trivial. The description adds value by explaining the return (authorization URL/QR code) which gives context beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Start' and the specific resource 'OAuth 2.0 Device Code Flow' with the outcome 'get authorization URL'. It distinguishes from the sibling tool 'complete_oauth_authorization' by indicating this is the initiation step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists three explicit use cases: explicit authorization, login/account switch, and token expiry. It provides clear context for when to use, though it does not mention when not to use or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_app_infoC
Update the app's information on TapTap platform including name, genre, description, icon, banner, screenshots, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| icon | No | Icon URL (JPG/PNG, minimum 512x512 pixels) | |
| appId | Yes | The app id of the game | |
| genre | No | Game genre | |
| banner | No | Banner image URL (JPG/PNG, max 4MB, minimum 1920x1080 pixels) | |
| appName | No | The name of the app | |
| trialNote | No | Developer notes for review (trial_note) | |
| description | No | The description of the app | |
| developerId | Yes | The developer id of the app | |
| screenshots | No | Screenshot URLs (up to 4 images). Requirements: 1) Landscape: aspect ratio 8:3 to 8:5, min 1280x720px; 2) Portrait: aspect ratio 3:8 to 5:8, min 720x1280px; 3) All images must have the same aspect ratio as the first one. | |
| chattingLabel | No | The name of the QQ group | |
| chattingNumber | No | The number of the QQ group | |
| screenOrientation | No | The screen orientation of the app, 1: portrait, 2: landscape |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It indicates a mutation ('Update') but offers no details on permissions, side effects, validation rules, or whether updates are partial or full replacements. This is insufficient for safe agent invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of about 20 words, which is concise. However, it includes the vague phrase 'and more' and lacks structured organization (e.g., bullet points or ordering). It is not front-loaded with critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 12 parameters and no output schema, the description is minimal. It does not explain the update behavior (e.g., whether all fields must be provided, order of processing, or return value). For a complex tool, this leaves significant gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters with detailed requirements (e.g., image dimensions). The description adds a general list of fields but no new semantic depth beyond what the schema provides, thus baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Update) and resource (app's information), listing specific fields like name, genre, description, icon, banner, screenshots. This effectively distinguishes it from sibling tools like create_app or get_current_app_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, nor any prerequisites or conditions. The description simply says 'Update the app's information' without context on when updates are appropriate or scenarios to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_h5_gameA
[H5 Game Upload Workflow - Step 2]
Upload the H5 game to TapTap platform after user confirms info from prepare_h5_upload.
**PREREQUISITE: An app MUST be selected first.**
This tool reads app info from cache (selected via select_app or create_app).
If no app is selected, it will return an error guiding user to select one first.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | If user provides a specific game genre, use it directly. If user is unsure or doesn't specify, analyze the code files, game mechanics, UI elements, and gameplay features in the project directory to determine the most appropriate game genre. Available genres keys: rpg, casual, action, strategy, simulation, trivia, arcade, adventure, card, sports, racing, puzzle, educational, music, word, board, and the chinese name of the genre is 角色扮演, 休闲, 动作, 策略, 模拟, 益智, 街机, 冒险, 卡牌, 体育, 竞速, 知识问答, 教育, 音乐, 文字, 桌面和棋类. When analyzing, consider game rules, player interactions, visual elements, and core gameplay loops. If still uncertain after analysis, default to 'casual' as fallback. | |
| gamePath | No | **MUST be a relative path** to the H5 game build output directory. ✅ Correct: "dist", "build", "output", "." ❌ Wrong: "/workspace/dist", "/tmp/build" (absolute paths not allowed) Use the same path confirmed in prepare_h5_upload step. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the tool reads app info from cache and returns an error if no app is selected. However, it does not describe any potential side effects, idempotency, or whether uploads can overwrite existing ones. Adequate but could be more detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with a workflow label, purpose, prerequisite, and error behavior. Information is front-loaded. The parameter details are in the schema, keeping the main description focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers prerequisite and error handling, but lacks details on return values or post-upload state. Given the simple parameter set, it is moderately complete but could provide more information on the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with detailed parameter descriptions in the schema. The main description only adds context about using the same path from prepare_h5_upload. Baseline score of 3 is appropriate as schema handles the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (upload), the target (H5 game to TapTap platform), and the workflow context (step 2 after user confirmation). Distinguishes itself from prepare_h5_upload as the subsequent step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisite: an app must be selected first. Describes error behavior when prerequisite is not met, guiding user to select an app. Provides clear context for when to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_imageA
Upload an image to TapTap server and get a URL. Use this to upload icon, banner, or screenshots before calling update_app_info. Accepts either a local file path or base64 encoded image data.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | No | Local file path to the image (relative to workspace or absolute). Supports JPG, PNG, GIF, WebP. | |
| filename | No | Optional filename for the uploaded image. If not provided, will be derived from filePath or default to "image.png". | |
| base64Data | No | Base64 encoded image data. Can include data URL prefix (e.g., "data:image/png;base64,...") or be raw base64 string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the action (upload), accepted inputs (file path or base64), and outcome (get a URL). It does not mention authentication, rate limits, or side effects, but for a simple upload tool this is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. All information is essential and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters and no output schema, the description is mostly complete. It explains the input choices and the return (URL), though it could specify the URL format or any additional return fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explicitly noting that filePath and base64Data are alternatives, and connecting the tool's purpose to the parameters (icon, banner, screenshots).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: upload an image to TapTap server and get a URL. It specifies image types (icon, banner, screenshots) and the workflow context (before calling update_app_info), distinguishing it from sibling tools like upload_h5_game.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Use this to upload icon, banner, or screenshots before calling update_app_info.' It does not explicitly mention when not to use or alternatives, but the context is sufficient for correct tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Tools are grouped by feature (ads, multiplayer, leaderboard, etc.) with clear prefixes and detailed descriptions. However, many 'get_*_guide' and 'get_*_integration_guide' tools could cause some confusion if descriptions are not carefully read.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., check_ads_status, create_leaderboard). No mixing of cases or irregular styles.
52 tools is excessively high. While each sub-area is reasonably scoped, the total number overwhelms the agent and suggests poor scoping of the server's responsibilities.
The tool set covers major workflows (ads, multiplayer, leaderboard, share, H5 upload, community). Minor gaps exist, such as no update/delete for leaderboards or share templates, but those are noted as requiring developer center.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Connect AI agents to 1000+ apps with managed authentication and tool-calling.
Related MCP Servers
AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with AccelByte Gaming Services APIs through semantic search, detailed API information retrieval, and authenticated API execution for game backend operations.Apache 2.0- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to access and interact with personal data from platforms like Steam, YouTube, Bilibili, Spotify, and Reddit for personalized, context-aware interactions.60MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage TickTick/Dida365 tasks, projects, and tags through the MCP protocol, with features for GTD-based task organization and OAuth authentication.1810ISC

antics-mcpofficial
AlicenseAqualityBmaintenanceEnables AI agents to deploy multiplayer web games as playable URLs with rooms, live state sync, and leaderboards, all through a single tool call.41455Unlicense - libtelnet variant
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/taptap/instant-games-open-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server