Skip to main content
Glama

学程 MCP · StudyFlow

仅供学习用途,严禁用于刷课。 请遵守平台规则、课程要求及学术诚信规范;不得用于代学、代考、伪造学习记录、绕过本人验证或批量获取学分。

源码与桌面程序按 GPL-3.0-only 发布,第三方组件保留各自许可;使用声明不改变开源许可证的权利与义务。详见 第三方声明。

v1.9.4 桌面与便携包

下载 Windows 便携包 · 使用教程与截图 · 故障处理与回归 · 版本说明

解压便携包,双击 StudyFlow.exe。无需另装 Python;使用本机 Microsoft Edge。课程自动读取,已有账号使用启动/关闭状态按钮。源码也可直接运行 python desktop/app.py,首次启动自动连接本地后端。

Related MCP server: UNAHUR-MCP

当前直接执行路线(1.9.1,2026-10-21)

课程使用 MCP 进程内 requests 登录会话和 Playwright 独立浏览器。工具发现不启动浏览器;信息收齐后按指定模式启动,默认无头。下文 1.6.x 的浏览器控制器段落为历史接口说明,不代表当前默认路线。

setup_learning_accounts 的每条账号可带 courses 精确课程名列表及可选 notify_email。全部账号有课程列表时,默认 execution_mode="parallel" 自动启动;不固定账号/并发数量上限。每账号一个独立 MCP/浏览器进程,账号内严格顺序。browser_mode="headless" 无窗口;"minimized" 有界面但最小化静音。execution_mode="sequential" 保留单浏览器顺序模式。

  • batch_runner.py:默认本地脚本队列、目录确认、播放和断点状态;不调用模型 API。

  • parallel_runner.py:独立账号进程及收件隔离;已有当前账号浏览器复用,其余账号各自启动。

  • start_parallel_learning_batches / parallel_learning_status:启动及缓存汇总。

  • parallel_account_tool:将必要题目观察、模型审阅及单次提交路由到对应账号;审阅后 resume_learning_batch 继续。

  • playback_health.py / smtp_notifications.py:进程心跳、持续暂停告警和验证截图邮件,凭据仅内存。

视频的普通检查、恢复和自动推进由脚本完成。未审阅题目、验证码、人脸、账号异常和未知提交保留现场;不跳过冒充完成。资源不足按账号记录失败。状态文件没有密码、cookies、SMTP 授权码或签名 URL;服务重启须重新输入凭据并核验平台进度。

历史 1.6.x 接口说明

一个服务,两个业务模块:

  • learning_flow.py、course_extension.py:登录识别、课程队列、章节任务与单会话回读。

  • course_tasks.py:账号清单、HTTP课程清单辅助、截止事项和错题读取。

  • exam_tasks.py:考试逐题读取、审阅、暂存、切题和整卷复核。

  • studyflow.py:统一 MCP 入口与任务分流。

client.py、quiz.py、exam.py、exam_browser.py、exam_extension.py 和 assets/ 是底层实现与资源。 当前回归测试位于 tests/。

启动

统一注册名为 studyflow,唯一模块入口为 chaoxing_learning_mcp。将本项目 src 加入 PYTHONPATH 后运行:

python -B -m chaoxing_learning_mcp

历史版本 1.6.5。桌面配置已指向同一个入口与源码目录,不需要另建测试服务;运行版本须读取 capabilities 确认。

1.6.5新增 plan_learning_browser_recovery:每条流程最多一次的宿主恢复计划,遇待提交/未知结果、 人脸与账号警告时拒绝。恢复路径为空白页DOM验证后在同一Edge会话导航并独立回读,不是MCP内后台驱动。 恢复后若tab改变须显式处理旧绑定,当前实现不自动替换绑定。重复失败停止,不反复开页或登录。

1.6.4补齐门户中实际出现的“学习空间 → 新版课程/课程”控件导航与个人空间课程iframe读取分支。 有同名控件时不猜选,不从截图臆造跳转URL;这些仍是宿主正常UI操作计划,不是后台浏览器驱动。 门户导航出现不等于登录成功,须在后续页面独立确认账号状态。

1.6.3新增明确待完成章节状态解析与首个待完成章节选择,以及 homework 路由和 inspect_homework_browser 空作业检查。非空作业答题/提交适配尚未实现,不混用章节或考试提交入口。 MCP仍需宿主浏览器控制器执行点击;尚无服务内后台Edge执行器、两分钟通知调度器或系统弹窗。

课程:登录到任务队列

begin_learning_flow(browser_id, tab_id, courses) 接收按顺序的课程名称、course_id、class_id、用户提供的课程URL。 宿主已持有本轮授权凭据时传 credentials_available_to_controller=true;否则流程返回请求凭据, 宿主收到用户输入后调用 acknowledge_flow_credentials,不把密码作为工具输出或持久化文件。 随后持续把同一标签页的真实 URL 与 DOM 交给 observe_learning_flow,由它识别登录页、 匹配课程清单中精确ID/名称、检查班级、读取目录、分流测验/视频,返回下一项页面操作计划。 若课程列表尚未打开,返回页面实际可见的新版课程/课程/搜索导航;目标课程URL已由用户提供时可直接使用。 整个流程不建立另一份HTTP会话,不转移cookies,不启动新浏览器。

登录页返回现有页面的账号密码控件,控制器填入用户已提供的凭据;服务不接收或回显密码。 点击前调用 mark_flow_login_attempt,一次尝试后必须独立回读,不盲目重复登录。 协议接受和验证码属于当前操作确认门槛,不由代码自动同意或绕过。 章节测验使用prepare/release/confirm工具;视频用正常UI播放及真实媒体采样工具。 learning_flow_progress 返回当前课程、平台目录计数和历史记录,不把已规划步骤算作已执行。 defer_learning_item 按用户要求记录卡住的章节/课程并向后推进;被跳过不等于完成。 登录和多终端等账号级阻塞不通过换课绕过。

注意:这是宿主浏览器控制器协作的MCP链路,不是服务器内置的独立浏览器机器人。 验证新工具注册及本地状态机不代表真实平台端到端验证;以实时 capabilities.version、 learning_flow 字段和实际回读为准。服务重载前仍是旧工具集。

单会话任务执行

课程默认采用与考试相同的浏览器控制器协作模式,不再调用独立无头 Edge。 旧的独立浏览器测验和视频入口及其实现已移除,不自动回退或恢复。 HTTP 账号清单功能仍保留,但此流程不使用重复登录或导出浏览器 cookies。

  1. 用已有浏览器扩展读取现有 Edge 标签页的 URL、DOM,调用 attach_course_browser(tab_id, browser_id, page_url, html_source)。服务内只绑定一个标签页;切课仍用该标签页。

  2. observe_course_browser 接收该标签页最新 DOM(目录或测验 iframe 的实际 URL 和 HTML)。 已判分题只读取、跳过。密文字体、未知结构或题目缺失均阻止作答,不在页面注入解码脚本。

  3. 完整审阅后 prepare_course_quiz 校验既有 v2 答题规则。控制器用正常可见控件选择答案, 再采集新 DOM 交给观察接口;release_course_quiz 检查内容未变及实际已过去随机2–5秒。 一份计划仅放行一次,平台提交由当前页面正常控件执行,不能重放结果不明的计划。

  4. 提交后独立读取判分页交给 confirm_course_quiz。只有完整逐题对错、得分与满分值才更新确认缓存。 不完整判分保持待确认、不重复提交;不把计划成功当作已完成或满分。

  5. 视频同样由现有页面正常播放,控制器用只读 DOM 获取至少两次实际媒体时间、 实际解码帧数、单调观察时间、静音和1倍速状态,交给 inspect_course_media。 该工具不会播放、拖动、伪造前台状态或上传进度;媒体推进不等于平台任务点完成。 任务点完成还须直接读取平台标记或目录增量。

多终端警告会锁住本轮流程,不自动忽略、不继续切课。先在原浏览器处理冲突,再重载服务重新绑定。 修改磁盘代码不刷新当前 MCP 进程。重载后须以 capabilities.course_transport 的 legacy_independent_browser_disabled=true 和新工具注册为准;未重载前不要调用旧浏览器工具。

调用

先调用 capabilities、route_learning_task(task_type)。 task_type 支持 course、quiz、video、deadlines、exam; 前四种归入课程任务,最后一种归入考试。

课程测验使用上方单会话观察与审阅流程;仍为密文字体时跳过等待支持,不猜字。 视频通过现有页面真实播放并返回媒体采样证据。 ICS 导出需要日历客户端导入,不等于主动提醒服务已运行。 账号凭据只保存在服务内存,不写入源码或配置。

考试默认使用浏览器协作模式,无需 CDP:现有浏览器控制器通过允许的只读 API 采集当前 URL 与 document.documentElement.outerHTML,交给 attach_exam_browser。 MCP 返回结构化题目及精确 verified_cache,由 prepare_exam_browser_step 校验答案并生成选项状态与操作计划。 浏览器控制器执行正常选择,再调用 wait_exam_browser_save 随机等待2–5秒并重新校验审阅, 取得 save_ready=true 后重查题目与选项,再点击“下一题/整卷预览”,导航回读原题或读取整卷预览, 交给 confirm_exam_browser_draft 比较已保存答案;之后 refresh_exam_browser 读取下一题。 exam_browser_progress 返回已验证数量,最后 audit_exam_browser_preview 比对整卷。 MCP 不直接控制扩展,不自动获取 cookies 或执行页面脚本;保存证据依赖控制器提供的独立回读。 计划生成不等于页面已操作,勾选状态不等于平台已保存。

可选 CDP 模式仍保留:route_learning_task('exam', transport='cdp') 返回 attach_exam_session → 审阅 → run_exam_question_loop → audit_exam_preview。 CDP 连接需要明确配置的本机 endpoint;服务不扫描端口或复制账号资料。 本服务不执行最终交卷,原定剩余 50 分钟交卷已取消。

答案优先使用当前题干和全部选项指纹完全匹配、未被拒绝的 platform_confirmed 缓存; 未命中由当前会话模型分析,不确定、证据冲突或缺少课程依据时才联网检索,结合来源复核。 旧缓存及部分得分不属于已验证命中。未命中时考试审阅须有 model_reviewed=true、certain=true 和 basis; 联网辅助时须提供 used_web_search=true 与非空 HTTPS sources。模型和搜索由当前会话负责,MCP 负责约束校验。 多选逐项审阅选中和排除理由,并检查指定数量。 曾判错或部分得分的组合不直接复用;保存成功不代表答题正确。 真实平台连接状态以实际工具回读为准,本地启动成功不代表考试已连接。

CDP 保存同样实际随机等待2–5秒并重查当前题。所有多选都检查选中和排除理由,包括恰选两项; 题干数量要求相互冲突时停止。已拒绝组合在缓存查询和保存入口均被拦截,部分得分不推断完整答案。 最终交卷须另获用户明确指示;平台开放评分后,读取实际评分页给 inspect_exam_grading_html。 只有完整逐题对错与得分一致确认满分时才报告100%;预览一致或评分未开放时不作满分结论。 该评分解析器仅识别明确的题目对错标记与得分,不对未支持的页面结构猜测评分。

多选审阅 v2 与错题记录

课程和考试共用同一审阅校验器。未命中精确平台确认缓存的多选,必须提交 policy_version: 2、question_scope、scope_basis 和覆盖全部选项的 option_checks。 question_scope 取 general_definition 或 course_enumeration。 “一般有用/现实中正确”不证明“本节列举/本题要求包含”;不以全选、漏选修补或评分倒推代替证据。

每项检查包含 verdict: include|exclude、addresses_exact_question: true、 general_truth_only: false、evidence、evidence_kind。 课程列举题必须使用 evidence_kind: course_material,附 source(HTTPS)和 locator(段落/页码/视频时间位置)。通用定义可使用 model_definition 或有 HTTPS 来源的 authoritative_definition。第三方答案库只做线索,不单独证明课程选项边界;有疑问整题暂停。 字段完整仅证明完成了证据审阅声明,MCP 不会自动判断材料真伪或保证正确率。

get_wrong_questions 读取输出目录下 studyflow-mistakes.json:保存完整题干、选项、 错误组合、逐题得分及原审阅依据,不保存密码、cookies 或签名链接。 判错组合在课程及考试入口拦截,读取题目时附错题提醒。未知/缺失判分不作为判错。 仅有平台明确判分才能确认正确组合;错题记录不会生成未经核验的“正确答案”。 已经显示判分的课程测验在读取/提交入口阻止重复提交。 磁盘升级需重载 MCP 后生效;旧进程不因文件修改自动更新。

1.6.6 卡片识别修正

章节卡片不再假设只有两个或固定顺序。读取全部可见 dct数字 控件,按标题和 active/aria-selected 区分学习目标、视频、章节测验;学习目标先阅读,再通过实际视频标签进入播放器。下一节 可能切卡片或章节,每次操作后重新识别,不连续盲点。

没有媒体时先检查当前卡片及嵌套 iframe,普通内容页不判为播放器故障;视频内页空白只能记加载状态未知。只有真实控制请求失败才记连接故障。重复或冲突控件不自动选择,验证及账号守卫不变。此更改需要服务重载,磁盘版本不代表运行版本。

宿主自动恢复约定

已安装技能 C:/Users/xyh/.codex/skills/chaoxing-exam-mcp/references/autonomous-recovery.md 定义 Edge 诊断、原配置启动、一次页面恢复、重新登录、门户导航、任务核对与静音播放。诊断入口为同技能 scripts/diagnose-edge.ps1。这些由活跃宿主执行;服务没有新增后台驱动,当前网页读取超时仍需现场验证。

1.7.0 登录、门户与截止信息

固定登录入口为 https://passport2.chaoxing.com/login;已登录时复用原页,不重复登录。 classify_learning_portal 区分 i.mooc.chaoxing.com/space/index 与 i.chaoxing.com/base, 按各自导航优先级匹配真实控件,不拼接带签名的课程入口。 学习目标卡片跳转到实际视频或章节测验;跳过不计作完成。

inspect_homework_browser 现在解析明确的非空作业链接、状态和截止标签; 尚未覆盖的结构返回未知,coverage=observed_page_only,不据此宣称已经检查全部作业。 evaluate_homework_deadlines 使用北京时间、默认24小时窗口,排除已提交/已完成,区分临期与逾期。 日期没有明确时分时不猜截止时刻。ICS 使用UTC时间并转义文本。 这些是库存解析与提醒候选;尚未启动持续监控或发送通知。

章节观察一次返回当前 DOM 的全部题目;已发现分页、总数冲突或缺题时阻止准备提交。 complete_count_verified 明确区分已核对题目总数与仅提取当前页面。 独立批量HTTP取题尚未完成真实接口接入,不能把 DOM 解析称作HTTP接口已跑通。 考试继续逐题暂存并在整卷预览结束,不最终交卷。

验证:23项本地测试通过;独立stdio进程注册46个工具。 桌面已连接进程仍须以实时capabilities为准;新工具注册需重载,不借库存热更冒充整服务更新。 浏览器官方恢复后可以导航,但真实登录页DOM读取仍超时;登录、视频、评分与整卷预览尚未完成本轮真实验证。

1.9.1 直接课程浏览器(2026-10-20)

课程默认路线为用户明确启动的 requests 登录 + MCP 内单线程 Playwright。 调用 import_accounts → login_accounts → start_course_browser(channel="msedge") → goto_course_page → inspect_owned_page/find_chapter_links → open_course_chapter。 页面和登录属于 MCP 进程而非聊天轮次;服务重启需要重新导入账号并登录,密码和 cookies 不落盘。 重复 start 复用原实例;不同账号/浏览器需显式 stop,禁止覆盖句柄。 browser_status 返回真实存活检查、server_pid、generation、worker_failed 和提交状态。

选择卡片以 inspect_owned_page 返回的实际 dct 控件为准,不能假定 dct2 永远是测验。 页面可能异步加载,cards 为空或 loading=true 时先独立观察,不宣称控制失败或没有任务。 control_owned_video 仅通过播放器控件静音1倍播放/暂停及读取真实采样,不拖动或写入进度。 已完成任务点跳过;媒体推进/结束不等于平台确认完成。

测验 observe_chapter_quiz → prepare_course_quiz → 新观察 → release_course_quiz → submit_chapter_quiz。选择使用实际 radio/checkbox 行和 class/aria/native checked 回读, 完全匹配所有选项后等待2–5秒,只点击唯一可见“提交”控件一次。超时或结果未知不重放。 题量采用全卷“题量/总题数”,不把分题型“共N题”当总数。保留分页/缺题/冲突阻断。

refresh_direct_implementation 是显式受控代码更新:只在工作线程空闲且没有未知提交结果时, 保留浏览器、线程、会话和代次更新课程后端及解析器。丢弃未提交计划须显式传 discard_unsubmitted_plan=true,再重新观察和审阅。不会借库存热更新伪装整服务更新。 新工具注册和首次加载仍需重新连接 MCP;仅磁盘版本变化不等于桌面已加载。

提交确认支持课程主页面的“确认提交?”弹窗,只在提示所属容器内点击一次。 read_chapter_quiz_grading 独立回读已有评分;未知提交结果保留计划并阻断重放和关闭。 评分页通过课程/测验身份、逐题 ID、题干、已有选项及实际提交答案核对,兼容只读版式。 新版没有逐题满分时,用逐题得分总和、总成绩和总满分交叉核对;部分得分不提升缓存可信度。 首次播放器“知道了”提示通过正常界面关闭,保持静音 1 倍速,不强行穿透遮挡层。

视频内随堂题通过 observe_video_question 读取完整题干/选项与当前页面 token; answer_video_question 只接受当前模型明确审阅的确定答案,通过真实 radio 和提交控件操作。 核对题目未变化、选择实际登记后等待2–5秒,只提交一次。结果不明不重放; 恢复播放不冒充明确判分,最终视频任务以平台完成标记和目录增量确认。

共享 QQ SMTP 与多账号通知

可选:先调用 configure_smtp_sender(sender_email, smtp_auth_code) 设置一套发件邮箱和 SMTP 授权码(不是邮箱登录密码)。然后 import_accounts 每条记录填写 account_id、username、password,并可选填写不同的 notify_email。不填收件邮箱的账号跳过邮件通知;需要修改时调用 bind_account_notification_email。也可先绑定收件人,之后配置共享发件人。

凭据只保存在服务进程内存;重启后重新输入。不要把真实密码、授权码放进 README、mcp.json、日志或任务状态。不同账号的学习浏览器和进度独立,当前服务仅串行控制一个账号。

视频或页面检测到人脸/二维码验证时,本地事件服务进入15秒验证等待。仅截取唯一明确 QR 标记的可见图像;同一二维码去重,仅平台明确过期时点击唯一可见刷新控件,待新二维码出现后继续发信(最短30秒去抖),验证通过后停止。缺失二维码或控件歧义时仅发文字提醒、保留现场,不绕过验证。普通视频仍按事件及预计结束时间检查,不每15秒轮询视频。

SMTP 通过 smtp.qq.com:465 TLS 发信;邮件操作及图片保留内存,发送在独立线程中执行。失败/未知不重放同一码;smtp_notification_status(account_id) 返回缓存结果,smtp_accepted 仅表示 SMTP 接收。邮件配置未完成时,课程仍可使用,验证改由聊天提示。

参考项目与许可证见 THIRD_PARTY_NOTICES.md。当前自动化测试覆盖账号绑定、去重、刷新条件、TLS 邮件结构等;真实课程二维码适配与邮箱投递还需用实际账户验证。

默认自动浏览器

StudyFlow 服务连接启动时自动打开一个有窗口的独立 Edge,未输入账号时显示超星官方登录页。输入账号并登录后复用同一实例,不另开浏览器;播放时按既定设置静音、1.25倍速和最小化。同一 MCP 进程只保留一个学习账号浏览器;不同客户端进程各自独立。仅需协议或无浏览器测试时可设置环境变量 STUDYFLOW_AUTO_BROWSER=0 关闭自动启动。服务断开时正常清理自己拥有的浏览器。

静默启动与多账号

启动默认添加 --start-minimized 并通过真实窗口接口最小化,不最大化、不抢前台。信息收集完后调用 setup_learning_accounts 导入账号和可选邮箱配置、登录首个账号;剩余账号按输入顺序保留。当前账号任务完成后 login_accounts([下一账号ID]) 或 activate_learning_account 复用同一个浏览器进程,先关闭旧账号上下文再创建隔离上下文,不同时打开多账号窗口。验证待处理、测验计划待提交或提交结果未知时禁止切换。原生窗口建立瞬间是否出现取决于系统与浏览器,不承诺完全无窗口闪现。

两种模式统一选择

登录前调用 configure_course_browser(mode="headless") 选择完全无窗口,或 mode="minimized" 选择有窗口但最小化(默认)。也可在 setup_learning_accounts 中传入同名 browser_mode 参数。启动默认值可用环境变量 STUDYFLOW_BROWSER_MODE=headless|minimized 设置。

两种模式都是同一份 MCP、同一个账号串行队列,不为每个账号再启动浏览器;切换账号只替换隔离上下文。模式切换必须在登录前进行,先关闭旧实例再启动新模式,避免并存。活动账号/验证/提交现场不会被模式切换静默销毁。owned_window_status 可只读核对窗口状态和上下文/页面数。

Incremental parallel account admission

After importing a new account, call add_parallel_learning_accounts(accounts=[{"account_id":"new-account","courses":["Exact course name"]}], browser_mode="headless", rate=1.25). An existing supervisor reuses unchanged account queues and starts only newly admitted accounts. Repeated start/setup calls use the same admission path; queue or mode conflicts are reported without replacing existing workers. New logins never activate in the parent browser. The supervisor remains available after initial workers finish. A new account is not a retry: ACCOUNT_NOT_REGISTERED points to admission, while recovery still requires a confirmed terminal worker and no review/submission attempts. OS lease files must not be deleted to bypass a live account owner.

This is a source update; running older processes require a suitable explicit update opportunity. It does not restart browsers or load itself into another host automatically.

Long-running recovery and optional SDK bridge

Transient read failures (empty/loading frames, detached frames, execution context replacement, read timeouts) use per-task local 1/2/4 second backoff. Verification, closed browsers, pending reviews/submissions and unknown outcomes do not use this retry path. Quiz review is a host-model responsibility, not a user intervention notice. Existing safe pause recovery remains event driven.

runtime_health returns cached diagnostics without page/credential reads. outputs/studyflow-lifecycle.jsonl records process start, transport return/EOF, exception type and shutdown; it rotates at 256 KiB and omits exception messages/arguments. Abrupt OS kills may leave no shutdown entry; absence alone is not a diagnosis.

For a host-independent loopback bridge, explicitly launch python -B -m chaoxing_learning_mcp --bridge --port 8791 in a suitable persistent process environment. The official MCP SDK multiplexes requests; account locks are separate. Ordinary TCP client disconnects do not close the owned MCP. No auto-restart, disk-credential loading, browser prelaunch or unknown-submission replay occurs. This optional entrypoint is not activated merely by updating source. Never replace an active service/port to apply it mid-task.

1.9.2 consolidation

2026-10-22 runtime fixes: read-only requests ProxyError/Timeout recovery is bounded per account; TLS/verification/submission guards retain priority. Grading normalizes class/chapter URL aliases while retaining full quiz/question/answer checks. The explicit recover_graded_parallel_account compatibility tool independently verifies complete platform scores before retiring only an old stuck worker through its SDK lifecycle. It never replays submissions or restarts healthy accounts; the recovered worker starts a new hourly reporting interval. Ordinary pending/unconfirmed outcomes remain protected. Actual ended playback without platform completion remains unresolved, rather than being counted as complete.

  • Media initialization waits up to 8 seconds for real metadata in the selected frame before the existing 1.25 adapter; detach/loading uses bounded same-account recovery. Actual media errors remain explicit and never silently fall back to 1x.

  • Account switching clears the binding dictionary without replacing its type, and preserves the configured 1.25 default.

  • submit_reviewed_chapter_quiz mechanically normalizes an explicitly reviewed answer set, enforces the original evidence policy, waits the required interval, obtains a fresh observation and submits once. It never invents answers or upgrades uncertainty.

  • Stage notices list newly confirmed videos, each quiz score (and individual item points when captured), verified remaining task counts and remaining target courses. Unknown counts stay unknown.

  • 22 obsolete/diagnostic tool entrypoints are omitted from default discovery. Internal adapters and tests remain intact. Set STUDYFLOW_ENABLE_LEGACY_TOOLS=1 only for explicit compatibility needs; exams, SMTP, face screenshots and submission guards remain enabled.

  • The SDK bridge supports __tools__ for actual tool-discovery verification. Starting this service does not import credentials or resume a paused course.

Available Tools

134 tools
activate_learning_accountA

Activate next sequential account in ONE browser process, replacing only its isolated context.

Never switch across unknown submissions, pending review plans, or verification. Caller must finish/record the current account's tasks before advancing.

NameRequiredDescriptionDefault
account_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral burden. It usefully discloses that activation happens in one browser process, replaces only the isolated context, and requires the current account's tasks to be finished first. It does not clarify permission requirements, whether the replacement is reversible, or what happens to unrecorded state beyond the stated guardrails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core action stated first and the safety constraints immediately after. Every sentence contributes useful information without repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. However, with no annotations and 0% schema description coverage, the description should more fully clarify account_id semantics and the side effects of replacing the isolated context. The stated guardrails are valuable but do not fully close the gaps for this mutation-like account-switching tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter is account_id, and schema description coverage is 0%. The description does not explain what account_id represents, how it relates to the 'next sequential' account, or any expected format. With low schema coverage, the description should compensate but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: activating the next sequential account within one browser process. It also clarifies scope by saying only the isolated context is replaced, which helps distinguish it from parallel/batch account tools. However, 'next sequential account' is somewhat ambiguous given that a required account_id is supplied, and no sibling tool is named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit constraints: never switch across unknown submissions, pending review plans, or verification, and the caller must finish or record the current account's tasks before advancing. This is strong when-to-use and prerequisite guidance, though it does not name a specific alternative tool for other account-switching scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_parallel_learning_accountsC

Append imported accounts to this supervisor; reuse existing queues unchanged.

Does not stop, re-login, navigate or rebuild existing workers. Conflicting existing queues are reported, not replaced. Use retry only for terminal failures.

NameRequiredDescriptionDefault
rateNo
accountsYes
state_dirNo
browser_modeNoheadless

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose real semantics: it will not stop, re-login, navigate or rebuild existing workers, and conflicts are reported rather than overwritten. That is genuinely useful non-destructive context, but nothing is said about permissions, idempotency on duplicate accounts, or what the call returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action and its non-destructive guarantee are front-loaded in the first two sentences, with the conflict and retry rules following. It is compact with little waste, though the final retry sentence reads as a fragment whose referent tool is unclear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations mean the description must cover behavior and return shape, yet it omits what the per-account object must contain, what happens on partial success, and what the 'reported' conflicts look like. For a mutation tool that ingests an opaque array, this is a significant shortfall.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for four parameters, and the description explains none of them. Critically, 'accounts' is a required array of untyped objects with additionalProperties:true, so the description had to define the per-account fields, and it does not; 'rate', 'state_dir' and 'browser_mode' are likewise unmentioned.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Append' plus the resource 'imported accounts' and the target 'this supervisor' is specific and tells an agent this is an additive registration step, not a full setup. It implicitly separates the tool from setup_learning_accounts/import_accounts, though it never names those siblings, so the differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use retry only for terminal failures' points toward retry_parallel_account and gives one usage rule, and 'conflicting existing queues are reported, not replaced' implies when not to expect replacement. But there is no explicit statement of when to choose this over import_accounts, setup_learning_accounts, or start_parallel_learning_batches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_exam_htmlA

Parse an already captured exam HTML offline; no network or platform writes.

NameRequiredDescriptionDefault
html_sourceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the safety burden and does disclose something genuinely useful: no network calls and no platform writes, i.e. a pure read-only offline transform. However it says nothing about behavior on malformed/empty HTML, whether it fails or partial-parses, or what it extracts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with zero filler; the offline/read-only constraint is stated up front.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and a one-parameter tool is simple. The remaining gap is provenance of html_source, which an agent must guess at among many capture-related siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single required html_source param, so the description must compensate. It only hints that the value is previously captured exam HTML; it does not specify raw HTML string vs. file path vs. saved capture artifact, which is the main ambiguity in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb (parse) and resource (exam HTML) with the scope qualifier 'already captured ... offline', which separates it from live-page siblings like inspect_exam_page. It does not name any sibling explicitly, so it falls short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'already captured exam HTML offline' implies the precondition that HTML must have been obtained beforehand (e.g. via capture/observation tools), but no alternative tool is named and no explicit when-not guidance is given. Usage must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

answer_video_questionC

Select one reviewed radio answer and submit once in the observed video popup.

NameRequiredDescriptionDefault
basisYes
answerYes
reviewNo
certainYes
model_reviewedYes
question_tokenYes
retry_rejectedNo
repeat_confirmedNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It mentions submitting once in the observed popup, but does not explain side effects, permissions, error handling, or what happens on retry, rejection, or repeated confirmation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words, but for an 8-parameter mutation tool with no schema descriptions, that concision comes at the cost of essential structure and detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex: 8 parameters, 5 required, no annotations, and 0% schema description coverage. The one-sentence description gives only the core action and omits parameter meaning, prerequisites, alternatives, and behavioral constraints; an output schema helps with return values but not with calling the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are 8 parameters with 0% schema description coverage, and the description does not meaningfully explain required fields like question_token, basis, certain, model_reviewed, or the retry/repeat flags. 'Reviewed' and 'once' loosely gesture at model_reviewed and repeat behavior, but this is far from adequate compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: select one reviewed radio answer and submit it in the observed video popup. It distinguishes the action from pure observation tools like observe_video_question, though it does not explicitly name sibling alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'observed video popup' and 'reviewed radio answer' imply use after observation and review, and 'submit once' hints at single-submission behavior. However, the description does not explicitly say when to use this instead of observe_video_question or continue_rejected_video_question.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

attach_course_browserB

Bind the existing Edge tab. Controller supplies DOM; MCP opens no browser.

NameRequiredDescriptionDefault
tab_idYes
page_urlYes
browser_idYes
html_sourceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose one meaningful negative behavior: no browser is launched, and a live tab plus controller-supplied DOM are required. It says nothing about prerequisites (must start_course_browser run first?), failure modes if the tab_id is stale, or whether binding steals focus or invalidates the prior session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two terse sentences, front-loaded with the action and followed by the key constraint; there is no filler. It is arguably too short given the parameter load, but that gap is scored under completeness rather than here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A four-required-parameter binding tool with no annotations cannot be adequately specified in two sentences. The output schema covers return values, but prerequisites, what 'bind' changes about the page/browser state, and the meaning of the inputs are all missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across four required parameters, so the description must compensate and largely does not. "Controller supplies DOM" hints that html_source is the page markup handed in by the caller, but tab_id, browser_id, and page_url have no stated meaning, format, or source.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: bind (attach to) an existing Edge tab. The second sentence adds scope — the controller supplies DOM and MCP launches nothing. It does not, however, distinguish itself from near-siblings like attach_exam_browser or start_course_browser, leaving the agent to infer which attach variant applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Bind the existing Edge tab" implies the precondition that a tab already exists, and "MCP opens no browser" implicitly contrasts with start_course_browser. But no alternative is named and no explicit when-not condition is given, so the routing is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

attach_exam_browserA

Bind an existing extension-controlled tab using its observed DOM; no CDP or login.

Browser controller supplies document.documentElement.outerHTML through its supported read-only API. MCP parses it; all actual UI actions stay with that controller. No cookies, debugger commands, script execution or platform writes.

NameRequiredDescriptionDefault
tab_idYes
exam_urlYes
html_sourceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it explicitly states the read-only boundary (no cookies, no debugger commands, no script execution, no platform writes) and that all UI actions remain with the controller. It omits what the binding itself changes on the MCP side and what happens if the supplied DOM is malformed or the tab is stale.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action in the first clause, followed by the mechanism and the safety boundary. Three short sentences with almost no waste; only the redundant restatement of "read-only API" plus the trailing negative list adds slight bulk.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the safety/mechanism story is covered. Still missing for a tool in a dense exam-browser family: how it relates to attach_exam_session and refresh_exam_browser, and what state exists after binding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three required parameters. The description meaningfully explains html_source's provenance (document.documentElement.outerHTML via the controller's read-only API), which is the least obvious argument, but leaves tab_id and exam_url entirely undefined in both schema and prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Bind an existing extension-controlled tab using its observed DOM" gives a specific verb and resource, and the qualifier "no CDP or login" narrows the mechanism. It never distinguishes itself from near-identical siblings such as attach_exam_session, attach_course_browser, or refresh_exam_browser, so an agent cannot route on the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the tool is for the case where a browser controller already holds a tab and can hand over outerHTML. There is no explicit when-to-use/when-not or pointer to the sibling that should be chosen for a fresh attach, a refresh, or a course (non-exam) page.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

attach_exam_sessionB

Attach exactly one existing exam tab through an explicitly configured local CDP endpoint.

Does not launch browsers, log in, or navigate. The browser must already expose the endpoint. Reuse the returned run_id throughout the sequential workflow.

NameRequiredDescriptionDefault
exam_urlYes
cdp_endpointYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden and does well: it discloses the no-launch/no-login/no-navigate boundary, the endpoint-must-already-exist prerequisite, the exactly-one-tab constraint, and the run_id reuse pattern. It omits failure behavior when multiple or zero tabs match.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, the core action front-loaded, with the negative constraints next and the workflow note last. No filler, though the line wrapping is unnecessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape is covered, and the run_id note helps. Still missing is any disambiguation from similarly named attach_* siblings and any parameter format guidance for a tool with 0% schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two parameters, so the description must compensate. It hints that cdp_endpoint is an explicitly configured local endpoint and that exam_url identifies the tab, but gives no format for the endpoint (host:port vs ws://) or how the URL is matched. The gap remains substantial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: attach exactly one existing exam tab through a configured local CDP endpoint. But siblings attach_exam_browser and attach_exam_session are near-identical in name, and the description gives no cue distinguishing session attachment from browser attachment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the precondition that a browser is already running and exposing the endpoint, and rules out launching, logging in, or navigating. It never names an alternative tool or says when to pick this over attach_exam_browser or attach_course_browser.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audit_exam_browser_previewC

Audit all observed preview answers; earlier unreviewed questions remain unverified.

NameRequiredDescriptionDefault
run_idYes
tab_idYes
exam_urlYes
html_sourceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden, and it discloses almost nothing: it does not say whether auditing mutates state, whether it consumes or finalizes preview answers, what permissions or session state it needs, or what 'unverified' means operationally. With zero annotations and a mutation-ambiguous verb, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loaded, but the brevity comes from ambiguity rather than efficiency; the second clause is cryptic and does not clearly earn its place given how little the first clause establishes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, but with four required undocumented parameters, no annotations, and no explanation of the audit's effect on session state, the definition is far short of what an agent needs to invoke this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and all four parameters (run_id, tab_id, exam_url, html_source) are undocumented in both schema and description. The description adds no meaning whatsoever about what any parameter should contain or how html_source relates to the audit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'Audit all observed preview answers' gestures at a verb-plus-resource, but 'audit' is undefined and the second clause ('earlier unreviewed questions remain unverified') reads more like a caveat than a scope statement. It is not distinguishable from close siblings such as audit_exam_preview or preview_owned_exam_questions, which use nearly identical vocabulary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus audit_exam_preview, preview_owned_exam_questions, or review_current_exam_answer. The clause about unreviewed questions hints at a precondition but never says what to do about it or when the tool should be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audit_exam_previewC

Compare every answer in the full preview against this run's reviewed saved answers.

NameRequiredDescriptionDefault
run_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only comparison, but does not state whether the operation is read-only, whether it records mismatches, what happens on failure, or whether it has side effects. The existence of an output schema means return structure need not be described, but behavior is still under-specified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. It is efficiently sized, though the terms 'full preview' and 'reviewed saved answers' are ambiguous enough that conciseness comes at the expense of clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter audit tool with no annotations, the description is too thin. The output schema covers return values, but the definition lacks behavioral context, usage conditions, and parameter meaning needed for an agent to invoke the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single parameter 'run_id' has no schema-level description. The phrase 'this run's' faintly gestures at run_id, but the description does not explain what a run is, where run_id comes from, or how the preview and saved answers are scoped to that run. The description must compensate for the schema gap and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Compare every answer in the full preview against this run's reviewed saved answers.' This gives a clear idea of an audit/comparison operation. However, it does not differentiate this tool from the similarly named sibling 'audit_exam_browser_preview' or explain what 'full preview' and 'reviewed saved answers' mean in this system.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives such as 'audit_exam_browser_preview', 'verify_owned_exam_saved_answer', or 'preview_owned_exam_questions'. It implies an audit scenario but provides no when-to-use, when-not-to-use, or prerequisite context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bind_account_notification_emailB

Bind this learning account's recipient; empty skips mail. Requires shared sender for delivery.

NameRequiredDescriptionDefault
account_idYes
recipient_emailNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden. It discloses an important edge case (empty skips mail) and a delivery prerequisite (shared sender), but says nothing about permissions, reversibility, or how the binding affects existing notification settings. The presence of an output schema reduces the need to explain return values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded, with no wasted clauses. The phrasing is compact to the point of being slightly cryptic, but it conveys the key behavioral caveat efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation tool with no annotations, the description covers the empty-recipient behavior and shared-sender prerequisite. It still omits the relationship to nearby notification configuration tools and the meaning of account_id, leaving the agent to infer important context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters. The description clarifies the recipient field by noting that an empty value skips mail, but it leaves account_id unexplained beyond 'this learning account's', so the schema gap is only partially compensated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Bind') and target ('this learning account's recipient'), making the purpose of associating a notification email clear. It does not explicitly distinguish this from notification setup siblings such as configure_smtp_sender or configure_smtp_notifications, but the binding action itself is identifiable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives the useful condition that an empty recipient skips mail and requires a shared sender for delivery, which is a prerequisite. However, it does not say when to choose this tool versus configuring SMTP notifications or sending notification tests, leaving usage implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

browser_run_logC

Return the full structured stage log; optionally write it to a JSON file.

NameRequiredDescriptionDefault
pathNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that the tool optionally writes a JSON file, which is useful, but it does not say whether writing overwrites an existing file, whether the operation requires permissions, how large the log may be, or whether reading the log clears it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Every clause adds information: the return value and the optional file-write behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. However, for a tool with a file-writing side effect and a parameter at 0% schema coverage, the description omits when to use it, how writing behaves, and what the path should point to.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema alone gives little meaning to 'path' beyond being an optional string defaulting to empty. The description compensates by explaining that a path causes the log to be written to a JSON file, though it does not clarify whether the path is a file or directory, overwrite behavior, or extension handling.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Return the full structured stage log.' It is clear what the tool does, but it does not distinguish itself from nearby diagnostic siblings such as browser_status, runtime_health, or implementation_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many other browser and status tools, nor any preconditions or exclusions. The only implied usage is retrieving a stage log, which the name already suggests.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

browser_statusA

Owned-browser lifecycle state plus the recent stage log.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses the returned content (lifecycle state plus recent stage log), which is useful, but does not explicitly state that it is read-only, whether it requires an active owned browser, or any side effects or permission constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. It efficiently states the resource and the two pieces of information returned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters and an output schema present, the description does not need to explain return values in detail. It adequately covers the tool's scope, though it could improve sibling differentiation by naming when to use this instead of related log/status tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there are no parameter semantics to explain. The baseline for a zero-parameter tool is 4, and the description does not need to compensate for any schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (owned browser) and states two concrete outputs: lifecycle state and recent stage log. It is clearer than a bare status tool, though it does not explicitly distinguish itself from nearby log/status siblings such as browser_run_log or owned_window_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no mention of alternatives, and no exclusions. The agent can infer this is a status-checking tool, but given the many sibling status and log tools, selection guidance is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

capabilitiesB

Describe supported operations and explicit mutation boundaries.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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 does disclose that the output includes 'explicit mutation boundaries,' which is useful behavioral context for an agent assessing safety. It does not explicitly state that the tool itself is read-only or side-effect-free, nor mention any auth requirements, leaving a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. Every word contributes to the stated purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description need not explain return values. For a zero-parameter meta tool, however, it still fails to scope what 'supported operations' means (whole server? current account? tool set?) and omits any safety statement, leaving the agent to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The description correctly does not waste space on parameters that do not exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb ('Describe') and an object ('supported operations and explicit mutation boundaries'), which is more than a tautology. However, it never says what these operations belong to (this server, the tool suite, the account?) and gives no hint of how it differs from adjacent introspection tools like runtime_health or implementation_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this tool versus alternatives such as runtime_health or implementation_status, nor any stated preconditions. The agent must infer that this is a discovery/introspection tool from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

claim_current_accountB

Register the current worker's OS lease without logging in or opening a browser.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry behavioral disclosure. It usefully says no login or browser is required, but it does not explain lease duration, exclusivity, idempotency, or what state is changed when the worker is registered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the verb and key constraint, with no filler. It is appropriately sized for a zero-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema can explain return values and the empty input schema means invocation is trivial, but the description still leaves selection among many account/browser siblings ambiguous. It is minimally adequate but not complete for an agent navigating this large toolset.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the schema has no semantic burden and the baseline is 4. The description adds no parameter detail, which is appropriate because there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Register') and resource ('current worker's OS lease') and adds a constraint that separates it from login/browser-based siblings. 'OS lease' is somewhat jargon-heavy, but the purpose is still identifiable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It hints at usage by saying no login or browser is needed, but never states when to choose this over login_accounts, open_account_browser, or start_account_workspace. There are no explicit exclusions or preconditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

classify_learning_portalC

Classify exact portal hosts/paths without fabricating navigation URLs.

NameRequiredDescriptionDefault
page_urlYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses only that the tool avoids fabricating navigation URLs; it does not say whether the operation is read-only, what it returns, what errors may occur, or whether it requires prior page state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is very terse and somewhat fragmentary, but that is a content gap rather than structural verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists, so return-value details need not be in the description. For a simple one-parameter classifier, the description covers the core purpose and an anti-fabrication constraint, but it leaves usage context and parameter meaning under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single page_url parameter. The description mentions portal hosts/paths but does not explain that page_url is the input, what URL format is expected, or how the host/path should be supplied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb/resource pair: classify exact portal hosts/paths. The anti-fabrication constraint also signals this is a classification tool rather than a navigation tool, which helps distinguish it from sibling tools like goto_course_page. It does not name a sibling alternative, so a 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without fabricating navigation URLs' implies a constraint on how results should be used, but there is no explicit when-to-use, when-not-to-use, or alternative-tool guidance among the many sibling navigation and inspection tools. The agent must infer the usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

close_account_workspaceB

Pause this account and close its browser only after preserving exam/write guards.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description must fully convey behavior. It mentions preserving exam/write guards but does not explain what that entails, what side effects occur, or what happens if guards are not preserved. The description is too vague to inform safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. However, the phrase 'only after preserving exam/write guards' is somewhat cryptic and could benefit from clarification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even with zero parameters and an output schema, the description is incomplete because it does not clarify what 'pause this account' means operationally, what 'exam/write guards' are, or under what conditions the tool should be used. More context is needed for an agent to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline score is 4. The description correctly provides no parameter details, as there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states specific actions: 'pause this account' and 'close its browser', with a condition about preserving exam/write guards. This distinguishes it from siblings like start_account_workspace or return_account_to_background, but does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as return_account_to_background or stop_course_browser. The phrase 'only after preserving exam/write guards' implies a prerequisite but not a usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

configure_course_browserA

Choose ONE mode for the entire account batch BEFORE login.

headless: no window. minimized: visible-capable independent Edge, starts minimized. Reuse the current process-owned browser for every account. A mode change before login closes the old browser FIRST, never opens a second concurrent instance.

NameRequiredDescriptionDefault
modeNoheadless

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does well: it discloses that the process-owned browser is reused across accounts, that a mode change closes the old browser FIRST, and that no second concurrent instance is ever opened. It omits what happens if the call is made mid-login or whether the batch must be restarted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded with the most important constraint (one mode, chosen before login) followed by mode definitions and side effects. The telegraphic fragments ('headless: no window.') are efficient, though the line breaks make it slightly less scannable than a single structured sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be described; what remains — scope (whole batch), timing (before login), and lifecycle side effects — is covered. Missing only the failure mode when the precondition is violated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must carry the single parameter — and it does, defining both enum members (headless = no window; minimized = visible-capable independent Edge starting minimized). Only the default/omitted behavior is left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description makes clear this sets the browser display mode for the whole account batch, and enumerates the two modes with brief definitions. It doesn't differentiate itself from nearby window tools such as minimize_owned_window or use_window_viewport, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit timing constraint: 'Choose ONE mode for the entire account batch BEFORE login' — that is real usage guidance about when to call it. It does not name alternatives or say what happens if invoked after login, so it stops short of a full when/when-not statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

configure_desktop_preferencesD
NameRequiredDescriptionDefault
auto_reviewNo
course_queuesNo
reviewer_configNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

configure_notification_intervalD
NameRequiredDescriptionDefault
minutesNo
account_idYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

configure_smtp_notificationsA

Optional per-account QQ SMTP configuration. Use authorization code, NOT QQ password.

All empty fields skip notifications. Recipient defaults to sender. Notification permission covers only verification reminders and actual verification QR PNGs. Secrets remain in this MCP process memory and are never included in responses.

NameRequiredDescriptionDefault
enabledNo
account_idYes
sender_emailNo
smtp_auth_codeNo
recipient_emailNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and discloses a lot: auth must use an authorization code not the QQ password, empty fields disable notifications entirely, recipient defaults to sender, and secrets stay in process memory and never appear in responses. It does not say whether a call overwrites existing configuration or whether configuration is per-account isolated from the global sender settings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences with zero filler; the critical authentication warning is front-loaded immediately after the purpose statement, and the security note is appropriately last.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the description covers auth method, defaults, scope limits, and secret handling. The remaining gap is the meaning of account_id and the enabled flag relative to the 'empty fields' rule, which an agent would want to know before calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so every parameter's meaning must come from the description; it explains smtp_auth_code (authorization code, not password), recipient_email (defaults to sender), and the empty-field semantics that apply to all string params. It leaves account_id and the enabled boolean entirely unaddressed, so compensation is partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific resource and scope: per-account QQ SMTP notification configuration. The word 'configure' is implied by the tool name and the paragraph clearly delimits scope ('Notification permission covers only verification reminders and actual verification QR PNGs'). It does not explicitly differentiate itself from the sibling configure_smtp_sender or bind_account_notification_email.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Optional' signals this is a setup step, and the note that all-empty fields skip notifications implies the caller may use it to disable or to configure partially. However, there is no explicit statement of when to prefer this tool over configure_smtp_sender, send_notification_test, or bind_account_notification_email, nor any prerequisites beyond needing an authorization code.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

configure_smtp_senderA

Configure ONE shared QQ sender for all learning accounts. Per-account recipients are separate.

QQ ordinary password is not required; SMTP authorization code stays in memory. Does not send a test email automatically.

NameRequiredDescriptionDefault
enabledNo
sender_emailNo
smtp_auth_codeNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does add real context: the QQ ordinary password is not used, the authorization code lives only in memory, and no test email fires. It omits what happens on reconfigure (overwrite? merge?), what enabled=false disables, and what privileges are needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the scoping rule, followed by three short sentences that each add a distinct fact. No filler, though the telegraphic fragments read as notes rather than a structured description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. But this is a configuration mutation with zero annotations and zero schema descriptions, and key questions — overwrite semantics, effect of enabled=false, handling of blank defaults — remain unanswered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across three parameters, so the description must compensate. It meaningfully clarifies smtp_auth_code (an SMTP authorization code, not the account password, held in memory) and implies sender_email's role, but says nothing about 'enabled' or how the empty-string defaults behave.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource ('configure ... sender') and pins the scope precisely: ONE shared QQ sender for all learning accounts, with per-account recipients handled elsewhere. This cleanly separates it from recipient-binding breadth without naming the sibling tool explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for when to call it — setting up the shared SMTP identity — and two implicit exclusions: per-account recipients are a different operation, and no test email is sent here (pointing usage of send_notification_test elsewhere). It stops short of naming those alternative tools directly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confirm_exam_browser_draftB

Verify the original question's saved answer in independent navigation DOM readback.

In-place selected state alone is insufficient: controller must obtain HTML after navigation/reload or from the full preview. This does not save answers.

NameRequiredDescriptionDefault
run_idYes
tab_idYes
plan_idYes
exam_urlYes
html_sourceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It does disclose the key non-obvious trait ('This does not save answers'), which tells the agent this is a read-only verification, but it says nothing about side effects on the run/tab, failure conditions, or what happens if the readback mismatches. Adequate but thin for a zero-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short lines: purpose first, then the rationale/precondition, then the explicit non-behavior. Front-loaded and free of filler, though the phrasing is telegraphic enough that some sentences need re-reading.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five required, wholly undocumented parameters and no annotations, the description leaves the agent guessing how run_id/plan_id/tab_id relate to the browser session. The output schema covers return values, but the calling contract is incomplete given the dense sibling set it must be distinguished from.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and all five parameters are required and undocumented. The description only obliquely hints at html_source ('must obtain HTML after navigation/reload or from the full preview') and says nothing about run_id, tab_id, plan_id, or exam_url, so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (verify) and a specific object (the original question's saved answer) plus the evidence source (independent navigation DOM readback). It is clear what the tool does, but it never distinguishes itself from the near-identical sibling verify_owned_exam_saved_answer, and the jargon ('controller', 'DOM readback') assumes domain fluency.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'In-place selected state alone is insufficient: controller must obtain HTML after navigation/reload or from the full preview' gives a concrete precondition for calling it and rules out a tempting wrong usage. It stops short of naming an alternative tool or stating the pipeline order relative to save_owned_exam_answer / verify_owned_exam_saved_answer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

continue_rejected_video_questionB

Explicit user-requested dismissal via the player's existing continue callback.

Retains the wrong grading, never resubmits an answer, seeks or claims completion. No automatic dismissal policy is enabled by this one-time operation.

NameRequiredDescriptionDefault
question_tokenYes
user_requestedNo
repeat_confirmedNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses that grading is retained unchanged, no answer is resubmitted, completion is neither sought nor claimed, and no automatic dismissal policy is created. Still missing are idempotency/repeat behavior and any permission or failure-mode context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core behavior front-loaded and no filler. The phrasing is dense and slightly jargony ('continue callback', 'seeks or claims completion'), which costs a little immediate comprehensibility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Behavioral narration is solid and an output schema exists, so return values need not be explained. However, a three-parameter mutation-like tool with zero annotation coverage and zero schema descriptions leaves the agent guessing about two boolean flags — a significant gap in what is otherwise a well-described tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all three parameters, so the description is the only source, and it says nothing about question_token, user_requested, or repeat_confirmed. 'Explicit user-requested' and 'one-time operation' faintly gesture at the two booleans, but an agent cannot determine what question_token is or when to set repeat_confirmed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action (explicit dismissal of a rejected video question) and the mechanism used (the player's existing continue callback). The second sentence implicitly distinguishes it from answer_video_question by asserting it never resubmits an answer, though no sibling is named directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Explicit user-requested' and 'one-time operation' imply a precondition (only call on explicit user request, only once), but the guidance is embedded rather than stated as a rule. No alternative is named — answer_video_question, observe_video_question, and defer_current_learning_task are never referenced, so an agent must infer what to do instead of dismissing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

control_owned_videoC

Inspect media; play initializes muted UI, applies inspected 1.25 adapter, minimizes and watches locally. Never seek. Use rate=1 for normal speed.

NameRequiredDescriptionDefault
rateNo
actionNoinspect
minimizeNo
bring_to_frontNo
allow_completed_replayNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral burden. It hints at muted UI on play, local watching, and a no-seek restriction, but omits state changes, permissions, and the effects of the minimize/bring_to_front flags, and the jargon obscures rather than clarifies behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short (two sentences) with no obvious filler, but it is dense with unexplained jargon and front-loads a vague verb. Brevity is achieved at the cost of clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 undocumented parameters, 0% schema coverage, and no annotations, the description leaves most invocation details unexplained. The output schema covers return values, but the input side remains inadequate for correct use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 5 parameters, so the description must compensate. It only touches rate ("rate=1 for normal speed") and loosely implies action/minimize; bring_to_front and allow_completed_replay are entirely undocumented, and the action enum is never revealed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with "Inspect media" but then drifts into jargon like "applies inspected 1.25 adapter," which does not clearly state what the tool does. It never defines the tool as a video-playback controller nor distinguishes it from siblings such as set_owned_video_rate or monitor_owned_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives constraints ("Never seek", "Use rate=1 for normal speed") but no guidance on when to use this tool versus alternatives. With siblings like set_owned_video_rate and monitor_owned_video present, the absence of routing guidance is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

defer_current_learning_taskC

Explicit host decision for a new evidenced issue; retain unfinished task, never submit.

NameRequiredDescriptionDefault
reasonYes
issue_idYes
evidence_urlYes

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full behavioral burden. It usefully discloses that the task is retained unfinished and never submitted, but it does not explain side effects, state changes, prerequisites, idempotency, or what 'defer' means operationally.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single compact sentence with no wasted text. It is not ideally front-loaded because 'Explicit host decision' is vague, but it is appropriately sized and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives only the barest behavioral clue ('retain unfinished task, never submit') for a tool with no annotations, no output schema, and three undocumented required parameters. It is not complete enough for an agent to call it confidently without inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three required parameters have 0% schema description coverage, and the description adds no information about issue_id, reason, or evidence_url. The parameter names alone must carry all semantics, which is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description implies deferral by saying to retain the unfinished task and never submit, but it does not explicitly state the core action or clearly distinguish the tool from task-related siblings such as recover_current_task or route_learning_task. The phrase 'Explicit host decision for a new evidenced issue' is vague and requires interpretation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies a usage condition ('new evidenced issue') and an exclusion ('never submit'), but does not name alternatives or explain when to choose this over recover_current_task, route_learning_task, or inspect_current_task. The guidance is present but minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

desktop_accountsD
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

desktop_account_toolD
NameRequiredDescriptionDefault
argumentsNo
tool_nameYes
account_idYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

desktop_console_statusD
NameRequiredDescriptionDefault
check_connectionNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

desktop_report_stateD
NameRequiredDescriptionDefault
client_stateYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

enter_selected_examC

Click the uniquely visible named exam in the currently owned exam list.

NameRequiredDescriptionDefault
course_nameYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it only says 'click' — it doesn't say a navigation occurs, what happens if zero or multiple exams are visible, or whether the action is reversible. The word 'uniquely' hints at a precondition (exactly one matching exam) but never states the failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no padding, which is structurally fine, but the terseness comes at the cost of clarity ('uniquely visible named exam') rather than through efficient precision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, but for a stateful browser-click tool in a large exam workflow the description omits required page state, the meaning of the sole argument, and post-click behavior. It is not enough for an agent to call this confidently without inspecting the schema or code.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one required parameter with 0% schema description coverage, so the description must explain course_name — but it never mentions it. Worse, it says 'named exam' where the parameter is a course name, muddying rather than clarifying the mapping.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb ('Click') and rough target (a named exam in the owned exam list) are stated, but the phrasing 'uniquely visible named exam' is jargon that leaves unclear whether the name refers to the exam or the required course_name argument. It also doesn't differentiate itself from nearby siblings such as open_course_exam or inspect_exam_page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No indication of when this tool should be chosen over open_course_exam, inspect_exam_page, or the browser/exam-loop families. There are no stated prerequisites (e.g., that the owned exam list must already be displayed) and no exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_homework_deadlinesC

Evaluate observed inventory. Returning alerts does not deliver notifications.

NameRequiredDescriptionDefault
itemsYes
now_isoNo
threshold_hoursNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden, and it does disclose one genuinely important trait: returning alerts does not deliver notifications, so the call has no messaging side effect. It does not state whether the evaluation itself mutates state, what the result contains, or how now_iso/threshold_hours affect behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler, but the first is wasted on a vague, mismatched phrase. The more useful caveat about notifications is buried second rather than front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, but with no annotations and zero parameter documentation the description leaves the agent without the semantics of the threshold or reference time needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, so the description must compensate and does not – items, now_iso, and threshold_hours are never explained. "Observed inventory" only loosely hints that items is the inventory payload, leaving defaults and formats undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Evaluate observed inventory" uses a generic verb with a resource that does not match the tool name at all – nothing in the description mentions homework, deadlines, or thresholds. An agent reading only this text could not tell what is being evaluated nor distinguish it from siblings like export_deadlines_ics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to call it, what prerequisites exist, or which sibling to use instead. The second sentence implies a downstream step (sending notifications) still needs a separate tool, which is minimal usage context but not guidance on selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

exam_browser_progressC

Read actual verified draft count for the browser-controller handoff mode.

NameRequiredDescriptionDefault
run_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full behavioral burden, yet it discloses only that the tool 'reads'. It does not confirm read-only safety, clarify what 'verified' or 'handoff mode' entails, or note any preconditions on the run state. An output schema exists, so return shape is partly covered, but the operation's behavior remains opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tightly-scoped sentence with no filler, and the object of the read is front-loaded. It is efficient, though its brevity borders on under-specification rather than crispness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool embedded among dozens of exam-browser siblings with no annotations and an undocumented parameter, the description is far too thin. The output schema offsets the need to describe return values, but nothing explains the run_id's role, the mode's meaning, or invocation context, leaving the definition incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the single parameter (run_id) is never mentioned in the description. Although run_id is a fairly self-evident name, the description provides no meaning about what run it identifies or whether it must match a live session. With coverage this low, the description was expected to compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb (Read) and a resource (verified draft count) for a specific mode (browser-controller handoff). However, 'actual verified draft count' and 'handoff mode' are jargon-laden, and it does nothing to distinguish this from near-neighbor siblings like exam_loop_progress, confirm_exam_browser_draft, or prepare_exam_browser_step. An agent can guess it reads a count but cannot confidently place it among the many exam-browser tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool, when not to, or which sibling it replaces. Given the dense cluster of exam_browser_* / owned_exam_* tools, the absence of any routing guidance is a real gap. The agent is left to infer selection entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

exam_loop_progressC

Read loop progress without opening or changing any browser page.

NameRequiredDescriptionDefault
run_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the key trait: this is a pure read that neither opens nor mutates a browser page. Beyond that it says nothing about whether a run must be active, what happens with an unknown run_id, or any rate/session constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no filler and the read-only guarantee stated up front. Its brevity is efficient, though it brushes against under-specification given the undefined term 'loop'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, but the definition still leaves the required run_id undocumented and provides no basis for choosing between this and the several overlapping progress/read siblings. For a tool in a crowded exam-progress namespace, that is a substantial gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the single required parameter run_id has no description in either schema or description. The description could have clarified what a run_id identifies and where to obtain it, but adds no meaning beyond the parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Read' and object 'loop progress' are stated, but 'loop' is undefined jargon and the definition never says which loop (exam question loop?) or what progress means. It also fails to distinguish itself from close siblings like exam_browser_progress and get_exam_progress, which sound like they read similar state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage signal is the negative constraint 'without opening or changing any browser page', which hints at a lightweight read path. There is no stated condition for choosing this over exam_browser_progress or get_exam_progress, and no prerequisites or preconditions for run_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_deadlines_icsB

Export reviewed {title, due_at ISO-8601} reminders to an ICS file.

NameRequiredDescriptionDefault
itemsYes
filenameNochaoxing-deadlines.ics

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It says the output is an ICS file but does not disclose where the file is written, whether it overwrites an existing file, what permissions are needed, or what the return value contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no wasted words. It conveys the core action, input shape, and output format efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists, so return values need not be explained. However, with no annotations, the description is thin on file-writing behavior and the meaning of 'reviewed' reminders. It is minimally adequate for a simple export tool but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description clarifies the required 'items' parameter as containing objects with 'title' and 'due_at' in ISO-8601 format, which adds significant meaning beyond the bare array-of-objects schema. The optional 'filename' parameter is not described, though its default is self-explanatory in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Export) and resource (reviewed reminders) and specifies the output format (ICS file). It does not explicitly differentiate from any sibling tool, but the purpose is immediately clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'reviewed reminders' implies a precondition and intended use case, but the description does not explicitly state when to use this tool versus 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_exam_progressC

Count observed saved answers only; a single-question page is not whole-paper progress.

NameRequiredDescriptionDefault
snapshotYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It does disclose one useful exclusion rule — single-question pages do not count as whole-paper progress — but it omits required state, side effects, and what the snapshot represents.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and contains no filler, but it is under-specified rather than efficiently concise. It front-loads the counting rule but leaves the core action implicit.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a nested required parameter, no annotations, and an output schema, the description is incomplete. The output schema can cover return values, but the description still fails to explain the snapshot input, the progress calculation, or when this tool should be selected over siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole required parameter, 'snapshot', is a nested object with additionalProperties true and 0% schema description coverage. The description never mentions the parameter or explains what must be passed, so it does not compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description implies that progress is based on counting observed saved answers, but it never explicitly states that the tool returns exam progress or what the returned progress represents. It also does not distinguish this tool from sibling progress tools such as exam_loop_progress or exam_browser_progress.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many related exam-progress and capture-status tools. The single caveat about single-question pages is a counting rule, not an alternative-selection guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wrong_questionsC

Read complete locally archived mistakes and rejected combinations, without inferring corrected keys.

NameRequiredDescriptionDefault
question_containsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does add real behavioral context: the data is local ('locally archived'), the read is exhaustive ('complete'), and no answer-key correction/inference is performed. It omits pagination, ordering, and what happens when the archive is empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with the read verb front-loaded and no filler, though the phrase 'mistakes and rejected combinations' spends words on jargon instead of a precise noun.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return shape need not be described. However, for a tool sitting among dozens of exam/review readers, the description lacks the scope and filter semantics an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter question_contains has 0% schema description coverage, so the description carries the full burden — yet it never mentions filtering, substring matching, or that an empty default returns everything. The schema-only baseline of 4 is not earned here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Read' and the scope 'locally archived' are clear, but 'mistakes and rejected combinations' is domain jargon that never resolves into a concrete resource (exam questions? video questions?). It also fails to distinguish itself from the many sibling readers such as preview_owned_exam_questions and owned_exam_review_inventory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool, when not to, or which sibling to prefer despite a dense cluster of overlapping question-reading tools. The only guidance is a negative qualifier ('without inferring corrected keys'), which constrains output rather than selecting the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

goto_course_pageB

Navigate the owned page with bounded retries and per-attempt logging.

NameRequiredDescriptionDefault
attemptsNo
page_urlYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does disclose bounded retries and per-attempt logging, which is useful. However, it does not state failure behavior, idempotency, permissions, or what 'owned' means in this context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Every phrase adds either the action or a behavioral trait.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the retry/logging note adds some context. Still, for a navigation tool with no annotations and zero schema descriptions, the description leaves key details about page_url expectations and failure handling unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only indirectly links retries to the attempts parameter and does not explain the expected format or constraints of page_url. The default attempts value is visible in schema but its semantics are only thinly supported.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: navigate an owned page, with bounded retries and per-attempt logging. This is more than a tautology and gives the core verb+resource. However, it does not distinguish this tool from nearby navigation siblings such as inspect_owned_page, observe_course_browser, or open_course_chapter, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus the many sibling navigation and inspection tools. The phrase 'owned page' implies a context, but no alternatives, prerequisites, or exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

implementation_statusB

Read adapter source identity and current process without credentials or network.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses that reading requires no credentials or network, implying a safe, local, auth-free operation, but it says nothing about return format, freshness, or preconditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. It is efficient, though its brevity leaves behavioral and usage details underspecified rather than adding structural clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only status tool, the description covers the core idea and the no-credentials/no-network constraint. However, without annotations or an output schema, it should say more about what 'source identity' and 'current process' mean and what the caller receives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter semantics burden. The baseline score of 4 applies because the description does not need to document inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Read adapter source identity and current process.' It is clear enough to distinguish from refresh_*_implementation siblings, though it does not explicitly contrast with runtime_health, capabilities, or other status tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as runtime_health, capabilities, or refresh_inventory_implementation. The agent must infer usage from the tool name and sibling list alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_accountsB

Import learning accounts into memory, with optional per-account QQ SMTP notices.

Required: account_id, username, password. Optional TOGETHER: smtp_email, smtp_auth_code, notify_email. Prefer configure_smtp_sender ONCE, then each record supplies only notify_email. Without a shared sender that binding awaits setup. Legacy per-account sender configuration remains supported. No QQ login password. Omit all mail fields to skip email. Ask the user for missing credentials and offer optional mail setup in the same input step; never echo secrets.

NameRequiredDescriptionDefault
replaceNo
accountsYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does contribute: required credentials, the all-or-nothing coupling of the three mail fields, the legacy per-account sender path, and the 'never echo secrets' safety rule. But it is silent on the most consequential behavior — what `replace` does to existing stored accounts, whether the import merges or overwrites, and whether the operation is reversible. For a mutation tool with zero annotation coverage that is a material omission.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the required fields and uses labeled groupings ('Required:', 'Optional TOGETHER:'), which aids scanning. But the sentence 'Without a shared sender that binding awaits setup' is ambiguous about whether that is a soft deferral or an error, and the closing instruction about asking the user mixes agent workflow policy into a tool definition rather than describing the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description does a good job on the per-record fields and mail configuration. Given that this is a bulk mutation with no annotations and a fully undocumented schema, the omission of `replace` semantics (overwrite vs merge, effect on existing accounts) leaves the definition short of what an agent needs to invoke it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the accounts array is free-form (additionalProperties: string), so the description's enumeration of account_id, username, password, smtp_email, smtp_auth_code, notify_email is genuinely load-bearing and compensates for the opaque item schema. The second parameter, `replace`, is never mentioned at all, leaving the top-level boolean entirely undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: import learning accounts into memory, plus a qualifier about optional per-account SMTP notices. An agent can tell it is a bulk-load operation rather than a login or update. It never differentiates itself from near-siblings like setup_learning_accounts, login_accounts, or add_parallel_learning_accounts, which is the missing step for a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real conditional guidance inside the mail sub-problem: 'Prefer configure_smtp_sender ONCE, then each record supplies only notify_email' and 'Omit all mail fields to skip email', which explicitly names an alternative tool and its selection condition. However, there is no guidance on when to choose import_accounts over the sibling setup/login/credential tools, so the core routing question is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_courseC

Inspect a user-selected enrolled course URL for task and deadline hints.

NameRequiredDescriptionDefault
account_idYes
course_urlYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. 'Inspect' implies a read, but the description never confirms read-only behavior, does not say whether an attached course browser session is required (several siblings such as attach_course_browser/start_course_browser suggest it might be), and says nothing about side effects, latency, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler and the key qualifier ('enrolled', 'user-selected') placed early. It is efficient, though efficiency here partly reflects under-specification rather than disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With two undocumented parameters, no annotations, and a large, confusingly similar sibling set, the description does too little. An output schema exists so return values need not be explained, but prerequisites (enrolled course, account selection, browser attachment) and the relationship to the score/exam page inspectors are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters. The description only loosely maps to course_url ('user-selected enrolled course URL') and gives no explanation at all for account_id — which account identifier format, and whether it must be claimed/active, is left entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (inspect), resource (a course URL), and the output it is looking for (task and deadline hints). This differentiates it reasonably from siblings like inspect_course_score_page and inspect_exam_page, which target other page types, though the description never names those alternatives directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'user-selected enrolled course URL' hints at a prerequisite, but there is no explicit when-to-use, when-not-to-use, or routing advice among the many sibling inspect_* tools. An agent must guess whether to call this, list_courses, or inspect_course_score_page first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_course_score_pageB

Read enrolled-course score pages and their observed links; never navigate or submit.

NameRequiredDescriptionDefault
page_urlNo
account_idYes
course_urlYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden; it does disclose non-navigation and non-submission, which is the most important safety trait here. It says nothing about whether a live browser session must already be attached, what 'observed links' means operationally (harvested hrefs? filtered?), or what happens on a page it cannot read.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with the safety constraint attached immediately; nothing is redundant. 'Observed links' is the one phrase that costs clarity without earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, but with 0% parameter coverage and a mutation-adjacent browser tool that has no annotations, the description should at minimum explain the page_url default and the session prerequisite. As written it is too thin for a 3-parameter browser-inspection tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero of the three parameters have schema descriptions, and the description adds no meaning for account_id or course_url beyond echoing 'enrolled-course'. The optional page_url with an empty-string default is completely unexplained — an agent cannot tell whether omitting it means 'use course landing page' or 'inspect all pages'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (read) plus resource (enrolled-course score pages), and it names a secondary artifact (observed links). It does not distinguish itself from close siblings like inspect_owned_page, inspect_course, or inspect_exam_page, so scope overlap remains for an agent to guess at.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'never navigate or submit' sets a hard boundary and implies this is a passive inspection step, but it never says when to prefer this over inspect_owned_page / inspect_exam_page or what precondition (attached browser, logged-in account) must hold. Usage is implied rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_current_taskC

Compact fresh inspection distinguishing quiz, completed video, player and loading.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: no side effects, no permission/auth requirements, no statement of what is returned for each distinguished state. 'Fresh' vaguely implies a non-cached read but nothing about mutation or output shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, front-loading the inspection action and then the distinguishing states. The compressed adjectives ('compact fresh') are slightly jargon-y but occupy minimal space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with no output schema, the description at least enumerates the categorical states an agent can expect to see, which partially substitutes for return-value documentation. It still omits what the inspection does in ambiguous cases and how to act on each result, leaving gaps for a no-annotation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to explain beyond what the empty schema already conveys. Baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names an inspection of the 'current task' and enumerates the states it distinguishes (quiz, completed video, player, loading), which is more specific than the bare tool name. However, it never states what class of object the 'current task' is or how this differs from siblings like recover_current_task, route_learning_task, or defer_current_learning_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Only the qualifiers 'compact' and 'fresh' hint at usage, implying a lightweight re-check of current page state. There is no statement of when to prefer this over sibling inspection tools (inspect_owned_page, recover_current_task) or when not to call it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_exam_grading_htmlC

Read actual grading-page HTML supplied by the browser controller, with no submission.

Preview pages or incomplete/unsupported grading structures never establish 100%. Does not promote any cache entry based on model conclusions or partial credit.

NameRequiredDescriptionDefault
html_sourceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does add meaningful behavioral guarantees: no submission occurs, preview or unsupported structures never establish 100%, and no cache entry is promoted based on model conclusions or partial credit. However, it does not disclose permissions, error/failure behavior, or what happens when the HTML is rejected as unsupported. The disclosed traits are relevant but incomplete for carrying the full behavioral burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, and the later sentences carry behavioral constraints rather than filler. However, phrases like 'never establish 100%' and 'promote any cache entry' are jargon-heavy and lack enough context to be immediately actionable. The description is short but somewhat fragmented.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool takes one required string and has an output schema, so the description does not need to explain return values. It provides key no-submission/no-cache-promotion guarantees but omits routing guidance against several closely related grading and exam inspection siblings. For an inspection tool in a dense sibling set, that leaves a meaningful gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single html_source parameter, so the description must compensate. It says the HTML is 'actual grading-page HTML supplied by the browser controller,' which clarifies origin and expected content, but gives no format requirements, size limits, or error behavior for the input. That is only marginal compensation for a completely undocumented parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb and resource: read actual grading-page HTML supplied by the browser controller. It explicitly notes 'with no submission,' which separates it from submission-oriented siblings. It does not name the closest read alternatives (e.g., read_owned_exam_grading, inspect_exam_page), so the sibling differentiation is only partial.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives constraints ('preview pages or incomplete/unsupported grading structures never establish 100%') but never states when an agent should call this tool instead of read_owned_exam_grading, inspect_exam_page, or analyze_exam_html. There are no explicit when-to-use or when-not-to-use conditions, and no prerequisites beyond the implied browser-controller source.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_exam_pageC

Read an existing exam page without running JS or saving answers. GET may refresh exam access state.

NameRequiredDescriptionDefault
exam_urlYes
account_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose two useful traits: JS is not executed (so dynamically rendered content will be absent) and the GET may mutate exam access state. It stops short of saying what that refresh affects (timer, session, progress) or whether auth/account state is required, so the mutation risk is named but not characterized.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no waste, key constraint front-loaded. The trailing clause "may refresh exam access state" is vague enough that it hints rather than informs, keeping it below a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, but for a read tool sitting in a very dense exam/browser sibling cluster with no annotations and undocumented parameters, the description should say how it differs from the other page-inspection tools. As written the agent lacks the context to place it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and both required parameters (account_id, exam_url) are bare strings with only titles. The description never mentions either parameter, so it does not compensate for the coverage gap — e.g., what form exam_url takes, or why account_id is required to read a URL.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Read an existing exam page") and adds a negative scope ("without running JS or saving answers") that separates it from saving/answering siblings. It does not name any sibling explicitly, so a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage signal is the embedded exclusion (no JS, no answer saving); there is no statement of when to choose this over analyze_exam_html, inspect_owned_page, or inspect_exam_grading_html. The agent must infer the selection rule from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_homework_browserB

Inspect a fresh homework-list DOM; never reuse chapter/exam submit tools.

Only the observed empty-list structure is verified. Nonempty assignments require their own observed question/save/grading adapter before any writes.

NameRequiredDescriptionDefault
tab_idYes
page_urlYes
browser_idYes
html_sourceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does meaningful work: it discloses that only the empty-list structure is verified and that writes on nonempty assignments are out of scope until an adapter exists. That is safety-relevant context. It stops short of stating read-only status explicitly or describing side effects/return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loads the action before the constraint. The remaining sentences are terse but each carries a real constraint; the phrasing is slightly cryptic but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. But with four required, undocumented parameters and no annotations, the description should say more about where browser_id/tab_id/page_url come from. Scope and safety are covered; invocation mechanics are not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description adds almost nothing: only 'fresh homework-list DOM' loosely maps to html_source, while browser_id, tab_id, and page_url are left entirely undocumented. The description does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Inspect a fresh homework-list DOM') and explicitly separates itself from chapter/exam submit tools in the sibling list. It is not tautological, but it does not clarify the distinction from other inspect-type siblings such as inspect_owned_page or observe_course_browser.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Never reuse chapter/exam submit tools' and the note that nonempty assignments need their own observed adapter convey scope boundaries. However, there is no explicit statement of when to choose this tool over the many other inspection tools, so usage must be inferred from the 'fresh homework-list' framing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_owned_exam_navigationD
NameRequiredDescriptionDefault
read_previousNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_owned_pageC

Read the real owned page, cards, frame text, and task markers; optional screenshot.

NameRequiredDescriptionDefault
quiz_html_pathNo
screenshot_pathNo
video_html_pathNo
verification_onlyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. "Read" implies it is non-mutating, and the optional screenshot implies a write to disk, but the description never states prerequisites (e.g. an attached browser/window), what the screenshot side effect actually is, or how the paths interact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted clauses, which is structurally good. But the brevity comes at the cost of clarity — the compression leaves key nouns ("owned page", "task markers") undefined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. But with no annotations and four undocumented parameters, the definition does not give an agent enough to call the tool correctly — it cannot tell what each path argument means or what verification_only toggles.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so all four parameters must be explained by the description. It only alludes to one (screenshot_path); quiz_html_path, video_html_path, and especially verification_only are entirely opaque, and it is unclear whether the html paths are inputs to parse or outputs to write.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Read the real owned page, cards, frame text, and task markers" gives a verb and a list of artifacts, so the general intent is graspable. However, "owned page" is undefined and nothing distinguishes this from close siblings such as read_owned_browser_view, inspect_current_task, or inspect_course_score_page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool, when not to, or which sibling to prefer for page inspection. The only contextual hint is the optional screenshot clause, which describes a capability rather than a usage condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_owned_video_deliveryC

Passively observe actual player report responses; never send/alter reports.

NameRequiredDescriptionDefault
read_task_inventoryNo
capture_media_eventsNo
refresh_task_metadataNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral burden. It usefully discloses passive, non-mutating observation and names the observed response stream, but omits permissions, side effects of flags like refresh_task_metadata, or rate/refresh behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single front-loaded sentence with no repetition or filler. It is efficient, though its brevity leaves gaps handled under completeness rather than conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, but with no annotations and 0% parameter coverage the description should explain the three flags and the interaction model. It only provides the passive/non-mutating stance and leaves an agent without guidance on what the booleans change.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for three boolean parameters, and the description does not explain read_task_inventory, capture_media_events, or refresh_task_metadata. It adds no meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action (passively observe) and target (actual player report responses), and clarifies that it never sends or alters reports. It does not explicitly differentiate from video-related siblings such as monitor_owned_video or control_owned_video, so it is clear but not sibling-specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the tool is for passive inspection and excludes sending or altering reports, which provides a when-not boundary. However, it does not name alternatives or say when to use this rather than monitor_owned_video or control_owned_video.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

learning_batch_statusC

Cached compact state only; no page reads, HTTP calls or model API.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose a meaningful behavioral trait: this is a cached, local-only read that triggers no network or model activity. However, it does not state read-only semantics explicitly, data freshness, or what 'compact state' contains, leaving gaps for a status tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no wasted words. It is efficient, though its terseness borders on cryptic and could have added a few words of purpose without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

In a large batch/exam/learning ecosystem, this zero-param status tool needs to clarify which batch state it reports and how it relates to start_learning_batch, stop_learning_batch, resume_learning_batch, and parallel_learning_status. It also lacks an output schema, so the description should say more about what 'compact state' includes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there are no argument semantics to explain. The schema is empty and fully described; the description adds no parameter confusion, matching the baseline for a zero-param tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is a constraint fragment ('Cached compact state only; no page reads, HTTP calls or model API') rather than a purpose statement. It never says it returns the status of a learning batch; an agent must infer the action from the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implicitly signals a cheap cached read by excluding page reads, HTTP calls and model API use, but gives no when-to-use guidance, no exclusions, and does not name alternatives such as parallel_learning_status or inspect_current_task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_accountsA

List redacted account state without returning credentials or cookies.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that returned state is redacted and excludes credentials and cookies, which is a meaningful safety detail. It does not mention read-only semantics, authentication requirements, ordering, or rate limits, so transparency is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It states the action and the key redaction constraint immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, has no parameters, and has an output schema, so the description need not explain return structure. It covers the main behavioral caveat—redaction—but leaves some ambiguity about scope, such as whether all accounts or only active accounts are listed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics to explain. The baseline score for a parameterless tool applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb and resource: 'List redacted account state.' It also distinguishes itself from credential-focused siblings by stating that credentials and cookies are not returned. However, it does not explicitly differentiate from other account-related listing or inspection siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as login_accounts, import_accounts, desktop_accounts, or other account inspection tools. The implied use is simply to list accounts, but no context, prerequisites, or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_coursesC

Fetch and parse the current enrolled-course pages for selected accounts.

NameRequiredDescriptionDefault
account_idsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. 'Fetch and parse' implies a read operation, but it does not state whether the tool is safe/read-only, whether it requires logged-in accounts, what side effects (if any) it has, or how it handles errors or rate limits. Behavioral context is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is efficiently structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers return values, but the description is too sparse for a tool that likely interacts with external web pages. It lacks essential context about account selection, authentication requirements, and potential side effects, leaving the agent under-informed despite an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only vaguely refers to 'selected accounts' without explaining that account_ids is a list of account identifiers. It does not clarify what happens when account_ids is null (the default), whether it means all accounts, or what format the identifiers should take.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Fetch and parse') and resource ('current enrolled-course pages') scoped to 'selected accounts'. It does not explicitly differentiate from siblings like list_accounts or inspect_course, but the purpose is clear enough to distinguish from most.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as inspect_course or list_accounts, nor on prerequisites like authentication state. The phrase 'for selected accounts' implies a selection mechanism but does not explain how to choose accounts or when the tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

load_batch_implementationD

Expose account script queues without restarting browsers or losing memory credentials.

NameRequiredDescriptionDefault
refreshNo
completion_replay_policyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses two useful behavioral claims — no browser restart and no loss of memory credentials — but omits critical context such as whether this mutates state, what permissions are required, and what happens to existing batch queues.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, but that brevity comes at the cost of clarity. It is not front-loaded with a clear action or resource, and the single sentence is too vague to earn its place as the tool's complete guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large sibling ecosystem, zero schema coverage, and no annotations, this description is inadequate. The output schema covers return values, but the description still fails to explain the operation's effect, parameter semantics, or usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention either `refresh` or `completion_replay_policy`. It adds no meaning beyond the parameter names, leaving the agent to guess the behavior of both parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says it will 'expose account script queues' but does not clarify what 'load_batch_implementation' actually does — whether it loads, runs, or prepares a batch implementation. It also fails to distinguish the tool from siblings like start_learning_batch, resume_learning_batch, or implementation_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool, when not to use it, or which sibling tools are alternatives. The mention of avoiding browser restarts and credential loss implies a niche use case, but the agent is left to infer when that matters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

login_accountsA

HTTP login only by default; never switches another account's browser implicitly.

Reuses logged-in sessions. After a platform rejection, change credentials or inspect verification rather than retrying the same password repeatedly. setup_learning_accounts explicitly activates its first account.

NameRequiredDescriptionDefault
forceNo
account_idsNo
activate_browserNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose non-obvious traits: HTTP-only login by default, reuse of already-logged-in sessions, and no implicit switching of another account's browser. What it omits is the effect of the force flag and any destructive/side-effect or credential-handling context, which matters for a login tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, no filler, and the most decision-relevant constraint (HTTP-only, no implicit browser switching) is front-loaded. It leads with a caveat rather than the action, which slightly delays the reader's orientation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the behavioral notes cover session reuse and activation defaults. However, for a 0%-coverage three-parameter tool, leaving force, account_ids, and activate_browser solely to inference is a real completeness gap an agent could trip on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters (force, account_ids, activate_browser) and the description never names or explains any of them. 'HTTP login only by default' hints that browser activation is off by default, but force and account_ids — the parameters that most change behavior — are entirely unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description establishes that this performs an HTTP-based login and reuses existing sessions, and it distinguishes itself from setup_learning_accounts (which explicitly activates its first account) and from browser-activation siblings by stating it never implicitly switches browsers. The core verb 'login' is carried by the name and only echoed, not restated with a resource object, so it falls short of a fully self-contained purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear negative-side guideline: after a platform rejection, change credentials or inspect verification instead of retrying the same password, which routes the agent to update_account_credentials or inspection siblings. It also contrasts with setup_learning_accounts for explicit activation. There is no explicit positive trigger ('call this when you need authenticated sessions for accounts X'), so a small inference remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

minimize_owned_windowA

Minimize only this owned browser; do not emulate focus or visibility.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden, and it does disclose one meaningful trait: no focus or visibility emulation side effects. It does not say whether the minimized state persists, how to undo it (restore_owned_window), or whether the operation requires an attached browser session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence, front-loaded with the action and immediately qualified. No filler, nothing repeated from structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and with zero parameters the surface is small. The only gap is the missing pointer to restore_owned_window for reversing the action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline is 4; there is nothing for the description to document about inputs. The statement about focus/visibility correctly signals the tool takes no behavioral arguments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (minimize) and a specific resource (this owned browser), and adds a scope qualifier clarifying it will not emulate focus or visibility. That distinguishes it from viewport/focus-emulation siblings like use_window_viewport, though it never names restore_owned_window as the inverse operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'do not emulate focus or visibility' implies the context in which this tool is appropriate rather than an alternative, and no sibling is named as a substitute. An agent can infer the intended situation but gets no explicit when-not or prerequisite guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitor_owned_videoA

Local event-driven playback watcher: initial sample, estimated end, pause recovery.

No model/API calls, seeking, visibility emulation, or automatic question answers. status reads cached state only. stop before intentional manual pause.

NameRequiredDescriptionDefault
actionNostart

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does it reasonably well: it declares the tool is event-driven, that it makes no model/API calls, no seeking, no visibility emulation, and that 'status reads cached state only'. These are exactly the hidden-side-effect facts an agent needs. It stops short of describing lifecycle, whether the watcher must be running while playback continues, or cleanup expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short lines, front-loaded with purpose followed by exclusions and one operational rule; every sentence carries information. Minor fragmentation ('pause recovery.' as a dangling fragment) slightly hurts readability but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and annotations are absent but partially offset by the explicit behavioral limits. Still missing for a stateful watcher: the enumerable actions, whether it requires an active playback session, and how it relates to control_owned_video — enough gaps that an agent could call it with a wrong action value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the single 'action' parameter has no enum and no description, so the description must compensate. It does so only indirectly — 'status' and 'stop' appear in prose and 'initial sample'/'estimated end' hint at start behavior, but the full action set, the default of 'start', and valid values are never confirmed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Local event-driven playback watcher') plus the concrete behaviors it performs: initial sample, estimated end, pause recovery. That is far more than the name restates, but it never distinguishes itself from the crowded video siblings (control_owned_video, observe_video_question, switch_owned_video_line), so an agent still has to guess which video tool owns which job.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The negative guidance is clear ('No model/API calls, seeking, visibility emulation, or automatic question answers') and 'stop before intentional manual pause' is a real operational rule. However, there is no explicit routing — nothing says when to pick this over control_owned_video or observe_video_question, and the action vocabulary is only implied by the words 'status' and 'stop'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

observe_chapter_quizB

Read the quiz iframe DOM in-process and parse it with the existing parser.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that the read happens in-process and uses the existing parser, implying no external browser launch, but it does not state read-only safety explicitly, required preconditions, or what happens when the iframe is absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is appropriately sized for the action, though the phrase 'existing parser' is slightly vague and the sentence could be more specific about preconditions without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, and there are no parameters. However, in a dense sibling ecosystem with quiz preparation, submission, and grading tools, the description omits prerequisites and workflow positioning, leaving a meaningful gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. There is no parameter behavior to clarify, and the description does not need to add anything here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair (read, parse) and resource (quiz iframe DOM), and notes it runs in-process using the existing parser. An agent can distinguish it from grading/submission siblings like read_chapter_quiz_grading and submit_chapter_quiz, though it doesn't explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does but gives no when-to-use guidance, no prerequisites (e.g., quiz iframe must be open), and no explicit alternatives among the many sibling tools. Usage is only inferable from the observation-before-action naming.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

observe_course_browserC

Parse course directory or chapter-quiz DOM from the bound tab, without network.

NameRequiredDescriptionDefault
tab_idYes
page_urlYes
browser_idYes
html_sourceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It does add one genuinely useful behavioral fact — no network access, so it is a pure local DOM parse — and implies a bound-tab prerequisite, but it never states that it is read-only/side-effect free, what it returns, or what happens on parse failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the key noun phrase ('course directory or chapter-quiz DOM') arrives immediately. It is terse to the point of under-specification given the schema gaps, but nothing in it is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, but with four undocumented required parameters, zero schema coverage, and no annotations, a one-line description leaves too much for the agent to infer before a correct call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across four required parameters, so the description must compensate and largely does not. 'The bound tab' loosely gestures at tab_id/browser_id and 'DOM' gestures at html_source, but page_url and the relationship between tab identifiers are entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Parse') plus specific resource ('course directory or chapter-quiz DOM') and a scope note ('from the bound tab, without network'). An agent knows what it does, but nothing distinguishes it from close siblings such as observe_chapter_quiz or inspect_owned_page, which the description never references.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No indication of when to call this versus the many adjacent observation tools (observe_chapter_quiz, inspect_owned_page, find_chapter_links). 'Without network' is a constraint, not usage guidance, and no prerequisites (e.g. an attached/bound browser) are stated as conditions for calling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

observe_video_questionC

Read one actual video popup question and its full options without answering.

NameRequiredDescriptionDefault
inspect_transportNo
static_script_pathNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'Read ... without answering' does convey non-destructive intent, but it says nothing about whether opening the observation consumes or dismisses the popup, whether it pauses playback, whether the same question can be observed twice, or any permission/session requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded with the verb, with the key constraint ('without answering') placed at the end where it still reads cleanly. No padding, but the space saved could have been spent on the parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is unnecessary, and the purpose is legible. However, with zero annotation coverage and two undocumented parameters, the definition leaves real operational gaps for a tool an agent must call with the right transport flags.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two non-obvious parameters (inspect_transport, static_script_path), and the description does not mention either. An agent has no way to know what these do or when to set them from the definition alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Read') and resource ('one actual video popup question and its full options'), which is concrete and differentiates it from answer_video_question via 'without answering'. Not quite a 5 because it never names the sibling it is the non-mutating counterpart of.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Without answering' implies the alternative (answer_video_question) and the condition that selects it, but only by negation. There is no explicit when-to-use statement, no prerequisite (e.g., must a video popup be open), and no guidance for the failure case where no question is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_account_browserC

Show the account window; ordinary course automation keeps running.

NameRequiredDescriptionDefault
closed_onlyNo
show_windowNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does disclose that ordinary course automation continues, which is useful, but it omits permissions, side effects, whether this opens or restores a window, and what the parameters change.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the main action. The second clause adds behavioral context, though its phrasing is somewhat vague.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, but the tool still has two undocumented parameters and no annotations. For a browser/window control tool, the description leaves too much about behavior and parameter effects unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain closed_only or show_window. 'Show the account window' only loosely hints at show_window and leaves closed_only entirely undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says to show the account window, giving a verb and resource, but it does not clarify how this differs from nearby siblings such as restore_owned_window, start_account_workspace, or return_account_to_background. The wording also shifts from 'open_account_browser' to 'account window,' which adds ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool instead of the many related account/window/browser tools. The clause about ordinary course automation continuing is context, not a use case or exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_chapter_quizB

Locate the chapter-quiz iframe: click the quiz tab and lazy-scroll until found.

NameRequiredDescriptionDefault
pollsNo
click_tabNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses that the tool clicks a tab and repeatedly scrolls until the iframe is found, but it omits failure behavior, timeout/attempt limits, and any side effects of the click/scroll sequence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single front-loaded sentence with no filler. The colon structure efficiently moves from the goal to the procedure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a browser-automation step with no annotations, the description is incomplete: it omits preconditions (e.g., being on a chapter page), parameter meanings, and what happens if the iframe is not found. The output schema can cover return values, but the call context remains underspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain the two parameters. It hints at 'click the quiz tab' (click_tab) and 'lazy-scroll until found' (possibly polls), but never defines what 'polls' controls or how click_tab changes behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Locate') and resource ('chapter-quiz iframe'), so the core action is clear. However, it does not differentiate this tool from siblings like observe_chapter_quiz or submit_chapter_quiz, leaving the agent to infer the exact role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The sentence describes a procedure ('click the quiz tab and lazy-scroll until found') but gives no when-to-use condition, prerequisites, or alternative tool. An agent must infer that this is the step for opening a quiz before observing or submitting.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_course_chapterC

Open exactly one chapter node present in the owned course directory.

NameRequiredDescriptionDefault
chapter_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full behavioral burden. It does not disclose whether opening is read-only or stateful, whether it affects browser/UI state, what permissions are required, or what happens on failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single economical sentence with no wasted words, and the key constraint is front-loaded. It is concise, though the brevity contributes to the gaps in routing and parameter semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a large sibling toolset and no annotations, the description is too sparse. It omits how this differs from related chapter and browser tools, what output is expected despite an output schema existing, and enough context to invoke it confidently in the learning workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but does not. It implies chapter_id refers to a chapter node in the owned course directory, but it does not explain the identifier format, where to obtain it, or any constraints beyond that it must be present in the owned course directory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Open' and 'chapter node present in the owned course directory.' This is clear enough to know it opens a chapter, though it does not distinguish the tool from siblings such as open_chapter_quiz or find_chapter_links.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool rather than alternatives like open_chapter_quiz, find_chapter_links, or goto_course_page. The phrase 'exactly one chapter node' is a constraint, not usage guidance, and no prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_course_examA

Open the selected enrolled course's observed exam list, without starting an attempt.

NameRequiredDescriptionDefault
course_nameYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden, and it does disclose one important trait: no attempt is started, so this is a non-mutating inspection. It also implies prerequisites via 'selected enrolled course'. It does not say whether a course browser must already be attached, whether it navigates or just returns data, or what side effects (if any) opening the list has.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the disambiguating constraint is placed where the agent will read it first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. But with no annotations and no schema descriptions, the definition is thin on preconditions (browser attachment, course selection) and on what 'observed exam list' contains, which an agent would want before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter (course_name) with 0% schema description coverage, so the description must compensate. It does imply the value must identify an enrolled, currently selected course, which is useful semantic constraint, but it gives no format, matching rules, or behavior when the name is ambiguous or not enrolled.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (open) and resource (the enrolled course's observed exam list), and the clause 'without starting an attempt' distinguishes it from the enter_selected_exam sibling. It stops short of naming any sibling explicitly, so the differentiation is inferential rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without starting an attempt' gives a clear negative condition that tells the agent this is the browse-only path rather than the attempt-starting path. However, it never names the alternative tool (e.g., enter_selected_exam) or states prerequisites such as an attached browser session, leaving some routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

owned_exam_capture_statusC

Read cached sanitized endpoint events; no cookies, headers or parameter values.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses that data is cached/sanitized and excludes cookies, headers, and parameter values, which is meaningful privacy context. However, it does not state whether the operation is read-only (though 'Read' implies it), what the return format is, or any rate/pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded with the verb and concise. However, its terseness contributes to the ambiguity about what 'endpoint events' means in the context of exam capture.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a name that implies exam capture status, the description should explain what is returned and how it relates to the capture process. Instead, it focuses narrowly on endpoint events, leaving the core purpose under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

This tool has zero parameters, so parameter semantics is not a concern. Per baseline rules, a 0-param tool receives a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Read) and resource (cached sanitized endpoint events), but it does not mention the tool's apparent core subject—exam capture status. It therefore does not clearly distinguish this from siblings like read_owned_exam_observation or stop_owned_exam_capture.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as read_owned_exam_observation or stop_owned_exam_capture. The description gives no context about prerequisites or appropriate scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

owned_exam_finish_statusD
NameRequiredDescriptionDefault
refreshNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

owned_exam_review_inventoryC

Use already open full preview to identify exact cache hits once per paper.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full disclosure burden. It does disclose one real trait — the tool operates on an already-open preview rather than launching anything — but says nothing about whether it mutates state, what it returns, or what happens if no preview is open.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the precondition comes first. The brevity is not the problem — the opaque vocabulary is, which is penalized elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description is the only source of information about return values and side effects, and it supplies neither. For a tool sitting in a dense exam-workflow toolset, 'cache hits' needs a definition to be callable with confidence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to clarify and the baseline applies. The phrase 'once per paper' hints at inherent scoping but no parameter exists to control it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The sentence names a verb ('identify') and an object ('exact cache hits'), but 'cache hits' is undefined jargon and never connects to what 'owned_exam_review_inventory' actually inventories. An agent reading only this would not know whether the tool counts questions, dedupes seen papers, or records reviewed answers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use already open full preview' states a precondition for calling it, and 'once per paper' implies call frequency. It does not name any alternative among the many sibling exam tools (audit_exam_preview, preview_owned_exam_questions, stage_owned_exam_reviews) or say 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.

owned_window_statusA

Read the owned window bounds without changing focus, size or window state.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden, and it does disclose the most important trait: the call is non-disruptive to focus, size and state. It says nothing about error behavior when no owned window exists, how multiple windows are handled, or freshness of the returned bounds.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and resource, and every clause earns its place by constraining the read's side effects.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values need no explanation, and a zero-parameter read needs little prose. The only real gap is what happens when no owned window is present, which an agent would want to know before calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. Schema coverage is 100% anyway.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Read') plus specific resource ('owned window bounds'), with an explicit negative scope ('without changing focus, size or window state'). This implicitly separates it from mutation siblings like minimize_owned_window and restore_owned_window, though it never names them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The no-side-effect phrasing implies when to pick this tool (you need bounds and must not disturb the window), but there is no explicit 'use this when…' or named alternative. Usage must be inferred from the constraint rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parallel_account_toolC

Route a necessary review/readback to the correct account's existing MCP worker.

No login/navigation/session creation here. Unknown submissions remain unknown; each child enforces its ordinary review, freshness and single-submit guards.

NameRequiredDescriptionDefault
argumentsNo
tool_nameYes
account_idYes

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does add real behavioral context: this is a pure router that performs no login/navigation/session creation, and each child enforces its own review, freshness and single-submit guards. What it omits is equally important for a dispatcher, namely what happens on an unknown account or unknown tool_name, whether errors are surfaced or swallowed, and what a caller receives back.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The routing purpose is front-loaded in the first sentence and the whole thing is compact. But "Unknown submissions remain unknown" is cryptic filler that does not earn its place, and the closing guard sentence is compressed to the point of being hard to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations, no output schema, and 0% schema description coverage mean the description is the only contract available. For a dispatcher that takes an arbitrary tool name plus an opaque arguments bag, it should specify the legal tool set, the error semantics for unknown accounts, and the pass-through relationship to the child's own guards; it does none of the first two.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, so the description must compensate and does not. It never explains that tool_name must be one of the child worker's tool names, nor what shape arguments should take, nor how account_id is resolved. The single most consequential ambiguity in a dispatcher, which tool names are legal, is completely unaddressed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description does state a verb and resource: route a review/readback to the correct account's existing MCP worker. However, it is a meta-dispatch tool whose purpose only becomes concrete once the agent already knows what tools exist on the child workers, and it never differentiates itself from plausible siblings like desktop_account_tool, recover_graded_parallel_account, or retry_parallel_account.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"No login/navigation/session creation here" is a real exclusion, and "existing MCP worker" implies a precondition (the account must already have a live worker). But there is no explicit when-to-use statement, no alternative named, and no explanation of what an agent should do if the worker is absent, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parallel_learning_statusC

Cached account-specific status or compact all-account summary, never browser polling.

NameRequiredDescriptionDefault
detailNo
account_idNo

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose one real behavioral trait — the data is cached, so results may be stale and no browser interaction occurs. But it omits whether the cache can be refreshed, how old the data may be, whether this requires an active account session, and what the response shape is. For a status tool with zero annotation coverage, that is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the primary scope distinction is front-loaded. But the terseness crosses into under-specification — 'never browser polling' is a dangling fragment whose meaning depends on context the reader doesn't have.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, no annotations, and 0% parameter documentation, so the description is the only source of truth — and it never describes what status fields come back or how they differ between the two modes. An agent can guess it is a read, but cannot predict the result well enough to plan around it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It implicitly maps account_id (present = account-specific, absent = all-account summary) and hints at detail via 'compact', but it never explains what detail=true actually changes or what the default behavior is. Partial compensation only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (parallel learning status) and states a scope distinction: cached account-specific status vs. a compact all-account summary. However, 'status' is left unqualified — it never says what is being reported (progress, queue, errors) — and it does not differentiate itself from siblings like learning_batch_status or runtime_health, which an agent would plausibly confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'never browser polling' implies a preference over browser_status/observe_* tools, but it is a fragment with no explicit when-to-use condition, no named alternative, and no guidance on choosing between detail=true and the account-specific vs all-account modes. The agent must infer the routing decision entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_course_quizC

Validate reviewed chapter answers and stage a UI plan; never click or submit.

NameRequiredDescriptionDefault
answersYes
reviewsYes
observation_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It states that it never clicks or submits, which is useful, but does not explain what 'stage a UI plan' entails, whether any state is persisted, what permissions are required, or what side effects occur. The behavioral profile is largely opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It efficiently states the action and a key constraint, though its extreme brevity contributes to gaps addressed in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three required parameters, no annotations, and no schema descriptions, the description is insufficient. While the output schema exists and need not be described, the lack of parameter semantics and behavioral detail leaves the agent without enough context to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no mapping to the three required parameters. It vaguely references 'reviewed chapter answers' but does not explain observation_id, the expected format of answers, or the structure of reviews, leaving the agent with little beyond the parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: validate reviewed chapter answers and stage a UI plan, with a clear constraint 'never click or submit'. This distinguishes it from submission siblings, though it does not explicitly differentiate from validate_reviewed_chapter_quiz, which has a very similar name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage hint is the negative constraint 'never click or submit', which implies it is a pre-submission validation step. There is no explicit guidance on when to use this tool versus validate_reviewed_chapter_quiz or submit_reviewed_chapter_quiz, nor any mention of prerequisites or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_exam_answer_planB

Validate a plan for loaded exam questions only; does not save or submit it.

NameRequiredDescriptionDefault
answersYes
reviewsYes
snapshotYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that the operation validates only and does not save or submit, but it does not explain side effects, failure behavior, permissions, or what validation actually checks.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted text. It immediately states the core action and then adds the key non-persistence constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three required nested parameters, no annotations, and an output schema. The description covers only the high-level validation scope and non-persistence, leaving the plan structure, validation criteria, and parameter expectations unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the required 'snapshot', 'answers', or 'reviews' parameters. For three required parameters, including nested objects, the description adds no meaningful parameter semantics beyond the bare schema names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb ('Validate') and resource ('a plan for loaded exam questions'), and it explicitly distinguishes validation from saving or submitting. It does not differentiate this tool from nearby siblings such as audit_exam_preview or confirm_exam_browser_draft, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for loaded exam questions only' provides a scope condition, and 'does not save or submit it' clarifies a boundary. However, it does not say when to use this tool instead of sibling validation or preview tools, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_exam_browser_stepB

Validate reviewed answer and return a UI action plan; never executes it.

The browser controller must re-check current question before normal UI actions, then supply independent navigation/reload readback for draft confirmation. Multiple choice reuses all existing included/excluded-option review rules. Omit answer/review together to use only a valid exact platform-confirmed cache.

NameRequiredDescriptionDefault
answerNo
reviewNo
run_idYes
observation_idYes
question_tokenYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description usefully discloses that the tool only validates and returns a plan rather than executing it, and it mentions re-checking the current question and cache validity. However, it does not describe validation failure behavior, permission assumptions, or other operational constraints beyond those high-level traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the core behavior in the first sentence. It is somewhat dense with jargon such as 'readback' and 'platform-confirmed cache,' but it avoids unnecessary padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex browser/exam orchestration tool with no annotations and 0% schema description coverage, the description is incomplete. The output schema can carry the action-plan return details, but the required identifiers and validation workflow constraints remain under-explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across five parameters, and the description only gives partial semantics for answer and review. It does not explain the required run_id, observation_id, or question_token parameters, so it does not compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

It states a specific action: validate a reviewed answer and return a UI action plan, explicitly noting that it never executes the plan. This clearly distinguishes execution from preparation, though it does not name the closest sibling alternatives such as prepare_exam_answer_plan or confirm_exam_browser_draft.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: the browser controller must re-check the current question before normal UI actions and supply independent navigation/reload readback for draft confirmation. It also explains the cache path when answer and review are omitted together, though it does not explicitly state when-not cases or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_user_navigationB

Return a validated user-openable URL and playback preference; does not write course progress.

NameRequiredDescriptionDefault
urlYes
account_idYes
mute_requestedNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it usefully discloses the most important trait: this is a non-mutating preparation step that does not write course progress. It says nothing about validation failure behavior, whether account_id must resolve to an active account, or how mute_requested is honored, so coverage is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the return value is stated first and the caveat second. It is efficient, though the brevity leaves the gaps noted in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. But with zero annotation coverage and zero parameter documentation, an agent lacks the account_id semantics and usage conditions needed to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across all three parameters. The description hints at url and a 'playback preference' (implying mute_requested) but never explains account_id, URL format/constraints, or what the mute default of true means in practice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete output (a validated user-openable URL plus a playback preference), which is more specific than a tautology. However, it never distinguishes itself from navigation siblings like goto_course_page, open_course_chapter, or open_account_browser, so an agent can't tell which to pick from purpose alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use condition, no prerequisites, and no named alternative among the many browser/navigation siblings. The only guidance is a negative claim ('does not write course progress'), which is a boundary but not a selection rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preview_owned_exam_questionsB

Open the platform's normal full preview, never click final submission.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the single most important behavioral risk: do not proceed to final submission. It still omits what the preview actually does to browser/window state, whether it is read-only, and what the agent gets back, so the safety profile is only partially covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the operational warning placed where it will be read. It is efficient, though the terseness borders on under-specification rather than optimal concision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations, yet the description never says what the preview yields or how to obtain the questions afterwards (e.g. read_owned_exam_question). For an exam-flow tool in a dense sibling set, this leaves the agent without the context needed to chain calls correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for a 0-param tool applies. Nothing in the description misleads about inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Open' and the object 'preview' are present, but the description never states that the preview is of an owned exam's questions, nor does it differentiate from close siblings such as audit_exam_preview, audit_exam_browser_preview, or inspect_exam_page. An agent can infer the general idea from the tool name but gets no confirmation of scope from the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Never click final submission' is a useful guardrail implying this is the safe pre-submission step, which gives implied usage context. However, there is no explicit statement of when to call it versus the many other exam-preview and exam-loop siblings, so routing remains guesswork.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_chapter_quiz_gradingA

Read existing platform grading without selecting, submitting or retrying.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does correctly disclose the key trait: it is side-effect free with respect to selecting, submitting and retrying. It does not say what happens when no grading exists yet, whether prior submission is a precondition, or what the read returns (though an output schema covers the latter).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with the verb and resource first and the negative scope second. Nothing is redundant or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless read tool with an output schema, the description supplies the essential behavioral guarantee (read-only, no submission or retry). Only the precondition question — whether grading must already exist and what is returned if it does not — is left open.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description corroborates that no selection or submission inputs are involved.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read) and resource (existing platform grading) and clarifies the scope as observation-only, which separates it from submit_chapter_quiz, validate_reviewed_chapter_quiz and observe_chapter_quiz. 'Platform grading' is slightly loose compared to the tool name's 'chapter quiz grading', but the intent is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'without selecting, submitting or retrying' rules out the mutating siblings, implying this is the tool for inspecting results after the fact. However, no alternative is named and no trigger condition is given (e.g. 'use after a submission to retrieve the resulting grade'), leaving the agent to infer when to pick this over observe_chapter_quiz.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_current_exam_questionC

Read structured question/options and a content-bound token from the existing tab.

NameRequiredDescriptionDefault
run_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: not that this is a read-only/side-effect-free call, not what the 'content-bound token' is for (presumably an anti-tamper binding used when submitting an answer), not what happens if no exam tab is present, and not whether the read advances any state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with no filler. It is appropriately short, though the brevity comes at the cost of the details scored low above rather than through deliberate compression.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape need not be explained, but the tool still leaves out the run_id contract, the meaning/purpose of the token, and the tab-state assumption — all things an agent needs to invoke it correctly in a long orchestration workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single parameter run_id, so the description must compensate and it does not — run_id's format, provenance, and whether it must match an active run are all left unexplained. With an undocumented required parameter on a state-sensitive tool, this is a real gap rather than a baseline case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ("Read structured question/options and a content-bound token") plus a locator ("the existing tab"), so the operation is identifiable. However, the sibling list contains several near-identically named tools (read_owned_exam_question, read_owned_exam_observation, preview_owned_exam_questions, inspect_exam_page), and nothing here distinguishes this one from them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus the many sibling readers, nor of prerequisites. "The existing tab" faintly implies an already-open exam tab, but the agent is left to infer that a tab must exist, be the right tab, and be in the right state.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_owned_browser_viewC

Current account's actual viewport, memory-only; no new browser or focus change.

NameRequiredDescriptionDefault
question_numberNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden, and it does disclose real behavioral traits: the read comes from memory, spawns no browser, and does not steal focus. That is genuinely useful side-effect information. It says nothing, however, about what happens if no account/browser session exists, or the freshness of the cached viewport.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is one short sentence with zero filler, which is good, but the terseness tips into under-specification: 'memory-only' is a cryptic shorthand and the leading noun phrase lacks a verb. Efficiency here costs comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. But with no annotations and an entirely undocumented parameter, the definition leaves the agent guessing on the two things the structured fields do not cover: the role of question_number and the failure behavior when no owned browser exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter question_number has 0% schema description coverage and a default of 0, and the description never mentions it. An agent cannot tell whether it is required, what it selects, or what omitting it does — this is exactly the case where the description needed to compensate and did not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'Current account's actual viewport' identifies the resource being read, and 'memory-only; no new browser or focus change' narrows what kind of read it is. But there is no verb — the agent must infer 'read' from the tool name — and nothing distinguishes this from siblings like use_window_viewport, owned_window_status, or inspect_owned_page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No condition for when to call this rather than use_window_viewport, observe_course_browser, or owned_window_status is given. The 'memory-only' note implies it is cheap/non-invasive, which hints at usage, but that is inference rather than guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_owned_exam_gradingA

Read the current attempt's actual grading page without submitting anything.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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 does disclose the single most important behavioral trait — that reading does not trigger submission of the exam attempt, a genuine side-effect guarantee. It says nothing about prerequisites (must an attempt be active?), whether the page can be read repeatedly, or what state it reflects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the critical non-submitting guarantee placed where it will be read. There is no filler and nothing redundant with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description is the only source of behavioral context, and it covers only safety, not what the grading page yields or what state the attempt must be in. For a read tool in an exam-submission workflow, an agent would benefit from knowing the expected attempt state and rough return content.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing to disambiguate; schema coverage is 100% and the empty object schema is self-evident. The description correctly adds no parameter detail, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (read) and a specific resource (the current attempt's actual grading page), and the qualifier 'actual' hints that other grading-inspection siblings may return derived or cached views. It stops short of naming which sibling (e.g. inspect_exam_grading_html or read_chapter_quiz_grading) it differs from, so an agent still has to infer the boundary in a very crowded namespace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Without submitting anything' implies the safe-read context (during an active attempt, prior to or instead of submission). However, no explicit when-to-use / when-not-to-use guidance is given against the numerous adjacent tools such as inspect_exam_grading_html, inspect_owned_page, or read_chapter_quiz_grading, so selection is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_owned_exam_observationC

Read visible controls and offline-parsed questions from existing account pages.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only operation and mentions 'offline-parsed' content, but it does not disclose whether pages must be open, whether live navigation is required, what is returned, or any side effects or dependencies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundant text. Its brevity is appropriate, though some of the wording is too ambiguous to be maximally useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large, complex set of sibling tools and the absence of annotations or an output schema, the description is too thin. It does not explain what 'visible controls' means, what 'offline-parsed questions' are, or how this observation step fits into the exam workflow relative to the other read tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there are no parameter semantics for the description to add. The baseline for a no-parameter tool is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Read') and names resources ('visible controls and offline-parsed questions') plus a scope ('existing account pages'). However, 'visible controls' and 'offline-parsed questions' are vague, and the description does not distinguish this tool from many similar siblings such as read_owned_exam_question or preview_owned_exam_questions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus the numerous related exam and page-inspection tools. The phrase 'from existing account pages' hints at a precondition but does not state required page state or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_owned_exam_questionB

Read current question and exact verified cache without browser navigation.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It adds useful context by saying it avoids browser navigation and reads from an 'exact verified cache', but it does not explicitly state read-only semantics, side effects, permissions, cache freshness, or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single front-loaded sentence with no wasted text. The phrase 'exact verified cache' is somewhat opaque, but the overall structure is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with no annotations and no output schema, the description should clarify what 'exact verified cache' returns and how this differs from sibling readers. It does not provide that context, leaving the agent to infer output shape and usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. There are no parameters to explain, and the empty schema is fully consistent with the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb, 'Read', and names the resource as 'current question and exact verified cache', with the scope qualifier 'without browser navigation'. It does not distinguish this tool from sibling readers such as read_current_exam_question or read_owned_exam_observation, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus the many sibling exam-reading tools. 'Without browser navigation' is a constraint on behavior, not a routing rule or exclusion condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_owned_video_captionsA

Read already-loaded subtitle cues of this chapter, without seeking or replay.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose the key behavioral trait: this is a passive read that does not seek or replay, i.e. it cannot force captions into existence. It leaves unstated what happens when cues are not yet loaded (empty vs. error), which is the main remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and resource, and the non-disruptive constraint follows immediately. Nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Return values are covered by the output schema, so the description only needs to explain scope and preconditions. It covers the non-disruptive constraint but not the failure mode when captions are absent or the relationship to chapter position, leaving a moderate gap for a tool with zero annotation coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline is 4. The description usefully clarifies the implicit target ('of this chapter'), telling the agent the scope is the current chapter rather than an arbitrary video.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: reads subtitle cues of 'this chapter'. The 'already-loaded' qualifier narrows scope meaningfully. It does not explicitly distinguish itself from nearby siblings like observe_video_question or control_owned_video, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'already-loaded ... without seeking or replay' implies the when-to-use condition (captions exist and playback must not be disturbed), but no alternative tool is named and no exclusion is stated. Usage is inferable rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recover_current_taskC

One normal navigation recovery of an observed task; no browser/session recreation.

NameRequiredDescriptionDefault
renew_sessionNo
recover_read_workerNo
cancel_hung_play_waitNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it only discloses that recovery is limited to navigation and will not recreate the browser or session. It says nothing about permissions, side effects, failure modes, or what state is left behind — and the exclusion of session recreation sits in direct tension with a parameter literally named renew_session, which the description never resolves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clause with no waste and the scope caveat front-loaded, so it is structurally fine. The terseness crosses into under-specification: the sentence is short because information is missing, not because it is efficiently packaged.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a recovery tool with three undocumented flags, no annotations, and no output schema, an agent needs to know what each flag toggles and what recovery leaves in place. The description covers only the outer boundary and leaves the operation itself opaque.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three boolean parameters (renew_session, recover_read_worker, cancel_hung_play_wait), so the description must compensate and instead adds nothing. Worse, its "no browser/session recreation" claim appears to conflict with renew_session, leaving an agent unable to tell what that flag actually does.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"One normal navigation recovery of an observed task" identifies a verb (recover) and object (current task), so the general purpose is inferable. But "observed task" and "normal navigation recovery" are internal jargon that is never defined, and the description does nothing to distinguish it from near-neighbours like restore_owned_window, recover_owned_exam_worker, or inspect_current_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause "no browser/session recreation" implies a boundary (don't use this when a full session rebuild is needed), which is the only routing hint present. There is no positive statement of when to call it, what precondition triggers it, or which sibling to use instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recover_graded_parallel_accountA

Recover ONLY a stuck remote graded worker after independent exact readback.

Compatibility path for old workers which cannot hot-load while their parser has latched an already graded submission. No submissions are sent or replayed. Healthy workers are never stopped. The affected worker's hourly timer restarts.

NameRequiredDescriptionDefault
account_idYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does a creditable job: it discloses that no submissions are sent or replayed, that healthy workers are untouched, and that the affected worker's hourly timer restarts. It omits failure modes, prerequisites/permissions, and what a partial or failed recovery leaves behind.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the key constraint and the exclusivity marker in caps. The phrase 'after independent exact readback' is unexplained jargon that costs the reader without adding actionable meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, no-annotation, no-output-schema mutation tool, the situational and side-effect coverage is decent, but parameter meaning and post-recovery state/failure reporting are absent. An agent knows roughly when to call it but not exactly what argument semantics to satisfy.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description never mentions account_id. The reader can only infer that 'the affected worker's' corresponds to the account_id argument; there is no statement about whether the ID must be the stuck account, whether an active/owned worker is required, or what happens if the wrong account is passed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (recover) and a narrowly scoped resource (a stuck remote graded worker), with the 'ONLY' qualifier excluding broad recovery. It does not name any sibling such as retry_parallel_account or recover_owned_exam_worker, so differentiation is left to the agent's inference from the 'stuck / already graded' qualifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence gives an explicit when-to-use condition: legacy workers that cannot hot-load because their parser has latched an already graded submission. 'Healthy workers are never stopped' implies a when-not condition, but no alternative tool is named for the other recovery scenarios in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recover_owned_exam_workerB

Read-only liveness fence after a timed-out batch; never replay a save.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure, and it does establish the two most important traits: the operation is read-only and it must not re-issue a save (idempotency safety). It stops short of stating what the fence observes, whether it acquires or releases ownership, or what the caller should expect on success versus a dead worker.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact clause pair with zero padding, and the situational trigger is front-loaded ahead of the caution. The density of unexplained jargon ('liveness fence') costs a point against genuine front-loaded clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description is the only source of return-value information, and it says nothing about what a fence check yields or how the agent should act on the result. For a zero-param recovery tool in a 100+ tool surface, that leaves the caller guessing at the outcome contract.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero parameters with 100% coverage, so the baseline is 4. The description adds nothing parameter-related, but nothing is required of it here; the worker identity must be implicit in server state.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb+resource combination (recover_owned_exam_worker) is strengthened by 'after a timed-out batch', which tells the agent this is a post-timeout recovery step. But 'read-only liveness fence' is internal jargon that does not clearly state what the tool actually does or returns, and it does not distinguish itself from the several recover_* siblings (recover_current_task, recover_graded_parallel_account, recover_terminal_media_account).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'after a timed-out batch' gives a concrete trigger condition for use, and 'never replay a save' is an explicit prohibition. However, there is no guidance on when to prefer this over the other recover_* tools or what to do if the fence reports an unhealthy worker, so the routing decision is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recover_terminal_media_accountC

Recover an OS-unlocked terminal worker from an exact saved media scene only.

No submissions are replayed. Fresh platform directories choose remaining tasks. Deferred tasks survive; hourly reporting restarts for this account.

NameRequiredDescriptionDefault
account_idYes
enable_once_replayNo
expected_course_idYes
expected_chapter_idYes

TDQS

C2.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does add useful behavioral context: no submissions are replayed, fresh platform directories choose remaining tasks, deferred tasks survive, and hourly reporting restarts. It still omits permissions, reversibility/destructive effects, authentication requirements, failure modes, and what the operation returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the recovery action before adding constraints. Each sentence carries some operational detail, though the domain jargon makes the brevity less effective than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex recovery operation with no annotations, no output schema, and 0% parameter description coverage. The description supplies some behavioral constraints but leaves critical gaps around parameter meanings, prerequisites, expected outcomes, and failure behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the four parameters. account_id, expected_course_id, expected_chapter_id, and especially enable_once_replay are left entirely undocumented, so the description provides no semantic help beyond the schema field names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a recovery action for a 'terminal media account' and adds qualifiers about OS-unlocked workers and saved media scenes. However, the core resource remains jargon-heavy and undefined, so an agent cannot confidently distinguish it from siblings such as recover_current_task, recover_owned_exam_worker, or recover_graded_parallel_account.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one constraint: 'from an exact saved media scene only.' It does not explain when to choose this recovery tool over the many other recovery/retry siblings, nor does it state prerequisites or when recovery is inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_desktop_implementationB

Update the local GUI gateway while preserving pairing and all account runtimes.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

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 does contribute real behavioral value by stating that pairing and all account runtimes are preserved, implying a non-destructive refresh. However, it omits whether the gateway restarts, whether sessions drop, or what the result looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence with no filler, and the preservation guarantee is stated up front. It is efficient, though terse given the ambiguity in the 'refresh' family.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and no parameters, the description is the only source of truth for an operation that mutates local state. It covers what is preserved but not what changes, what the agent should expect afterward, or how it differs from the other refresh tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies for an argument-free tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clarifies what the opaque name means: it refreshes the local GUI gateway/desktop implementation. This is more than a restatement of the name, but with siblings like refresh_direct_implementation, refresh_inventory_implementation, and refresh_notification_implementation in the toolset, it never says which refresh target this one is for an agent choosing between them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no conditions, and no named alternative. With at least five sibling 'refresh_*_implementation' tools, an agent has no explicit basis for picking this one over the others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_direct_implementationA

Explicitly reload direct course code while preserving its idle browser and thread.

Never reload while a submission outcome is unknown. An unsubmitted review plan may be explicitly discarded and must then be prepared again.

NameRequiredDescriptionDefault
discard_unsubmitted_planNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does so reasonably: it discloses the preservation guarantee (idle browser and thread survive), a hard precondition (no reload with an unknown submission outcome), and the destructive consequence of discarding a plan plus the rework needed to prepare it again. Missing: permission/auth requirements and whether the reload is reversible or blocking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and the preservation guarantee; the safety warning follows immediately. Every sentence contributes, though the phrasing is terse to the point of being elliptical in places.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the destructive/warning semantics are covered. The gap is disambiguation: in a catalog of ~120 tools with four sibling refresh implementations, nothing tells the agent which 'implementation' this one targets or when a refresh is warranted at all.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single undocumented boolean. It does so substantively by explaining that an unsubmitted review plan 'may be explicitly discarded and must then be prepared again', which conveys the consequence of discard_unsubmitted_plan rather than restating its name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Explicitly reload direct course code') plus the scope of preservation ('while preserving its idle browser and thread'), so the agent knows this is a reload of code rather than of browser state. However, it never differentiates itself from the three sibling refresh tools (refresh_inventory_implementation, refresh_notification_implementation, refresh_desktop_implementation), and 'direct course code' remains undefined jargon.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Never reload while a submission outcome is unknown' is an explicit when-not rule, which is real guidance. But there is no stated when-to-use condition and no named alternative among the near-identical refresh_* siblings, so the agent must infer when this tool is the right pick.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_exam_browserC

Parse a fresh current-question DOM observation from the same browser tab.

NameRequiredDescriptionDefault
run_idYes
tab_idYes
exam_urlYes
html_sourceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses parsing a DOM observation from the same tab, but not whether it refreshes or navigates, mutates state, requires authentication, or how errors are handled; this is thin for a four-required-parameter operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded sentence with no filler. The phrase 'fresh current-question DOM observation' is dense, but the statement is efficiently structured and every word is doing work.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema means return values need not be described, but the definition still omits when to use the tool, what the four required inputs mean, and what the parse achieves. With no annotations and 0% schema description coverage, this is insufficient for a complex exam-browser operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention run_id, tab_id, exam_url, or html_source by name. It weakly implies html_source is the DOM observation and tab_id is the browser tab, but run_id and exam_url remain completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Parse') and resource ('fresh current-question DOM observation') and anchors it to 'the same browser tab.' It is clear enough to distinguish from generic browser observation tools, but it does not name or compare against siblings such as prepare_exam_browser_step or read_current_exam_question.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use, prerequisite, or alternative guidance. 'Fresh' and 'same browser tab' weakly imply it follows a page refresh, but an agent must infer that; there is no indication of when to choose it over examine/read/observe siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_inventory_implementationC

Update validated inventory code in this process; retain account sessions and verification gates.

NameRequiredDescriptionDefault
forceNo

TDQS

C2.3/5.0
Behavior2/5

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 usefully notes that account sessions and verification gates are retained, but it does not explain what the update changes, whether it is destructive or reversible, or what permissions or side effects are involved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no wasted words, and the main action is front-loaded. It is concise, though its brevity contributes to the missing details rather than being a flaw in structure alone.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and an undocumented parameter, the description is under-specified. It needs to explain the effect of 'force', the scope of the update, and enough behavioral context for an agent to invoke it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, 'force', is not mentioned at all in the description, and the schema has 0% description coverage. The description adds no meaning about what 'force' does or how it changes the tool's behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states an update action on 'validated inventory code,' which gives some sense of the resource. However, the phrasing is vague and does not clearly distinguish this tool from sibling refresh_*_implementation tools or explain what 'inventory implementation' means in practice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool, when not to use it, or which sibling tool to choose instead. The phrase 'in this process' hints at context but does not provide actionable usage conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_notification_implementationC

Reload notification code, preserving in-memory credentials, dedup state and delivery queue.

NameRequiredDescriptionDefault
resend_currentNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, and the description adds useful behavioral context by stating that in-memory credentials, dedup state, and the delivery queue are preserved. However, it does not disclose side effects, downtime, permissions, or what is reset/destroyed during the reload.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted wording. It is crisp, though for a runtime-refresh operation it may be too terse to carry the needed usage and parameter meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, low parameter description coverage, and an output schema only covering return values, the description is missing key context: invocation conditions, resend_current semantics, and side effects. It states the core action and preserved state but not enough for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, resend_current, is not mentioned in the description despite 0% schema description coverage. The description therefore fails to explain what the parameter changes about the reload behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: reload notification code. It is distinguishable from siblings like refresh_inventory_implementation by the 'notification' resource, but it does not explicitly name or differentiate alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It does not state when to use this tool, when not to use it, or which sibling tools are alternatives. The only implied guidance is the bare notion of reloading notification code.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_owned_exam_adapterA

Reload only the idle exam adapter; retain browser, capture and review state.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does carry useful behavior: it is a targeted reload that preserves browser, capture and review state, which tells the agent it is non-destructive to surrounding session state. It omits what happens on a non-idle adapter, whether the reload is synchronous, and what the result looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One clause pair, front-loaded with the action and scope, then the state-preservation guarantee. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, no-output-schema tool, an agent still needs to know the idle precondition's failure mode and whether a result/status is returned; neither is covered. Adequate but leaves a real gap for an operation with no annotations to lean on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there is nothing to document and the baseline is 4. The description correctly adds no parameter noise.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: reloading the exam adapter, narrowed to the idle instance. That distinguishes it from the many refresh_* siblings (refresh_exam_browser, refresh_direct_implementation) at a high level, though 'adapter' is internal jargon an agent must infer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'only the idle exam adapter' implies a precondition (adapter must be idle) but never says when to pick this over refresh_exam_browser or refresh_inventory_implementation, nor what to do if the adapter is not idle. Usage is implied rather than prescribed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

release_course_quizC

Authorize one UI action after a fresh same-content read and a real 2-5s interval.

NameRequiredDescriptionDefault
plan_idYes
observation_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description still surfaces a genuine behavioral constraint – the freshness requirement and the enforced 2-5s delay – which the agent could not learn from the schema. It omits what the authorization actually triggers, error behavior, and whether the action is irreversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with no wasted clauses, and the precondition is front-loaded after the verb. The brevity is a virtue here, though it edges toward under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, but for a mutation-style authorization step with zero annotations and 0% parameter coverage the description should explain the two IDs and the consequence of authorizing. Those gaps leave the agent guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so neither plan_id nor observation_id is documented anywhere. "Same-content read" faintly hints that observation_id comes from a prior observation, but plan_id's role and how the two must correspond are entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Authorize one UI action" never says which action or that it concerns a course quiz – that only comes from the tool name. Compared with siblings such as prepare_course_quiz, submit_chapter_quiz, or validate_reviewed_chapter_quiz, an agent cannot tell what this releases or how it differs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase "after a fresh same-content read and a real 2-5s interval" does state a precondition for calling, which is more than nothing. But it never names the prerequisite tool (e.g., prepare_course_quiz / observe_chapter_quiz) or says when to avoid this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restore_owned_windowB

Show this account's headed browser for explicitly requested user interaction.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden, and it delivers almost none. It does not say whether restoring brings the window to the foreground, whether it interrupts or pauses ongoing automation, whether the change persists, or how to undo it (minimize_owned_window exists but is unmentioned). For a window-state mutation in a large automation suite this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence, front-loaded with the action and qualified with the condition for use. Nothing is padded, though the qualifier 'explicitly requested' is slightly vague and could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and there are no parameters to document. But with zero annotations, the description leaves unaddressed whether this action interferes with background work or how it relates to minimize/return-to-background siblings, which an agent needs before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the baseline rule the schema fully covers semantics and the description needs to add nothing. No parameter confusion is possible.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb phrase ('Show ... headed browser') conveys the basic effect, but 'restore_owned_window' is not distinguished from nearby siblings like minimize_owned_window, open_account_browser, or owned_window_status. An agent can guess this makes a window visible but cannot confidently separate it from the alternatives from the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for explicitly requested user interaction' implies a usage condition (only when the user asks to see/interact), which is more than nothing. However, it gives no exclusions and never names an alternative (e.g., use read_owned_browser_view if you only need to observe), so the agent must infer the routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resume_learning_batchC

After actual model review/human verification, revalidate the same task before proceeding.

NameRequiredDescriptionDefault
restart_idle_dispatcherNo

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden and largely fails: it does not say whether the task is re-executed from scratch or continued, what happens to in-flight state, or whether the operation is idempotent. The single hint is "revalidate the same task before proceeding," which is too vague to infer side effects from.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with the precondition front-loaded, so there is no waste. However, the brevity comes from under-specification rather than efficiency — one sentence is not enough to carry the meaning a zero-annotation tool needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, an undocumented parameter, and ambiguous purpose, the definition leaves major gaps: what the tool returns, what state it mutates, and how it differs from the many batch/task-recovery siblings. The precondition sentence alone is insufficient for a stateful batch operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the one parameter, restart_idle_dispatcher, is never mentioned. The description does not explain what restarting the idle dispatcher would do or when an agent should set it true, so it adds no meaning over the bare boolean default of false.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says "revalidate the same task before proceeding," which does not state that this resumes a paused/stopped learning batch, and never uses the words the tool name implies (resume, batch). Against siblings like start_learning_batch, stop_learning_batch, recover_current_task and route_learning_task, an agent cannot tell what this does or which one to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause "After actual model review/human verification" does give an explicit precondition for calling it, which is more than nothing. But there are no exclusions, no naming of alternatives (start_learning_batch vs recover_current_task), and no explanation of what state the batch must be in for a resume to make sense.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retry_parallel_accountD

Recover a terminated startup worker or an orderly fully completed course worker.

NameRequiredDescriptionDefault
coursesNo
account_idYes

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. It hints that recovery applies to terminated and fully completed workers, but says nothing about permissions, side effects, idempotency, what state changes occur, or what the caller gets back.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single sentence with no structural front-loading or elaboration, which is under-specified rather than appropriately concise for a two-parameter recovery operation with no annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, 0% schema description coverage, and a cryptic one-line description, the definition is far from complete enough for an agent to invoke this tool reliably. Key information about parameters, behavior, and return effects is entirely absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention either parameter. The required account_id and optional courses array are completely undocumented, leaving the agent with no semantic guidance beyond the bare schema names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a verb ('Recover') and an object ('worker'), but the objects are obscure internal terms ('terminated startup worker', 'orderly fully completed course worker') and it never mentions the tool's actual resource, the parallel account. It does not distinguish this from many sibling recovery/resume tools such as recover_current_task, recover_terminal_media_account, or recover_graded_parallel_account.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is an implied condition ('terminated' or 'fully completed'), but no explicit when-to-use guidance and no mention of alternatives or when not to use this tool. An agent cannot tell from this sentence how it differs from the numerous other recovery and resume tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

return_account_to_backgroundB

After manual work, return this account to headless course dispatch.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose one meaningful behavioral trait: this is a state transition that resumes headless dispatch after manual intervention. It says nothing about whether an open manual workspace is closed, whether in-flight tasks are interrupted, permission requirements, or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the precondition front-loaded ahead of the action. Every word earns its place and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and with no parameters the schema burden is nil. But for a zero-annotation state-mutating tool, the description should say what the transition does to existing manual sessions and when it errors; that is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. No spurious parameter language is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb + resource ('return this account') is identifiable, and 'to headless course dispatch' indicates the account goes back to automated processing, but 'headless course dispatch' is internal jargon that an agent must infer. It does not clearly distinguish itself from siblings such as claim_current_account or start_account_workspace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'After manual work' gives a thin trigger condition for calling it, which is more than nothing. However, no alternative is named (e.g., what to call instead if the account is already headless, or whether claim_current_account must have been used first), leaving the routing decision implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

return_owned_exam_questionB

Use the observed Return link to leave full preview without submitting.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden; it does convey one important behavioral fact — that leaving the preview does NOT submit anything, so this is a non-destructive escape path. It omits state dependencies ('observed' implies the link must already be visible in a prior observation), what happens to unsaved answers, and what state the session is left in afterwards.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the key qualifier ('without submitting') is placed where it will be read. The phrasing is slightly awkward ('Use the observed Return link to leave full preview') but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output, no-annotation tool the description is minimally sufficient — an agent knows it navigates out of a preview without submitting. It is still too thin on the surrounding state machine (what must be true before calling, and what the agent should do next) to be considered complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to document beyond the implicit dependency on prior browser observation, which is only hinted at by the word 'observed'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states an action ('leave full preview without submitting') via a specific mechanism ('the observed Return link'), which tells the agent this is a navigation/exit operation rather than a read or write. However, terms like 'full preview' and 'Return link' are tool-specific jargon not defined anywhere, and nothing distinguishes it from close cousins such as preview_owned_exam_questions or inspect_owned_exam_navigation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: call this when you are inside a full preview and want to back out without submitting answers. There is no explicit statement of preconditions (e.g., that a preview must already be open, or that the Return link must have been observed first) and no named alternatives for other ways of leaving the preview.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

review_current_exam_answerA

Stage one current-model reviewed answer; no platform writes.

review requires model_reviewed=true, certain=true and basis. Multiple choice also requires selected_reasons, excluded_reasons for every option, and cross_checked=true. Unresolved conflicts and previously rejected combinations stop the workflow.

NameRequiredDescriptionDefault
answerYes
reviewYes
run_idYes
question_tokenYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose meaningful behavior: it stages rather than writes to the platform, requires review confidence fields, and stops when conflicts or rejected combinations occur. It still omits details such as idempotency, failure behavior, or what staging changes in the run state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loads the core action and no-write guarantee, then lists review preconditions. It is dense but mostly earns its space, with only minor ambiguity in phrasing like 'Stage one current-model reviewed answer.'

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. Still, for a complex nested-review tool with four required parameters, the description omits the role of run_id and question_token and does not fully explain how the staged answer relates to an exam run.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds substantial meaning for the nested review object by naming required fields and multiple-choice requirements, but it does not explain the top-level run_id, question_token, or answer parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: staging a current-model reviewed answer without platform writes. It is distinguishable from write/submit siblings because it explicitly says there are no platform writes, though it does not name a specific alternative tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the staging step before platform writes and gives preconditions for proceeding. However, it does not explicitly say when to use this tool versus alternatives such as save_owned_exam_answer or submit-style tools, nor does it describe exclusions beyond unresolved conflicts and rejected combinations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

route_learning_taskB

Unified read-only entry point. Choose the mode from user intent and observed task type.

Returns tools and dependencies, not a claim that the session is connected. Does not log in, start playback, save answers, or submit anything.

NameRequiredDescriptionDefault
task_typeYes
transportNobrowser

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does real work: it declares read-only semantics and enumerates four things it will not do (log in, start playback, save answers, submit). It also clarifies the output is a plan ('tools and dependencies'), 'not a claim that the session is connected' — a subtle but useful disclosure about what the result does and does not guarantee.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short lines with the router role front-loaded, followed by output semantics and exclusions. Every sentence carries information; the phrasing 'not a claim that the session is connected' is slightly oblique but is doing real work about return-value interpretation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return structure need not be described. What is missing is the operational follow-through: whether the returned 'tools and dependencies' should then be invoked in order, and how the transport parameter interacts with the routing. For a top-level router over 120 tools, that gap matters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% with two enum parameters, so the description must compensate. It gives selection guidance for task_type ('from user intent and observed task type') but calls it 'mode', never matching the schema field name, and it says nothing at all about 'transport' (browser vs cdp), a choice that plausibly changes execution behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific function — a 'unified read-only entry point' that routes to a mode based on 'user intent and observed task type' — which is meaningful differentiation against a ~120-tool sibling list where most tools are concrete actions. It falls short of 5 because the routed resource is never named concretely (the task types exist only in the schema enum), so the agent must open the schema to learn what it routes among.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Unified read-only entry point' implies this should be called before the concrete action tools, and the negative list ('does not log in, start playback, save answers, or submit anything') implies when not to expect it to act. However, it never explicitly states whether to call this before or instead of siblings like inspect_course, prepare_course_quiz, or start_learning_batch, which is the central routing decision for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_exam_question_loopB

Answer and save reviewed questions one at a time using the page's own Next action.

Stops on an unknown answer (returns it for current-model review), error, changed question, 40-second budget, or final preview. Call again to continue. Exact platform-confirmed caches run first; cache misses require current-model review. Never finally submits.

NameRequiredDescriptionDefault
run_idYes
max_stepsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden and does a solid job: it enumerates five stop conditions, a 40-second time budget, resumability, cache-first behavior with current-model fallback, and critically states 'Never finally submits' — a meaningful safety guarantee for a mutation-ish loop. It omits auth/session prerequisites and what state the page must be in before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The lead sentence is front-loaded with verb, resource, and mechanism, followed by a compact stop-condition list and one line on cache behavior. Slight redundancy between 'Stops on an unknown answer' and 'cache misses require current-model review', but overall tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return shape needn't be explained, and the description adequately covers loop control and safety. However, for a multi-step driver tool with zero annotation coverage and zero parameter documentation, it should say what run_id refers to, how max_steps bounds the loop, and what the page must be set up as first.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions either parameter. 'Call again to continue' hints that a run identifier persists across calls, but max_steps (default 10) and run_id's meaning/origin are left entirely undocumented in both schema and prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource — 'Answer and save reviewed questions one at a time' — and adds the mechanism ('using the page's own Next action'), which anchors it as an iterative driver rather than a single read or save. It does not explicitly differentiate itself from near siblings like save_owned_exam_answer or exam_loop_progress, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the termination conditions and that calling again continues, which is useful operational guidance, but never says when to prefer this loop over single-shot siblings (save_owned_exam_answer, read_current_exam_question) or what preconditions must hold (questions already reviewed/planned). Usage is implied rather than prescribed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_owned_exam_queueC

Execute reviewed questions; stop starting new steps after 20 seconds.

NameRequiredDescriptionDefault
max_stepsNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden; it does disclose one real behavioral trait — it stops starting new steps after 20 seconds — which is genuinely useful. However, it never states that this is a state-changing execution loop, whether it can be interrupted, what happens to steps it did not start, or how failures surface.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with the action front-loaded and the time bound appended. No waste, but the terseness contributes to the specification gaps rather than being purely efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an execution loop with no annotations, no output schema, and an undocumented parameter, the description leaves too much unknown: return values, progress reporting, idempotency, and interaction with exam_loop_progress are all unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter max_steps has 0% schema description coverage and defaults to 6, yet the description says nothing about it — not what a 'step' is, nor that the 20-second cut-off limits how many steps actually run. The description fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Execute' with object 'reviewed questions' gives a rough sense of the action, but the tool name references a queue while the description never mentions a queue, ordering, or what a 'reviewed question' is in this domain. It does not distinguish itself from nearby siblings such as run_exam_question_loop or exam_loop_progress.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when this should be invoked versus alternatives, no prerequisites (must questions be reviewed/staged first via stage_owned_exam_reviews?), and no indication of what happens on timeout. The 20-second note is a behavior, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

runtime_healthD
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_owned_exam_answerC

Save one reviewed answer through normal Next/Preview controls; never final submit.

NameRequiredDescriptionDefault
answerNo
reviewNo
question_tokenYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It usefully states that the tool performs a normal save and not a final submit, but it does not disclose side effects, persistence, permissions, overwrite behavior, or what the response represents.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted text. It is appropriately concise, though the phrase 'normal Next/Preview controls' is somewhat ambiguous and could have been clarified without adding much length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and 0% parameter description coverage, the description is too sparse. The 'never final submit' constraint is important, but prerequisites, parameter expectations, and relationship to verification or preview tools are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has three parameters with 0% description coverage, and the description does not explain the roles of question_token, answer, or review. The required question_token is completely undocumented, and the description does not compensate for the schema coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: saving one reviewed exam answer. It also adds an important scope constraint, 'never final submit,' which distinguishes it from final submission behavior, though it does not name sibling tools such as verify_owned_exam_saved_answer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'never final submit' provides an explicit exclusion, but the description does not say when to use this versus related tools like preview_owned_exam_questions, verify_owned_exam_saved_answer, or return_owned_exam_question. Usage context is implied rather than fully specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

select_course_cardB

Select one observed video/quiz/learning-objective card by its actual dct selector.

NameRequiredDescriptionDefault
selectorYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden and does not meet it. It does not disclose whether selection navigates the browser, whether it is idempotent, what happens with a stale or non-'actual' selector, or what the selection returns beyond the existence of an output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence with the key constraint front-loaded and no filler. It is efficient, though part of that brevity comes from omitting information rather than from tight editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero annotations, 0% parameter coverage, and no title, the description is the only prose the agent gets, and it leaves out the observation prerequisite, selector provenance, and failure behavior. The output schema covers return values, but everything else an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single 'selector' parameter, so the description must compensate. It does add real meaning by specifying the selector is a 'dct selector' and must be the 'actual' one (i.e., taken from observation rather than fabricated), but it gives no format, example, or source tool for obtaining it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('select') and a specific resource ('one observed video/quiz/learning-objective card'), so the agent knows the operation is a single-card selection over already-observed course content. It does not name a sibling or explain how selection differs from the many other course/exam inspection tools, but the verb-resource pairing is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'observed' implies a prerequisite (a prior observe_course_browser / inspect_course step must have produced the cards), but this is only implied. There is no explicit when-to-use versus alternatives, no statement about what happens when no card matches, and no guidance on which observation tool produces valid selectors.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_hourly_report_testB

Explicitly send one hourly-format TEST. No fake course events or timer changes.

NameRequiredDescriptionDefault
account_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that this sends a test only and does not create fake course events or change timers, which is meaningful side-effect transparency. However, it omits whether a real notification is delivered, what account_id controls, and any permission or rate-limit context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the action front-loaded and no wasted text. The second sentence earns its place by clarifying the test-only side-effect scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, with one parameter and an output schema that need not be explained in the description. Still, the description leaves out what account_id selects and what preconditions, such as configured SMTP or bound email, are required before a test send can succeed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no meaning for account_id, and the description never mentions the parameter. The only clue is the parameter name itself, leaving the description without added semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('send') and resource ('one hourly-format TEST'), so an agent can tell this is a test-send tool rather than a general notification sender. It does not explicitly differentiate itself from the nearby send_notification_test sibling, which keeps it below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this over send_notification_test or send_learning_stage_notice, and no prerequisites such as SMTP configuration or whether an account must be bound. The word 'Explicitly' hints at manual invocation but does not define the selection condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_learning_stage_noticeC

Explicitly send current account progress + each quiz score, without page reads.

NameRequiredDescriptionDefault
stageNo阶段进度核验
account_idYes

TDQS

C2.6/5.0
Behavior2/5

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 discloses the content being sent and that no page reads are required, but it omits critical behavioral traits such as whether this sends an email or internal notice, requires configured SMTP/notification binding, has side effects, or can be retried.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is concise and readable, though its terseness contributes to the gaps in usage and parameter guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a send/notification tool with no annotations, no output schema, and zero schema description coverage, the description is too thin. It does not cover delivery channel, prerequisites, response expectations, or parameter meanings, so an agent would lack important context before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain either parameter. It never mentions account_id or stage, nor clarifies the default stage value, leaving the schema to speak entirely for itself with no semantic support.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('send') and resource ('current account progress + each quiz score'), which is clearer than the tool name alone. It also indirectly distinguishes itself from page-inspection siblings by noting 'without page reads', though it does not name those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives such as send_owned_exam_result_notice or send_notification_test. The phrase 'without page reads' hints at a context, but no conditions or exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_notification_testB

Send one explicitly requested test email using this account's own recipient.

NameRequiredDescriptionDefault
account_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses only that this sends a test email using the account's own recipient. It says nothing about whether a real external email is sent, whether SMTP credentials must be configured, whether the send is rate limited, or what happens on failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It puts the action, the safety constraint, and the recipient scoping in one pass.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one required parameter, no annotations, an output schema exists), but the description leaves the parameter meaning and the external side effect underspecified. It is minimally adequate but would benefit from stating what account_id represents and confirming the test email is actually delivered via the configured SMTP sender.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented account_id parameter. The phrase 'this account's own recipient' implies account_id selects which account's configured notification recipient is used, which is meaningful. However, the description does not state whether account_id must be a known account identifier or a display name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: 'Send one ... test email.' It is clear this triggers a single test email rather than a batch or scheduled notice. However, it does not distinguish itself from the sibling tool send_hourly_report_test, which is also a test-send operation, so an agent cannot tell the two apart without outside knowledge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'explicitly requested' provides an implied usage constraint: only invoke this when the user directly asks for a test email. But there is no explicit when-not guidance and no naming of alternatives such as send_hourly_report_test, so the agent is left to infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_owned_exam_result_noticeB

Send the verified current exam score once to this account's bound mailbox.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals that the send is one-time ('once') and targets the account's bound mailbox, which is useful, but it omits key behavior for a notification-sending tool: what happens if no mailbox is bound, whether the action is reversible, whether authentication is required, and whether the score is sent immediately or queued. These gaps are significant given zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with zero waste, front-loading the core action and qualifying it with 'verified current exam score' and 'once to this account's bound mailbox.' Every element earns its place by narrowing scope and recipient. There is no redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and zero parameters, the description should do more to define prerequisites and outcomes for a send action. It does not state what 'verified' means operationally, what happens when the mailbox is missing, whether the send is idempotent, or what success looks like. The description is sufficient to identify the action but not complete enough for an agent to invoke it confidently in edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the description correctly adds no parameter semantics beyond what is irrelevant. Baseline for zero parameters is 4. The description does not need to explain any input fields, and it appropriately focuses on the action and target instead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action (send), a specific resource (verified current exam score), a frequency constraint (once), and a recipient (this account's bound mailbox). It clearly distinguishes itself from general notification tools by scoping to exam results and a bound mailbox, though it does not name a sibling alternative. An agent can understand what the tool does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives such as send_learning_stage_notice, send_hourly_report_test, or send_notification_test. It implies use after verification through the word 'verified' and suggests a one-time send, but it does not state prerequisites, exclusions, or when not to use it. The agent must infer usage context from the tool name and surrounding workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_learning_batch_rateC

Set this account's current/future rate; return actual readback, never silent fallback.

NameRequiredDescriptionDefault
rateNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden. It does disclose one genuinely useful trait — it returns an actual readback and never silently falls back — plus that the change affects both current and future work. It omits permissions, idempotency, and what a failed set looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact clause-set with the scoping and the readback guarantee front-loaded; no filler. Brevity here costs clarity rather than padding, but structurally it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description leaves out units/range for the rate, what 'current/future' concretely means for running batches, and error behavior beyond 'never silent fallback'. Not enough for an agent to call it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single 'rate' parameter has 0% schema description coverage: no units, no valid range, no explanation of the 1.25 default. The description adds nothing beyond the word 'rate', so the low-coverage gap is not compensated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Set' and the object 'rate' are present, but the description says only 'this account's current/future rate' without saying what kind of rate (learning batch pacing?) or how it differs from siblings like set_owned_video_rate and set_parallel_playback_rate. An agent must infer the resource from the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this versus the closely-named set_owned_video_rate or set_parallel_playback_rate, nor any prerequisite such as an active batch. Usage is only implied by the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_owned_video_rateD

For 1.25: initialize playback then use the inspected player adapter automatically.

Native mode changes real playback only; never seek, mask events or alter reporting.

NameRequiredDescriptionDefault
rateNo
native_html5No

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It adds constraints such as 'Native mode changes real playback only; never seek, mask events or alter reporting,' which is useful, but it is cryptic and does not explain permissions, reversibility, or what 'initialize playback' entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but poorly structured: 'For 1.25' is front-loaded ambiguity, and the second sentence reads as a constraint rather than a purpose statement. Brevity does not help because the core meaning is still unclear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a playback-rate mutation tool with two undocumented parameters and no annotations, the definition leaves purpose, parameter meanings, and operational prerequisites unclear. The output schema exists, so return values need not be explained, but essential calling context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the two parameters. It hints at '1.25' and 'Native mode,' but it does not define valid rate values, explain what native_html5 toggles, or clarify the default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'For 1.25' instead of stating a verb and resource, and it never clearly says that this sets the owned video playback rate. It also does not distinguish the tool from sibling rate tools such as set_learning_batch_rate or set_parallel_playback_rate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus control_owned_video, set_learning_batch_rate, or set_parallel_playback_rate. 'For 1.25' is not a usage condition, and no prerequisites, exclusions, or alternatives are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_parallel_playback_rateC

Apply the user's requested rate to each connected account, retaining separate results.

NameRequiredDescriptionDefault
rateNo

TDQS

C2.4/5.0
Behavior2/5

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 discloses that the rate is applied to each connected account and that separate results are retained, but it does not explain permissions, failure behavior when accounts are disconnected, reversibility, or what the separate results contain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Its brevity is appropriate, though the phrase 'retaining separate results' is vague enough that it could be clarified without adding much length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with one parameter, no annotations, and no output schema, the description is incomplete. It does not explain what playback rate means here, valid values, per-account behavior, or what happens when only some connected accounts can be updated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single 'rate' parameter. The description calls it 'the user's requested rate' but adds no units, accepted range, format (e.g., 1.25x), or meaning of the default value 1.25, so it does not compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names an action ('Apply ... rate') and a target ('each connected account'), but it omits the key noun 'playback' and does not distinguish this tool from siblings like set_learning_batch_rate or set_owned_video_rate. The purpose is inferable from the tool name but not fully stated in the description itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus set_learning_batch_rate, set_owned_video_rate, or other rate-setting siblings. The phrase 'each connected account' implies a multi-account context, but no prerequisites, exclusions, or alternatives are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_learning_accountsA

Collect credentials once, optional shared SMTP + per-account notify_email; login first account.

Start only after the user supplies learning credentials. Other accounts stay queued in import order; login_accounts([next_id]) reuses ONE browser process. This does not claim any task is completed. Passwords/codes are memory-only.

NameRequiredDescriptionDefault
rateNo
accountsYes
state_dirNo
browser_modeNo
sender_emailNo
execution_modeNoparallel
smtp_auth_codeNo
session_handoffNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose real traits: only the first account is logged in while others queue in import order, a single browser process is reused, credentials are memory-only, and no task completion is claimed. It omits failure behavior and where state_dir-persisted data goes, but the important side effects are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action and the login-first/queue-rest behavior are front-loaded, and each sentence adds information. The phrasing is dense and slightly telegraphic ("optional shared SMTP + per-account notify_email"), but there is little filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, but for an 8-parameter setup tool with zero schema description coverage the description is too thin: the structure of the required accounts entries and the meaning of execution_mode, browser_mode, state_dir, and session_handoff are all missing, leaving an agent unable to construct the call confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across 8 parameters, and the description only gestures at accounts (credentials), sender_email/smtp_auth_code (shared SMTP), and notify_email. Rate, state_dir, browser_mode, execution_mode, and session_handoff are never mentioned, and the required `accounts` array has an undefined item shape (additionalProperties: true) that the description leaves entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific compound action: collect credentials, optionally configure a shared SMTP sender with per-account notify_email, and log in the first account. That distinguishes it implicitly from siblings like import_accounts (import only) and login_accounts (subsequent logins), though the differentiation is inferred rather than stated by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit precondition ("Start only after the user supplies learning credentials") and routes follow-up work to the alternative ("login_accounts([next_id]) reuses ONE browser process"). It does not contrast with import_accounts or add_parallel_learning_accounts, so the when-not guidance is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

smtp_notification_statusC

Cached redacted state only; does not connect SMTP or read a browser.

NameRequiredDescriptionDefault
account_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description usefully discloses that the tool is cached, redacted, and makes no SMTP or browser connections. It omits read-only status, permission/auth requirements, and whether cached data can be stale, so transparency is only partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two compact clauses with no filler. However, both clauses are caveats rather than a front-loaded purpose statement, so it is concise but not optimally structured for selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers return values and the low-complexity one-parameter shape reduces the burden, and the cached/no-connection caveat is valuable. Still, the description does not clarify purpose or account_id meaning well enough for confident selection among the many sibling notification tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions account_id or what account the state belongs to. The agent gets only the schema's bare required field name, not its meaning or expected format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description implies a cached status read but never states a specific verb or what 'state' covers. It distinguishes itself from live SMTP/browser tools only by negative constraints, leaving the core purpose implied by the tool name rather than stated in the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance or named alternative. 'Does not connect SMTP or read a browser' hints that this is a cached read, but it never says to choose this over configure_smtp_notifications, refresh_notification_implementation, or send_notification_test.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stage_owned_exam_reviewsC

Queue already reviewed content fingerprints in memory; do not choose answers.

NameRequiredDescriptionDefault
plansYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that queuing happens "in memory" and that the tool must not choose answers, but it omits whether this is a write/mutation, whether queued data persists, what permissions are needed, and what happens on failure or to existing staged reviews.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded, and has no wasted sentences. However, it is too terse for a tool with an undocumented structured array parameter and opaque terminology, so it is concise but not appropriately sized for the clarity required.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, zero schema description coverage, and one required structured parameter, the description is not complete enough. It leaves out the meaning of plans, expected input shape, behavioral effects, and return expectations, forcing the agent to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter is "plans", an array of unconstrained objects, and schema description coverage is 0%. The description never mentions "plans" or explains what each object should contain; "content fingerprints" does not map clearly enough to the parameter. An agent cannot know what valid input to provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: "Queue already reviewed content fingerprints in memory." However, "content fingerprints" is opaque, and it does not clearly explain what staging an owned exam review means or how it relates to the tool name. The phrase "do not choose answers" gives some sibling differentiation, but the core purpose remains only partially clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after reviews already exist and explicitly excludes choosing answers. It does not name when to use this instead of siblings such as run_owned_exam_queue, preview_owned_exam_questions, or owned_exam_review_inventory, so the guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_account_workspaceB

Launch one isolated account browser without starting any course or exam.

NameRequiredDescriptionDefault
account_idYes
browser_modeNominimized

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden; it does add the meaningful trait that the browser is 'isolated' and that no course/exam session is started. It says nothing about lifecycle (does it persist until close_account_workspace?), permissions, failure modes, or what is returned, leaving significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the key constraint ('without starting any course or exam') placed immediately after the action. No filler, though the brevity comes partly at the cost of missing detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with zero annotation coverage, no output schema, and 0% parameter documentation, the description is too thin: browser_mode semantics, lifecycle/cleanup relationship to close_account_workspace, and whether a course browser must be attached later are all unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate and does not: account_id and browser_mode are never explained. In particular, browser_mode's default 'minimized' hints at a set of allowed modes, but no values or effects are described.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Launch') and resource ('isolated account browser') plus a scope exclusion ('without starting any course or exam'), which separates it from start_course_browser and open_course_exam. However, it does not address the nearby sibling open_account_browser or attach_course_browser, so differentiation is only partial.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The exclusion clause implies the intended context (bare browser, no learning task), but no alternative is named and no precondition (e.g., account must be logged in) is stated. Usage is implied rather than routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_course_browserB

Launch ONE browser inside this MCP process and seed it with the login session.

Empty account_id opens the official login page without credentials. A later account bind reuses the same browser with memory-only HTTP login cookies. No daily profile copy and no port discovery.

NameRequiredDescriptionDefault
channelNomsedge
headlessNo
account_idNo
browser_modeNoauto

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does carry real behavioral weight: single shared browser per process, memory-only HTTP cookies, no daily profile copy, no port discovery. It omits failure modes, idempotency (what happens on a second call), process lifetime, and whether the call blocks until the browser is ready.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action in the first clause, then tight supporting sentences; nothing is redundant. 'No daily profile copy and no port discovery' is somewhat jargon-y but earns its place by ruling out design assumptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. However, for a state-creating browser launch with zero annotations and four undocumented parameters, the description should say more about preconditions and re-invocation behavior to be safely callable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 4 parameters, so the description must compensate, and it only explains account_id (empty = unauthenticated login page). channel, headless, and browser_mode (including its auto/headless/minimized enum) get no meaning at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: launch ONE browser inside this MCP process and seed it with the login session. The 'ONE' emphasis and 'in this MCP process' scope make it distinguishable from attach_course_browser/observe_course_browser, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies the launching context via 'Empty account_id opens the official login page without credentials' and 'A later account bind reuses the same browser,' which hints at the credential-less bootstrap flow. But it never states when to prefer this over attach_course_browser/open_account_browser, nor what to do if a browser is already running.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_desktop_consoleC

Open the explicitly requested local GUI, sharing this process's accounts.

NameRequiredDescriptionDefault
portNo
app_pathYes
python_pathNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that the GUI shares this process's accounts, which is useful context, but does not explain process execution/lifecycle, blocking behavior, permissions, or what happens to an existing console.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted text. It is appropriately concise, though the compression contributes to under-specification elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a 3-parameter tool with no annotations, no output schema, and 0% schema description coverage. The description does not compensate by explaining parameters, execution behavior, or usage boundaries, leaving major gaps for an operation that launches a local GUI from an app path.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention app_path, port, or python_path. It provides no parameter meaning beyond the raw schema, so an agent must infer that app_path is the GUI executable or path to open.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: opening a local GUI. It is specific enough to distinguish this from status/configuration siblings, but it does not explicitly differentiate its role relative to desktop_console_status or start_account_workspace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'explicitly requested' hints at a usage condition, but there is no guidance on when to call this instead of desktop_console_status, configure_desktop_preferences, or workspace siblings. No alternatives or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_learning_batchA

Run imported accounts sequentially with exact enrolled-course matching.

accounts=[{account_id, courses:[requested course names or {name,course_id}]}]. Reuses the existing single browser. Never automatically answers/submits quizzes. If a review is needed use existing review tools, then resume_learning_batch.

NameRequiredDescriptionDefault
rateNo
accountsYes
state_pathNo
media_checkpointNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose meaningful traits: it reuses the existing single browser (shared-state implication), runs sequentially, and 'Never automatically answers/submits quizzes' (a clear safety boundary). It says nothing about whether the call blocks until completion, what it returns, or how failures mid-batch are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core verb and scope, then a compact payload shape line, then constraints. Every sentence carries information and the dense accounts syntax line earns its place given the 0% schema coverage, though the bare 'accounts=[...]' line without a label reads slightly cryptic.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a batch orchestration tool with no annotations and no output schema, the description omits return behavior (progress, failure reporting), the meaning of rate and state_path, and how completion is signaled. An agent knows how to shape accounts but not how the call behaves over its lifetime.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate and it does well for the required parameter, spelling out the accounts=[{account_id, courses:[...]}] shape including the name-or-{name,course_id} union. However, rate, state_path, and media_checkpoint are entirely undocumented in both schema and description, leaving three of four parameters unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Run imported accounts sequentially with exact enrolled-course matching'), which pins down both the operation and the matching policy. The word 'sequentially' implicitly separates it from the parallel-batch siblings, but the sibling is never named, so differentiation requires inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides real routing guidance: 'If a review is needed use existing review tools, then resume_learning_batch' tells the agent to hand off mid-batch and re-enter via a named sibling. It does not say when to prefer this over start_parallel_learning_batches, so the choice between sequential and parallel is left unstated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_owned_exam_captureB

Monitor user-driven exam navigation in the current browser; memory-only metadata.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It usefully discloses that captured data is memory-only metadata and that navigation is user-driven in the current browser, but it omits lifecycle behavior, permissions, side effects, and what happens when the capture is started.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with the main verb and resource front-loaded. It is not bloated, though it is terse enough that the semicolon clause about memory-only metadata feels slightly under-explained.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a start-capture tool in a dense ecosystem of exam-related siblings, the description is too thin. Without annotations or an output schema, it should clarify the capture lifecycle and its relationship to stop_owned_exam_capture, owned_exam_capture_status, and read_owned_exam_observation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics to explain. Schema coverage is effectively complete by virtue of having no inputs, making the baseline score appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific verb and resource: monitor user-driven exam navigation in the current browser. It is clear what the tool does, but it does not differentiate itself from closely named siblings such as inspect_owned_exam_navigation, owned_exam_capture_status, or read_owned_exam_observation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives. It implies use during user-driven exam navigation in the current browser, but does not mention predecessor/successor tools like stop_owned_exam_capture or owned_exam_capture_status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_owned_exam_finishC

After full-preview audit, watch visible remaining time and submit once below threshold.

NameRequiredDescriptionDefault
authorizedYes
submit_nowNo
notify_emailNo
threshold_minutesNo

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses that the tool watches time and submits automatically below a threshold, but it does not say whether submission is irreversible, what permissions are required, or what happens with notification or authorization parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is short and has no filler, but it is cryptic and under-specified for a tool with four parameters and an exam-submission side effect. Conciseness is present, but structure and clarity are weak.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given four parameters, no annotations, no output schema, and a potentially destructive exam-submission action, the description is far too sparse. It omits authorization requirements, notification behavior, submit-now semantics, threshold defaults, and how this relates to finish-status and stop tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all four parameters. It adds only a loose notion of 'threshold' and 'submit,' leaving authorized, submit_now, notify_email, and threshold_minutes largely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description hints at watching remaining time and submitting below a threshold, but it never clearly states that this tool starts an owned-exam finishing workflow. It does not distinguish itself from nearby siblings such as owned_exam_finish_status or stop_owned_exam_finish.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a usage condition: 'After full-preview audit' and 'once below threshold.' That is enough to imply when the tool should be invoked, but there is no explicit comparison to alternatives or guidance on 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.

start_parallel_learning_batchesA

Start every supplied account concurrently, one browser process per account.

Accounts reference already-imported account_id plus courses:[exact names]. Reuse the parent account's existing browser if active; launch isolated MCP workers for the others. Credentials/config transfer only over stdio memory. Both headless and minimized modes work; no numeric concurrency/account cap.

NameRequiredDescriptionDefault
rateNo
accountsYes
state_dirNo
browser_modeNoheadless

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and discloses useful behavior: browser reuse for the parent account, isolated MCP workers for others, stdio-only credential transfer, both headless and minimized modes, and no numeric concurrency cap. It still omits important operational traits such as whether the call blocks until workers are ready and how failures are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, then follows with compact operational notes. Every sentence adds relevant information and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-account launch tool with no annotations, no output schema, and 4 parameters at 0% schema coverage, the description covers account structure and several runtime behaviors. It is still incomplete because it does not explain rate, state_dir, return/status behavior, or how the caller should proceed after starting parallel workers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning for the accounts parameter by requiring already-imported account_id plus exact course names, and it hints at valid browser_mode values, but it leaves rate and state_dir unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: start supplied accounts concurrently, one browser process per account. The purpose is clear, but it does not explicitly differentiate itself from siblings such as start_learning_batch, resume_learning_batch, or add_parallel_learning_accounts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you want every supplied account started concurrently, and explains that accounts must already be imported. However, it never explicitly states when to use this instead of start_learning_batch or add_parallel_learning_accounts, nor does it describe exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_course_browserA

Close the owned browser and stop Playwright (never touches host browsers).

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden; it does disclose the key side effect (Playwright process is stopped) and the safety boundary (host browsers untouched). It omits whether the call is idempotent when no browser is running, whether it errors or no-ops in that case, and whether in-flight work is discarded.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the action and the resource, with the disambiguating clause placed immediately after. Nothing is repeated and nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: no params, an output schema that covers return values, and no annotations needing reconciliation. The description covers scope and side effect adequately; only the not-running/idempotency edge case and its relationship to start_course_browser are left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter-related omission exists.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb pair and resource ('Close the owned browser and stop Playwright'), which is unambiguous about what the tool does. The parenthetical scopes it away from host browsers, but it never names the counterpart tool (start_course_browser) or any sibling it must not be confused with, so differentiation is implied rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Never touches host browsers' gives a when-not boundary, but there is no stated condition for when this should be called (after a course browser session, on cleanup, on failure), no prerequisite that a browser must first be started, and no alternatives named among the many stop_*/close_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_learning_batchA

Stop queue dispatch without closing the browser or interrupting pending submissions.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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 usefully discloses two behavioral traits – the browser stays open and pending submissions are allowed to finish – but says nothing about idempotency, whether new dispatches are blocked until resume, or what state the batch is left in.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, and the most important constraint ('without closing the browser') is placed immediately after the verb. It is on the terse side for a stop operation but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema and no parameters, the description is the only source of behavioral detail, and it omits the post-stop state and the recovery path (resume_learning_batch). Adequate to call safely, incomplete for understanding consequences.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to explain and the baseline of 4 applies. The description correctly avoids inventing parameter discussion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('stop') and resource ('queue dispatch'), and the qualifier 'without closing the browser' distinguishes it from the browser-teardown siblings like stop_course_browser. It never names a sibling directly, keeping it just below the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the name and the 'without ... interrupting pending submissions' hint, but there is no explicit statement of when to choose this over stop_course_browser, resume_learning_batch, or defer_current_learning_task. The agent must infer the boundary from sibling names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_owned_exam_captureD
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_owned_exam_finishD
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_chapter_quizB

Select reviewed options, submit ONCE, then read platform grading.

Write safety: exactly one submit click; failures before the click abort, failures after are reported as pending outcomes (never retried).

NameRequiredDescriptionDefault
plan_idYes
observation_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, and it delivers genuine behavioral value: exactly one submit click, abort on pre-click failure, and post-click failures surfaced as pending outcomes that are never retried. That is an explicit non-idempotency/retry contract an agent would otherwise have no way to know. It omits auth requirements and the fact that grading is read via a separate sibling tool rather than returned here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short paragraphs, front-loaded with the primary action and followed by the labeled 'Write safety:' contract. Nearly every clause earns its place; the only weak sentence is the leading 'Select reviewed options', which describes a preceding step rather than this tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists, so return values need not be explained, and the write-safety behavior is well covered. But for a non-idempotent mutation with two opaque identifiers, the description leaves the parameter provenance and the sibling boundary (submit vs submit_reviewed) unresolved, which is exactly what an agent needs before calling it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for plan_id and observation_id, and the description never mentions either parameter or what identifiers they expect (e.g., that plan_id comes from a validated review plan). 'Select reviewed options' gestures at the concept of a reviewed plan but does not explain the two identifiers or their origin, so the coverage gap is unmitigated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb+resource ('submit', quiz) is inferable, but the description opens with 'Select reviewed options, then read platform grading', which muddles what the tool itself does versus what adjacent steps do. Critically, a sibling named submit_reviewed_chapter_quiz exists and is never distinguished from this tool, so an agent cannot reliably choose between them from the text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Select reviewed options' implies reviewed options must pre-exist, which is a weak prerequisite signal, but there is no explicit when-to-use, when-not-to-use, or named alternative. With submit_reviewed_chapter_quiz, validate_reviewed_chapter_quiz, and release_course_quiz all in the sibling set, the absence of routing guidance is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_reviewed_chapter_quizB

Normalize reviewed fields, stage, wait, reobserve and submit ONCE; never guesses answers.

Caller must first observe the complete quiz and supply current-model-reviewed answers/evidence. An unknown result is never replayed by this convenience tool.

NameRequiredDescriptionDefault
answersYes
reviewsYes
observation_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose meaningful traits: exactly one submission, no answer guessing, and no replay of an unknown result after the wait-and-reobserve cycle. It omits the more consequential behaviors an agent needs before firing a graded submission — irreversibility, what happens on validation failure, and whether a partial submit can occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short lines with no filler, and the single-submission constraint is front-loaded in the first clause. The tradeoff is compression into jargon ('normalize reviewed fields, stage, wait, reobserve') that costs clarity rather than saving words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, but for a write/submit tool with zero annotations and three fully undescribed required parameters, the description should specify the shape of answers/reviews and the failure/irreversibility semantics. Those gaps leave an agent unable to call it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description only gestures at the parameters ('reviewed fields', 'answers/evidence', 'observe the complete quiz') without explaining the answers array format, what a review object must contain, or where observation_id comes from. The three required parameters remain effectively undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource (submit a reviewed chapter quiz) plus an internal workflow summary (normalize, stage, wait, reobserve, submit once). It is distinguishable from observe_chapter_quiz and submit_chapter_quiz by the 'reviewed' qualifier, though the sibling it supersedes is never named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states one firm precondition: the caller must first observe the complete quiz and supply current-model-reviewed answers/evidence. However, it never says whether validate_reviewed_chapter_quiz should be run first or when to choose submit_chapter_quiz instead, so routing among the several sibling submission tools is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

switch_owned_video_lineC

Choose one observed public video line through normal visible UI, once per line/page.

NameRequiredDescriptionDefault
lineYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It does disclose that selection happens "through normal visible UI" and is limited to "once per line/page," but says nothing about what changes, whether the action is reversible, what permissions or state are required, or how failures behave.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with no obvious padding, so it is not verbose. However, the brevity comes at the cost of clarity, and several terms are left unexplained rather than front-loaded with useful detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists, so return values need not be explained. But with one required ambiguous parameter, no annotations, and many closely related sibling tools, the description is not complete enough to let an agent invoke this confidently or understand its operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single required "line" parameter. The description repeats the concept but gives no format, allowed values, examples, or explanation of what identifies a line, so it does not compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description has a verb ("Choose") and a resource ("observed public video line"), but the resource concept is opaque and the description does not distinguish this tool from siblings such as control_owned_video or observe_video_question. An agent can infer it switches a video line but not precisely what that means in this domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Once per line/page" hints at a usage constraint, but there is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives. The agent is left to infer how this relates to the many adjacent owned-video and course tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_account_credentialsB

Correct an inactive account's credentials without replacing other accounts or mail mapping.

NameRequiredDescriptionDefault
passwordYes
usernameNo
account_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It does disclose useful blast-radius information — other accounts and mail mapping are left intact — which is real value beyond structured data. However, it says nothing about required permissions, whether the password is validated before writing, reversibility, or what happens to the account's existing username when the optional parameter is omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the non-destructive scope constraint is stated up front. It is efficient rather than padded, though it is arguably too sparse for a write operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with zero annotation coverage, three undocumented parameters, and only one short sentence, key information is missing: which fields are actually changed, how the optional username behaves, and whether identity verification is required. An output schema exists, so return values need not be described, but the input-side and safety picture is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, so the description must compensate and it largely does not. "Credentials" gestures vaguely at password/username, but account_id is never mentioned and the critical behavior of the optional username (default "") — whether an empty value wipes the existing username — is left completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("Correct ... credentials") and scopes it to a single inactive account, which distinguishes it from broad siblings like import_accounts, login_accounts, or add_parallel_learning_accounts. It does not name an alternative explicitly, but the operation and its blast radius are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Inactive account's credentials" implies the situation (a broken/inactive login that needs fixing rather than creating or activating an account), but there is no explicit statement of when to use this versus activate_learning_account, login_accounts, or import_accounts. The "without replacing other accounts" clause hints at alternatives without naming them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

use_window_viewportB

Remove fixed metrics on the current owned page without replacing its session.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It does disclose one important trait: the session is not replaced. But it does not say whether the removal is reversible, what happens to existing layout state, whether permissions or page ownership are required, or how the operation affects the browser viewport. That is a meaningful but incomplete disclosure for a mutation-like action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is concise, though the term "fixed metrics" is underspecified rather than merely brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter action tool with an output schema, the description covers the core effect and one behavioral constraint (session preservation). Still, it lacks usage context and a clear definition of "fixed metrics," which an agent needs in order to know when this tool is appropriate versus its many window and browser siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. There are no parameter semantics to document, and the schema coverage is complete by definition. The description does not need to add parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names an action ("Remove fixed metrics") and a target ("the current owned page"), so the general effect is inferable. However, "fixed metrics" is unexplained jargon and the tool name suggests viewport configuration rather than metric removal, leaving ambiguity about what is actually changed. It also does not differentiate itself from window-oriented siblings such as minimize_owned_window or restore_owned_window.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to call this tool, what problem it solves, or which sibling to use instead. The phrase "current owned page" implies a context but does not state prerequisites or exclusions. An agent would have to guess based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_reviewed_chapter_quizC

Validate review format/evidence without staging, selecting or submitting.

NameRequiredDescriptionDefault
answersYes
reviewsYes
observation_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that the tool does not stage, select, or submit, which suggests limited state change, but it does not state whether validation is read-only, what permissions are required, or how failures are reported.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single front-loaded sentence with no filler. It is concise and readable, though its terseness leaves important semantic gaps that are penalized elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. But for a tool with three required, completely undocumented parameters and no annotations, the description should define the review/evidence format and validation criteria; it does not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention any of the three required parameters: observation_id, answers, or reviews. It adds no meaning beyond the bare property names in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: validate review format/evidence. It also distinguishes the operation from staging, selecting, and submitting, which separates it from the submit_reviewed_chapter_quiz sibling. The main limitation is that 'review format/evidence' is somewhat abstract without saying 'chapter quiz' explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without staging, selecting or submitting' implies this is a pre-submission validation step and not a submission action. However, it does not explicitly say when to call this instead of submit_reviewed_chapter_quiz or other quiz tools, nor does it describe prerequisites or expected workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_owned_exam_saved_answerD
NameRequiredDescriptionDefault
answerYes
reviewYes
exam_urlYes
fingerprintYes
question_idYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_runtime_resilienceC

Exercise installed recovery decisions using isolated state, never the active page.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that the tool uses isolated state and never the active page, but says nothing about what the tool mutates, what side effects occur, or what operational requirements exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. It is efficient, though the dense jargon 'installed recovery decisions' reduces immediate comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values do not need explanation. However, for a zero-parameter operational tool with no annotations and many overlapping recovery-related siblings, the description is too sparse to explain when to run it, what behavior is verified, or how it relates to nearby tools such as runtime_health and recover_current_task.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics to document. The schema is empty and self-contained, making the baseline score of 4 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a vague action and scope: exercising installed recovery decisions in isolated state rather than the active page. It does not clearly define what 'installed recovery decisions' means or how this differs from siblings like runtime_health or recover_current_task, leaving the purpose only partially clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The phrase 'never the active page' is a safety constraint, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_exam_browser_saveB

Wait random 2-5 seconds after visible selection, then authorize draft save.

Does not click or submit. The controller must recheck the same question and selection before clicking the plan's Next/Preview control. No final submission.

NameRequiredDescriptionDefault
run_idYes
plan_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full load and does well: it discloses randomized 2-5 second timing, states the tool is non-mutating (no click, no submit), and imposes an ordering constraint (recheck before proceeding). It omits any statement about permissions, failure modes, or what the tool itself returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the action and followed by the key negative constraints. Some fragmentary phrasing ("No final submission.") duplicates the earlier no-submit statement, costing a little tightness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the behavioral side is well covered for a wait/authorize step. The gap is the two opaque required IDs and the undefined concept of "authorizing" a draft save, which an agent needs in order to call this correctly in sequence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain `run_id` and `plan_id` and does not — neither identifier is mentioned. Only an oblique reference to "the plan's Next/Preview control" hints at what plan_id denotes, leaving an agent to guess how these IDs relate to the exam session.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete action: pause 2-5 seconds after a visible selection and authorize a draft save. However, "authorize draft save" is internal jargon whose effect is not explained, and the description never distinguishes this step from nearby siblings such as `confirm_exam_browser_draft` or `save_owned_exam_answer`, which an agent could easily confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear preconditions (after visible selection) and explicit boundaries (does not click or submit; no final submission), plus the required follow-up: the controller must recheck the same question and selection before clicking Next/Preview. It stops short of naming which sibling tool performs that click, so it is a strong 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 134 tool updatesv1.9.4
    • First observedactivate_learning_account
    • First observedadd_parallel_learning_accounts
    • First observedanalyze_exam_html
    • First observedanswer_video_question
    • First observedattach_course_browser
    • First observedattach_exam_browser
    • First observedattach_exam_session
    • First observedaudit_exam_browser_preview
    • First observedaudit_exam_preview
    • First observedbind_account_notification_email
    • First observedbrowser_run_log
    • First observedbrowser_status
    • First observedcapabilities
    • First observedclaim_current_account
    • First observedclassify_learning_portal
    • First observedclose_account_workspace
    • First observedconfigure_course_browser
    • First observedconfigure_desktop_preferences
    • First observedconfigure_notification_interval
    • First observedconfigure_smtp_notifications
    • First observedconfigure_smtp_sender
    • First observedconfirm_exam_browser_draft
    • First observedcontinue_rejected_video_question
    • First observedcontrol_owned_video
    • First observeddefer_current_learning_task
    • First observeddesktop_account_tool
    • First observeddesktop_accounts
    • First observeddesktop_console_status
    • First observeddesktop_report_state
    • First observedenter_selected_exam
    • First observedevaluate_homework_deadlines
    • First observedexam_browser_progress
    • First observedexam_loop_progress
    • First observedexport_deadlines_ics
    • First observedfind_chapter_links
    • First observedget_exam_progress
    • First observedget_wrong_questions
    • First observedgoto_course_page
    • First observedimplementation_status
    • First observedimport_accounts
    • First observedinspect_course
    • First observedinspect_course_score_page
    • First observedinspect_current_task
    • First observedinspect_exam_grading_html
    • First observedinspect_exam_page
    • First observedinspect_homework_browser
    • First observedinspect_owned_exam_navigation
    • First observedinspect_owned_page
    • First observedinspect_owned_video_delivery
    • First observedlearning_batch_status
    • First observedlist_accounts
    • First observedlist_courses
    • First observedload_batch_implementation
    • First observedlogin_accounts
    • First observedminimize_owned_window
    • First observedmonitor_owned_video
    • First observedobserve_chapter_quiz
    • First observedobserve_course_browser
    • First observedobserve_video_question
    • First observedopen_account_browser
    • First observedopen_chapter_quiz
    • First observedopen_course_chapter
    • First observedopen_course_exam
    • First observedowned_exam_capture_status
    • First observedowned_exam_finish_status
    • First observedowned_exam_review_inventory
    • First observedowned_window_status
    • First observedparallel_account_tool
    • First observedparallel_learning_status
    • First observedprepare_course_quiz
    • First observedprepare_exam_answer_plan
    • First observedprepare_exam_browser_step
    • First observedprepare_user_navigation
    • First observedpreview_owned_exam_questions
    • First observedread_chapter_quiz_grading
    • First observedread_current_exam_question
    • First observedread_owned_browser_view
    • First observedread_owned_exam_grading
    • First observedread_owned_exam_observation
    • First observedread_owned_exam_question
    • First observedread_owned_video_captions
    • First observedrecover_current_task
    • First observedrecover_graded_parallel_account
    • First observedrecover_owned_exam_worker
    • First observedrecover_terminal_media_account
    • First observedrefresh_desktop_implementation
    • First observedrefresh_direct_implementation
    • First observedrefresh_exam_browser
    • First observedrefresh_inventory_implementation
    • First observedrefresh_notification_implementation
    • First observedrefresh_owned_exam_adapter
    • First observedrelease_course_quiz
    • First observedrestore_owned_window
    • First observedresume_learning_batch
    • First observedretry_parallel_account
    • First observedreturn_account_to_background
    • First observedreturn_owned_exam_question
    • First observedreview_current_exam_answer
    • First observedroute_learning_task
    • First observedrun_exam_question_loop
    • First observedrun_owned_exam_queue
    • First observedruntime_health
    • First observedsave_owned_exam_answer
    • First observedselect_course_card
    • First observedsend_hourly_report_test
    • First observedsend_learning_stage_notice
    • First observedsend_notification_test
    • First observedsend_owned_exam_result_notice
    • First observedset_learning_batch_rate
    • First observedset_owned_video_rate
    • First observedset_parallel_playback_rate
    • First observedsetup_learning_accounts
    • First observedsmtp_notification_status
    • First observedstage_owned_exam_reviews
    • First observedstart_account_workspace
    • First observedstart_course_browser
    • First observedstart_desktop_console
    • First observedstart_learning_batch
    • First observedstart_owned_exam_capture
    • First observedstart_owned_exam_finish
    • First observedstart_parallel_learning_batches
    • First observedstop_course_browser
    • First observedstop_learning_batch
    • First observedstop_owned_exam_capture
    • First observedstop_owned_exam_finish
    • First observedsubmit_chapter_quiz
    • First observedsubmit_reviewed_chapter_quiz
    • First observedswitch_owned_video_line
    • First observedupdate_account_credentials
    • First observeduse_window_viewport
    • First observedvalidate_reviewed_chapter_quiz
    • First observedverify_owned_exam_saved_answer
    • First observedverify_runtime_resilience
    • First observedwait_exam_browser_save

TDQS

C2.3/5.0

Scored across 134 tools

Disambiguation2/5

The set contains many overlapping tool families for the same actions: browser attach/start (attach_course_browser, attach_exam_browser, attach_exam_session, start_course_browser, start_account_workspace), exam reading (read_current_exam_question, read_owned_exam_question, inspect_exam_page, inspect_owned_page), and submission (submit_chapter_quiz, submit_reviewed_chapter_quiz, save_owned_exam_answer, run_exam_question_loop, run_owned_exam_queue). Detailed descriptions attempt to distinguish transport/mode (CDP vs bound tab vs owned browser vs parallel worker), but the boundaries remain unclear for an agent choosing a tool.

Naming Consistency4/5

Nearly all names are snake_case and most follow verb_noun patterns (inspect_exam_page, save_owned_exam_answer, configure_smtp_sender, start_parallel_learning_batches). There are some noun-only status/health names (capabilities, runtime_health, browser_status, desktop_accounts, exam_loop_progress), but they are readable and still consistent in casing.

Tool Count1/5

134 tools is extreme for a study-automation server and strongly suggests fragmentation into many narrow, mode-specific operations. The surface is far beyond what an agent can reasonably discover or select among, with multiple near-duplicate pathways.

Completeness4/5

The surface is vast and covers account lifecycle, course browsing, exam capture/review/save/submit, video control, parallel workers, notifications, deadlines, grading, and implementation refresh. Minor gaps exist (e.g., no account deletion, homework support is only for an empty-list observation, and several tools have empty descriptions), but the core domain is extensively covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables users to patrol QingSoft U+ courses, track homework and experiments, read objective questions into structured briefs for a connected MCP client model to answer, fill and verify selections, and optionally submit, while handing subjective, programming, report and file work back to the human.
    9
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to browse courses, read course materials and files, check assignments and grades, and—with user confirmation—post to forums, submit assignments, answer choices, send messages, and add calendar reminders in the virtual campus.
    11
    321 npm
    1
    ISC
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables agents to scan course structures, play videos at real 1x speed, track document task completion, capture quiz screenshots for vision-model reading, select and submit answers, and verify scores through MCP tools.
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables agents to query course information, announcements, assignments, and deadlines, and to download attachments, syllabus PDFs, and lecture videos through a local browser connection. It can also prepare assignment submissions for review without uploading by default.
    -