chatgpt-web-mcp
Provides tools to interact with the ChatGPT web interface, allowing AI agents to send prompts, upload files, read responses, manage conversations, and configure model settings through a persistent browser session.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@chatgpt-web-mcpAsk ChatGPT to explain quantum computing in simple terms"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ChatGPT Web MCP
一个本地、非官方的 MCP Server,让 Codex 等 MCP 客户端通过独立的持久浏览器配置操作 chatgpt.com。它不调用 ChatGPT API,不读取用户日常浏览器配置,也不会把登录信息写进 MCP 配置。
本项目与 OpenAI 无隶属或背书关系。它依赖 ChatGPT 网页界面,页面改版、账号权限、地区或工作区策略都可能影响可用性。请遵守适用于你账号的条款,不要用它绕过访问控制、用量限制或安全机制。
主要能力
写入提示词、上传文件、发送消息并读取完整回答
新建普通或临时对话,选择历史对话
动态读取和选择页面实际显示的模型、思考强度与能力档位
使用可配置的临时身份探针决定是否在正常对话继续使用 Pro,并在同一页面会话内持续复用可靠结果
浏览器和 ChatGPT 页面默认常驻,工具结束后只断开本地控制连接
跨进程串行操作、低频节流、回答完成后的切换静默期
遇到页面限流文字或 HTTP 429 时立即熔断,不自动关闭提示或重试
只记录脱敏后的异常请求方法、路径、状态码和资源类型
Related MCP server: ChatGPT Local Terminal Plugin
运行要求
Node.js 20 或更高版本
Google Chrome、Chromium 或 Microsoft Edge
支持本地 stdio MCP 的客户端,例如 Codex
可正常访问并手动登录的 ChatGPT 账号
项目会在 macOS、Windows 和 Linux 的常见位置查找浏览器。找不到时可通过 CHATGPT_WEB_CHROME 指定可执行文件。
安装
git clone https://github.com/Goudu666/chatgpt-web-mcp.git
cd chatgpt-web-mcp
npm ci
npm run doctor为了在任意目录使用统一命令,可以建立本地全局链接:
npm link
chatgpt-web-mcp doctor首次登录
chatgpt-web-mcp login未执行 npm link 时也可以使用:
npm run login在打开的专用浏览器窗口中手动登录。登录资料默认保存在 ~/.chatgpt-web-mcp/chrome-profile,与日常浏览器配置分离。不要复制、提交或分享这个目录,也不要把密码、Cookie、令牌或验证码写进环境变量。
添加到 Codex
使用统一命令:
codex mcp add chatgpt-web -- chatgpt-web-mcp serve
codex mcp get chatgpt-web如果 Codex 找不到全局命令,可以直接使用 Node.js 和项目的绝对路径:
codex mcp add chatgpt-web -- node /absolute/path/to/chatgpt-web-mcp/src/index.jsCodex 的 MCP 配置方式可参考 OpenAI Docs。
CLI
chatgpt-web-mcp serve 启动 stdio MCP Server(默认命令)
chatgpt-web-mcp login 打开专用浏览器并等待手动登录
chatgpt-web-mcp status 读取当前本地状态
chatgpt-web-mcp doctor 检查 Node.js、浏览器和本地数据路径
chatgpt-web-mcp help 显示帮助MCP 工具
工具按用途分为以下几组:
状态:
chatgpt_status、chatgpt_capabilities、chatgpt_browser_lifecycle对话:
chatgpt_new_chat、chatgpt_set_temporary、chatgpt_list_history、chatgpt_search_history、chatgpt_select_history设置:
chatgpt_list_modes、chatgpt_select_mode、chatgpt_list_models、chatgpt_select_model、chatgpt_list_thinking_levels、chatgpt_select_thinking_level、chatgpt_answer_tier_status、chatgpt_select_answer_tier输入与输出:
chatgpt_write_prompt、chatgpt_upload_files、chatgpt_submit_prompt、chatgpt_send_message、chatgpt_get_latest_response安全:
chatgpt_circuit_breaker_status、chatgpt_clear_circuit_breaker、chatgpt_network_diagnostics策略路由:
chatgpt_probe_pro_identity、chatgpt_route_new_chat
只有用户明确要求关闭专用浏览器时,才应调用 chatgpt_close_browser。
默认路由策略
普通请求默认新建非临时对话并选择“极高”。明确请求 Pro 时:
优先复用同模式下仍有效的身份探针缓存;只要专用浏览器和原 ChatGPT 页面没有关闭,就不按时间重复探针。
没有缓存时,新建临时对话并选择 Pro。
发送“你是什么模型?”,无限等待回答完成。
回答匹配 GPT-5.6 Pro 时,新建正常 Pro 对话。
回答匹配 GPT-5.5 mini 时,新建正常“极高”对话。
其他回答停止,不创建正常对话。
如果专用浏览器或原 ChatGPT 页面中途关闭,已有可靠结果会先继续复用 3 小时;3 小时后发起下一次 Pro 请求时才重新验证。普通 MCP 调用结束只断开本地控制连接,不关闭页面,因此不会触发重新验证计时。无法确定手动关闭的准确时刻时,从首次检测到会话中断开始计算,以减少额外请求。
以上是默认值,不是写死的账号假设。可通过环境变量替换:
环境变量 | 默认值 | 用途 |
|
| 普通请求和回退使用的倒数第二档名称 |
|
| 滑杆最高档名称 |
|
| 临时身份探针提示词 |
|
| 接受分类标识 |
|
| 回退分类标识 |
| GPT-5.6 Pro 正则 | 接受回答的匹配表达式 |
| GPT-5.5 mini 正则 | 回退回答的匹配表达式 |
|
| 页面或浏览器关闭后,重新验证前继续复用可靠结果的时间 |
参考配置见 .env.example。项目不会自动读取 .env;请通过 MCP 客户端、Shell 或系统环境注入变量。
安全节流
环境变量 | 默认值 |
| 1000 ms |
| 5000 ms |
| 30000 ms |
| 30000 ms |
| 30000 ms |
| 300000 ms |
| 300000 ms |
新建、临时切换和历史选择受独立的对话变更间隔约束。回答完成后至少静默 30 秒才允许切换;人工清除熔断后,首次站点操作默认再等待 5 分钟。历史记录限流还有独立的静默截止时间,清除熔断不会绕过它。
不要为了“更快”而在公开分支中降低这些默认值。
其他环境变量
CHATGPT_WEB_CHROME:浏览器可执行文件绝对路径CHATGPT_WEB_PROFILE:专用浏览器配置目录CHATGPT_WEB_HEADLESS:是否无界面运行,默认falseCHATGPT_WEB_ACTION_TIMEOUT_MS:单次页面操作超时CHATGPT_WEB_RESPONSE_TIMEOUT_MS:普通档位回答超时CHATGPT_WEB_RECONNECT_DELAY_MS:浏览器异常重连间隔CHATGPT_WEB_AUTH_CACHE_MS:登录状态本地缓存时间CHATGPT_WEB_PRO_RECHECK_AFTER_CLOSE_MS:页面或浏览器关闭后的探针重验间隔,默认 3 小时CHATGPT_WEB_BROWSER_STATE、CHATGPT_WEB_RUNTIME_STATE:本地状态文件CHATGPT_WEB_OPERATION_LOCK:跨进程浏览器独占锁CHATGPT_WEB_NETWORK_LOG:脱敏网络异常日志
隐私与局限
登录资料、运行状态和诊断日志默认位于
~/.chatgpt-web-mcp,不在仓库中。文件上传只接受调用者明确提供的绝对路径。
网络诊断不保存查询参数、Cookie、请求体、响应体或对话 ID。
等待回答使用页面内的变更事件,不持续轮询页面。
页面操作失败时会停止,不通过整页重载反复尝试。
ChatGPT 网页不是稳定 API;选择器可能随页面更新而需要维护。
模型的自我说明只能作为路由信号,不等同于服务端可验证的模型证明。
开发
npm ci
npm test
npm run smoke
npm pack --dry-runCI 只运行离线测试和打包检查,不登录 ChatGPT,也不执行真实网页请求。贡献前请阅读 CONTRIBUTING.md;安全问题请阅读 SECURITY.md。
许可证
Available Tools
27 toolschatgpt_answer_tier_statusA
读取输入框右侧能力滑杆的当前档位和可访问值域,例如“极高,第 4 项,共 5 项”。不会发送提示词。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses that the operation is a read (读取), provides an example of the returned status string, and explicitly guarantees it will not send prompts. It does not mention potential preconditions or failure modes, but for a simple UI status read this is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the action and resource, include a concrete example, and add a non-goal statement. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only status tool, the description is complete: it names the resource, gives an example output, and clarifies the non-sending behavior. The absence of an output schema is compensated by the example, and an agent can invoke it without further information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description reinforces that the tool takes no input and simply reports the current slider state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the current position and accessible range of the answer-tier slider, with a concrete output example ('极高,第 4 项,共 5 项'). The explicit note that it does not send prompts distinguishes it from sibling tools like chatgpt_select_answer_tier and chatgpt_send_message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a read-only inspection use case but does not explicitly state when to prefer it over alternatives such as chatgpt_select_answer_tier. It provides no explicit when/when-not guidance or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_browser_lifecycleA
读取专用 ChatGPT 浏览器的常驻状态。MCP 调用结束后浏览器会继续保持打开,后续调用直接接管,不重复进站。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral transparency burden. It discloses a key behavioral trait: the browser remains open after the MCP call ends and is reused by later calls without re-entering the site. This goes beyond what the tool name alone reveals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core purpose and followed by the most important behavioral detail. Every clause earns its place; there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter status-read tool, the description covers the essential context: what state is read and how subsequent calls interact with the browser. It does not enumerate possible return values, but the simplicity of the tool makes that a minor gap rather than a serious omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is effectively 100% and there is no parameter burden on the description. The baseline of 4 applies because the description is not required to explain parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('读取') and resource ('专用 ChatGPT 浏览器的常驻状态'), making the tool's purpose understandable. It does not explicitly differentiate from similar sibling tools like chatgpt_status or chatgpt_close_browser, but the lifecycle-specific scope is clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful context about browser persistence and reuse by subsequent calls, which implies when lifecycle state matters. However, it does not explicitly state when to prefer this tool over alternatives, nor does it give any 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_capabilitiesA
一次读取当前模式、模型、思考强度、临时状态和少量可见历史摘要;用于确需综合预检时,避免连续调用多个状态工具。不会展开模型或思考强度子菜单。
| Name | Required | Description | Default |
|---|---|---|---|
| historyLimit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the burden of safety disclosure. '读取' clearly signals a read-only operation, and the explicit statement that it will not expand submenus preempts a common side-effect concern. It does not describe output shape or other side effects, but for a read-only composite this is strong disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler: the first lists what the tool reads, the second gives usage and a key limitation. Information is front-loaded and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations, no output schema, and only a minimally documented parameter, so the description must be self-sufficient. It covers the returned fields, when to use, and a limitation, but it leaves historyLimit unexplained and does not describe how the composite result is structured. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and the tool description never mentions historyLimit. '少量可见历史摘要' hints at a limited history summary but does not explain that the parameter controls the number of history items or how the default/min/max apply. The parameter name and constraints are self-evident, but the description does not add the needed meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('读取' / read) and enumerates the exact resources returned: current mode, model, thinking strength, temporary state, and a small visible history summary. It also distinguishes itself from sibling status/selection tools by noting it aggregates multiple state reads and does not expand submenus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use the tool 'when a comprehensive pre-check is really needed' and to avoid calling multiple status tools in sequence, which names the main alternative. It notes the tool does not expand model/thinking-strength submenus, but it does not name a specific sibling tool or explicitly state 'do not use when only one status is needed.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_circuit_breaker_statusA
只读取本地安全熔断和未确认生成任务状态,不访问 ChatGPT 网页。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly discloses read-only behavior, local scope, and that it does not access the ChatGPT webpage. It could add detail about return values or error behavior, but the core safety-relevant behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence states the action, scope, and an important exclusion. Every phrase adds value, and the most important 'read-only local' information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only status tool with no output schema, the description adequately identifies what is read and what is deliberately avoided. It does not specify the exact return shape, but the simplicity of the tool makes this a minor gap rather than a critical omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is fully covered by its empty properties definition. The description appropriately adds no parameter detail because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb '读取' (read) and names the concrete resources: local safety circuit breaker and unconfirmed generation task status. It also explicitly states it does not access the ChatGPT webpage, which helps distinguish it from web-facing siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys when the tool is relevant: when you need local breaker/task status without touching the web. However, it does not explicitly name alternatives or list conditions for choosing this tool over siblings like chatgpt_status or chatgpt_network_diagnostics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_clear_circuit_breakerA
仅在用户已经人工确认 ChatGPT 限流提示消失后,清除本地安全熔断。不会访问网页。
| Name | Required | Description | Default |
|---|---|---|---|
| confirmed | Yes | 必须由用户人工确认限流提示已经消失。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the burden of behavioral disclosure. It clearly states that the tool only clears local state and does not access the web, which is valuable behavioral context. It also emphasizes the safety precondition of user confirmation. It does not detail side effects or response behavior, but for this simple local utility the key traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly scoped sentence that front-loads the essential condition and clearly states the action. Every word earns its place; there is no redundant or vague filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, low-complexity tool, the description provides enough context: what it does, when it should be used, and a key behavioral guarantee. The only minor gap is lack of detail about the operation's result or side effects, but that is not critical for this local clearing action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the parameter adequately. The description reinforces that 'confirmed' must represent user confirmation, but it does not add significant meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('清除'/clear) and a specific resource ('本地安全熔断'/local safety circuit breaker), making the tool's purpose unambiguous. It also adds the key condition that this happens only after user confirmation. This clearly distinguishes it from siblings like chatgpt_circuit_breaker_status, which reports status rather than clearing it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: only after the user has manually confirmed the ChatGPT rate-limit prompt has disappeared. It also clarifies that it does not access the web, which implies it is not a network-testing tool. However, it does not name specific alternatives or provide explicit 'when not to use' guidance beyond the confirmation condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_close_browserA
明确关闭 ChatGPT MCP 的专用常驻浏览器。仅在用户明确要求关闭时调用。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of explaining behavior. It clearly states the core effect—closing the dedicated resident browser—and limits usage to explicit requests. However, it does not disclose potential side effects such as session loss, whether the browser will restart automatically, or impact on ongoing operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It communicates the action and the usage condition in two short clauses, earning every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity tool with no parameters and no output schema. The description gives enough context for an agent to decide when to call it. It could mention post-conditions or return behavior, but for a simple close action, the current description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, which warrants the baseline 4. There are no parameter semantics to clarify, and the schema already fully documents the empty parameter set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('明确关闭') on a specific resource ('ChatGPT MCP 的专用常驻浏览器'), making the tool's purpose clear. It does not explicitly compare itself with the sibling chatgpt_browser_lifecycle, so it loses the top score for sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit invocation condition: only call when the user explicitly requests closing the browser ('仅在用户明确要求关闭时调用'). This is good when-to-use guidance, but it does not mention alternatives or explicitly state what not to use it for, so it falls slightly short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_get_latest_responseB
读取当前 ChatGPT 对话最近一条完整回复和对话状态。默认不为状态展示额外展开高级菜单。
| Name | Required | Description | Default |
|---|---|---|---|
| includeSettings | No | 是否额外读取模型和思考强度;默认 false。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
未提供任何注解,描述承担全部行为披露责任。第二句披露了一个有用的行为特征(默认不为状态展示额外展开高级菜单),表明该工具避免触发多余 UI 操作。但未说明无会话时的失败行为、是否绝对只读、是否会等待新回复等情况。有披露但覆盖不完整。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
两句简短描述,核心目的前置在第一句,第二句补充关键默认行为,无冗余内容。结构紧凑且信息密度合理。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
工具本身简单(1 个可选参数,无输出 schema),描述覆盖了主要功能和一项默认行为。但由于没有输出 schema,描述未说明返回值的具体形态;也未提及前置条件(需要存在活动会话)以及与发送类工具的时序关系。对简单只读工具而言基本够用,但仍有明显信息缺口。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema 描述覆盖率为 100%,includeSettings 参数已有清晰说明,基线为 3。描述第二句补充了默认行为与参数的关系(includeSettings=false 时不展开高级菜单),与 schema 描述形成互补,但没有超出 schema 的新语义。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
描述使用了明确的动词(读取)和资源(当前对话最近一条完整回复和对话状态),能清楚区别于 send/submit/write 类工具如 chatgpt_send_message 和 chatgpt_submit_prompt。不过'对话状态'这一部分与同级工具 chatgpt_status 存在潜在重叠,描述未做区分,因此扣一分。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
描述完全没有提供何时使用本工具以及何时改用其他工具的指引。没有提到应在 chatgpt_send_message 之后调用,也没有说明与 chatgpt_status 或 chatgpt_search_history 的取舍条件。第二句只是在描述默认行为,不构成使用场景说明。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_list_historyA
列出 ChatGPT 侧栏当前加载的历史对话,可按标题筛选。返回 title、conversationId 和 URL。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly indicates a non-mutating list operation and discloses the return format, but it does not describe any edge cases, pagination behavior, or the effect of the limit parameter. This is adequate for a simple read-only list operation but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core action ('列出...历史对话'), states the filtering option, and lists the return fields. Every word earns its place, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with two optional parameters and no output schema, the description adequately covers the scope, filtering behavior, and return fields. It could explain how limit applies or what happens when no conversations are loaded, but those are minor gaps. The description is reasonably complete for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must illuminate the parameters. The phrase '可按标题筛选' directly clarifies that the query parameter filters by title, which is useful. However, the limit parameter is not mentioned at all, and the query parameter is not explicitly named. The schema already provides limit's default/range, so this is partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: listing ChatGPT side-bar history conversations that are currently loaded, with optional filtering by title. It also names the return fields (title, conversationId, URL), making the tool's function completely unambiguous. While it doesn't explicitly mention sibling tools, the 'currently loaded in sidebar' scope differentiates it from search_history or select_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (retrieve currently loaded conversations) but provides no explicit guidance on when to choose this tool over alternatives like chatgpt_search_history or chatgpt_select_history. There are no exclusion criteria or references to sibling tools, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_list_modelsA
按“当前档位→高级→模型”的页面层级,动态列出当前 ChatGPT 账号实际可用的模型。不要猜测模型名称。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It explains that the list is dynamic and reflects actual availability, and it explicitly prohibits guessing model names — a meaningful behavioral guardrail. It does not mention read-only status or failure behavior, but for a listing tool the key behavior is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it names the purpose, scope, navigation path, and the critical 'do not guess' rule in two short sentences. Every clause adds decision-relevant information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description adequately covers data source, scope, and a key constraint. It does not describe the return shape or failure scenarios, but these are largely inferable from the tool name and listing purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema description coverage is 100%, so there are no parameter semantics for the description to add. Per the 0-parameter baseline, a score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('列出' / list), the resource (models actually available for the current ChatGPT account), and the navigation source ('当前档位→高级→模型'). It also distinguishes itself from siblings like list_modes and select_model by focusing on model availability rather than modes or selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when the agent needs to discover which models are actually available for the current account, but it does not explicitly state when to prefer this over chatgpt_list_modes, chatgpt_capabilities, or chatgpt_select_model. There is no 'use when' / 'use instead' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_list_modesA
列出 ChatGPT 新版页面顶部当前可用的模式,例如“聊天”和“工作”。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It indicates the result is dynamic ('当前可用') and implies a read-only listing operation, but it does not explicitly state that it has no side effects or describe the return format. For a simple list tool the risk is low, but some behavioral detail is still missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence that front-loads the operation and resource, with two clarifying examples. No filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema listing tool, the description covers the essential information: what is listed, where, and with examples. It could mention what the returned values look like or whether it reflects live page state, but it already says '当前可用,' making it reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so per the rubric the baseline is 4. There are no parameter details to clarify, and the description does not need to compensate for an input schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('列出'), a precise resource ('ChatGPT 新版页面顶部当前可用的模式'), and gives concrete examples ('聊天' and '工作'). This clearly distinguishes listing modes from listing models or selecting a mode among the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: this tool enumerates currently available modes, implying it should be used before selecting a mode. It does not explicitly name alternatives like chatgpt_select_mode, but the usage context is strong enough for an agent to infer when to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_list_thinking_levelsA
按“当前档位→高级→思考强度”的页面层级,列出账号实际可用的思考强度。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds meaningful behavioral context by revealing the UI navigation path ('当前档位→高级→思考强度') and noting that only actually available levels are listed, implying account-based filtering. Although it doesn't explicitly declare read-only or state side effects, the verb 'list' strongly implies a safe, non-mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the action '列出' and immediately specifies the resource and scope. It includes the helpful page hierarchy without any fluff or repetition, every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, no-output-schema list tool, this description is complete. It clearly states what is returned (account-available thinking intensity levels) and provides the UI context. An agent has enough information to invoke the tool and understand the result, even without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is an empty object (100% coverage), so the baseline is 4. The description correctly avoids inventing parameter details and instead focuses on the output behavior, which is appropriate for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the exact verb '列出' (list) and the resource '思考强度' (thinking intensity), along with the scope '账号实际可用' (actually available for the account). It also clearly distinguishes itself from sibling tools like chatgpt_select_thinking_level by using 'list' rather than 'select', making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that the tool is meant to view available thinking intensity levels before selection, but it does not explicitly state when to use it or mention alternatives. The sibling chatgpt_select_thinking_level is an obvious counterpart, but the usage context is only inferred, not directly expressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_network_diagnosticsA
读取本地脱敏网络异常记录。只包含时间、方法、脱敏路径、状态码和资源类型;不含查询参数、Cookie、请求体或响应体。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool is read-only ('读取'), that data is local and desensitized, and explicitly lists what is excluded (query parameters, cookies, request/response bodies). This is meaningful behavioral context beyond what the schema reveals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence, front-loaded with the core action and resource, followed by precise inclusion/exclusion details. Every phrase earns its place; there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only diagnostics tool, the description is largely complete: it states the data source, the exact fields available, and the sensitive data that is intentionally absent. It does not explicitly describe the return envelope or ordering, but with one optional limit parameter and a clear field list, the agent can invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention the only parameter, 'limit', or explain how it controls the returned records. Schema description coverage is 0%, so the description should compensate but does not. The schema does provide constraints (default 100, min 1, max 500), yet the agent gets no contextual help from the tool description itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('读取' / read) and resource ('本地脱敏网络异常记录'), then enumerates exactly which fields are included. This clearly distinguishes it from sibling status/lifecycle tools and leaves no ambiguity about the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is for reading local desensitized network anomaly records. However, it does not explicitly say when to use this tool versus alternatives like chatgpt_status or chatgpt_circuit_breaker_status, nor does it state any exclusions or routing conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_new_chatB
创建新的普通或临时对话,并可同时选择模式、模型、思考强度和能力档位。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 可选模式,例如“聊天”或“工作”。 | |
| model | No | 可选模型名称。 | |
| temporary | No | true 表示临时对话,不进入历史记录。 | |
| answerTier | No | 可选能力档位;传“Pro”时使用滑杆最后一档。 | |
| thinkingLevel | No | 可选思考强度。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full transparency burden. It states that a new normal or temporary conversation is created, but does not disclose side effects such as what happens to the current conversation, whether an unsent draft is discarded, whether authentication is required, or what result/confirmation is returned. This is a notable gap for a browser-mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It names the core action first and then compactly lists the optional configuration dimensions. It could include more usage/behavior context, but its size and structure are efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, a five-parameter mutation tool needs more context than this one-sentence description provides. Missing are what happens to the current conversation, what the tool returns or confirms, and when to prefer this composite tool over the sibling route/select tools. The schema covers parameter syntax but not operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters. The description only restates the categories (mode, model, thinking strength, capability tier, temporary) without adding meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('创建新的...对话') and lists the configurable dimensions: mode, model, thinking level, and capability tier, plus the normal/temporary distinction. It is easy to understand what the tool does, though it does not explicitly contrast itself with sibling tools like chatgpt_route_new_chat or the select_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '并可同时选择...' implies this is a combined create-and-configure operation, giving some usage context. However, it does not explicitly state when to use this tool versus alternatives such as chatgpt_route_new_chat followed by individual select_* calls, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_probe_pro_identityA
执行 Pro 身份探针:默认优先复用 30 分钟内同模式的可靠结果;没有缓存时才新建临时对话、切到“Pro”、发送“你是什么模型?”并无限等待。返回原回答及配置的接受/回退/unknown 分类,不创建正常对话。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| force | No | true 表示忽略缓存并重新执行探针;仅在用户明确要求时使用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behavioral traits: it reuses cached results within 30 minutes, creates a temporary chat and switches to 'Pro' when cache is absent, waits indefinitely, and returns a classification. It also clarifies it does not create a normal conversation, which is important side-effect information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that efficiently packs the purpose, caching behavior, fallback steps, and return value. It is well-structured with semicolons and contains no wasteful filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description must explain side effects and return values; it does so by specifying the returned classification and the non-creation of normal chats. However, it omits potential failure modes or timeout behavior despite '无限等待' (wait indefinitely), leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal clarification for the 'mode' parameter by mentioning '同模式' (same mode) in the cache context, but it does not define acceptable values or format. The 'force' parameter is already described in the schema, so the description does not improve on it. Given 50% schema coverage, more compensation was needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: '执行 Pro 身份探针' (execute Pro identity probe), and details the steps: reuse cache, else create temp chat, switch to Pro, send a specific question, and wait. It differentiates from siblings by noting it does not create normal conversations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its use for verifying Pro identity but does not explicitly state when to use this vs alternative chat tools. It mentions default caching behavior and that it creates a temporary conversation only when no cache exists, but lacks explicit exclusions or alternative tool recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_route_new_chatA
按可配置策略新建并发送:普通请求使用“极高”;明确请求 Pro 时先执行临时身份探针,命中“gpt-5.6-pro”才在正常对话继续使用“Pro”,命中“gpt-5.5-mini”则回退默认档位,其他回答停止。浏览器始终常驻。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| wait | No | ||
| files | No | ||
| prompt | Yes | 最终正常对话要发送的实际提示词。 | |
| timeoutMs | No | ||
| forceProbe | No | 是否忽略 30 分钟 Pro 探针缓存;默认 false。 | |
| requestPro | No | 用户是否明确要求 Pro。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds non-obvious behavior: temporary identity probe, model-specific fallback ('gpt-5.6-pro' vs 'gpt-5.5-mini'), stopping on other answers, and a persistently resident browser. But it omits side effects like discarding the current chat, wait/return behavior, and error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the core action and then details the routing policy. It is reasonably concise for the complexity, though the long run-on structure could benefit from splitting into separate sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite describing the routing policy, the tool has 7 parameters, no annotations, and no output schema. The description leaves many operational questions unanswered: what 'default tier' is, how files/timeout/wait behave, what the tool returns after sending, and failure handling. It is insufficient 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 43%, and the description fails to compensate. It never mentions parameters such as mode, wait, files, or timeoutMs, and does not explain how requestPro and forceProbe map to the described probe policy. Most parameter semantics must be inferred from schema defaults and names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with '按可配置策略新建并发送' (create and send via configurable policy), clearly identifying a combined new-chat and send operation with routing. It distinguishes itself from sibling tools like chatgpt_new_chat and chatgpt_send_message by specifying the policy-driven workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit context for when to use different paths: ordinary requests use '极高', explicit Pro requests trigger a probe with fallback rules. However, it does not explicitly name alternative tools or state when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_search_historyA
使用 ChatGPT 网页自带的“搜索聊天”界面查找历史对话,因此不受侧栏当前加载数量限制。返回 title、conversationId 和 URL。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It transparently states the UI mechanism (web search-chat interface) and the key behavior of bypassing sidebar loading limits, and it implies a read-only search. However, it does not mention whether a live browser session is required, potential UI side effects, or behavior when there are no results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. It front-loads the mechanism and scope, then immediately gives the return fields. Every part contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only search tool with no output schema and no annotations, the description covers purpose, mechanism, the key limitation-bypassing behavior, and return values. It lacks explicit alternate-sibling routing and parameter semantics, but the schema handles parameter constraints and the description is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does little to explain the parameters. 'query' is only inferable from the search action, and 'limit' is not described at all despite having default/min/max constraints. The description adds minimal parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: '查找历史对话' (search historical conversations) via ChatGPT's built-in search-chat UI. It also differentiates itself from sidebar-based siblings by noting it is '不受侧栏当前加载数量限制' (not limited by the sidebar's currently loaded count) and specifies the returned fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when searching the full history because the sidebar's loaded history is limited. It does not explicitly name an alternative sibling or state when not to use it, but the context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_select_answer_tierA
选择输入框右侧的能力档位。当前支持精确选择配置的最高档“Pro”,并校验页面显示结果。
| Name | Required | Description | Default |
|---|---|---|---|
| answerTier | Yes | 能力档位名称;最高档默认为“Pro”。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool selects a tier and validates the page display result, which is useful. However, it does not mention side effects, failure behavior for unsupported tiers, or prerequisites such as an open browser or an active ChatGPT session.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the action and constraint, and it adds the verification behavior without any filler. Every part contributes meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the core behavior and current constraint are covered, and the verification step is mentioned. However, with no output schema or annotations, return values, error behavior, and prerequisites are left unspecified, which an agent may need to know before invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter, and the tool description reinforces the meaning by stating that 'Pro' is the highest/default tier. This adds a small constraint beyond the schema, but it does not elaborate on accepted value formats or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('选择' / select), a precise resource ('输入框右侧的能力档位' / capability tier beside the input box), and the currently supported value ('Pro'). It is easily distinguishable from sibling tools that list or manage modes, models, or thinking levels, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool should be used when selecting the answer capability tier and notes that only the highest tier 'Pro' is currently supported. However, it provides no explicit guidance about when to use this tool versus alternatives such as chatgpt_answer_tier_status or chatgpt_select_mode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_select_historyA
通过 conversationId、ChatGPT /c/... URL 或唯一标题打开历史对话,并返回最近一条回答。优先使用 ID。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| title | No | ||
| conversationId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses that the tool opens a conversation and returns the latest answer, but it does not mention side effects such as changing the current browser/conversation state, authentication or network requirements, or failure/not-found behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence front-loads the accepted identifiers, states the output, and ends with a useful precedence rule. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core open-and-return contract is described, and the output is simple enough that an output schema may not be needed. However, since all parameters are optional in the schema but logically at least one is needed, the description should clarify that requirement and explain behavior when none is supplied or when the conversation is not found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates by explaining all three parameters: conversationId, /c/... URL, and unique title. It also gives precedence guidance ('优先使用 ID'). It does not specify exact URL format or whether exactly one parameter must be provided, but it adds meaningful semantics beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('打开' / open), a specific resource ('历史对话' / historical conversation), and a concrete output ('返回最近一条回答' / return the latest answer). This distinguishes it from sibling search/list/new tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is inferable: use this tool when you have a conversationId, /c/ URL, or unique title and need to open a historical conversation. However, it does not explicitly compare itself with alternatives like search_history or list_history, and it gives no when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_select_modeA
选择 ChatGPT 新版页面顶部模式,例如“聊天”或“工作”,并校验选中状态。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | 页面显示的模式名称;建议先调用 chatgpt_list_modes。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden; it does disclose a post-selection verification behavior. However, it does not mention side effects of switching modes, error/failure behavior, or whether an active browser page is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly worded sentence delivers the action, target, examples, and verification behavior with no filler or repetition. The most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the combination of description and input schema covers the selection workflow: list modes, provide the displayed mode name, select, and verify. Minor omissions such as failure handling and browser prerequisites are not material for this simple UI action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, and the description adds practical meaning beyond the schema by clarifying that mode is a top-page label and providing examples. It reinforces the schema's suggestion to use chatgpt_list_modes, helping the agent supply a valid string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('选择') and resource ('ChatGPT 新版页面顶部模式'), gives concrete examples ('聊天' or '工作'), and adds a verification step ('校验选中状态'). This clearly distinguishes it from sibling selectors such as chatgpt_select_model and chatgpt_select_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It identifies the relevant domain (top-page modes) and explicitly recommends calling chatgpt_list_modes first, which gives an actionable precondition. It does not explicitly state when not to use it, but the examples and wording make the intended use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_select_modelA
按“当前档位→高级→模型”选择当前对话使用的模型,并校验结果。
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | 模型菜单显示的完整或唯一名称;建议先调用 chatgpt_list_models。 |
TDQS
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 that the tool selects a model and then validates the result ('并校验结果'), and it gives the navigation path. However, it does not explain what happens on failure, whether the previous model selection is overwritten, or what the verification returns, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single densely packed sentence that front-loads the action, includes the relevant navigation path, and states the verification behavior. There is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description plus schema provides enough context to call it correctly: what to select, how to identify the model, and the fact that the result is checked. The only notable omission is explicit output or error behavior, but that is a minor gap for this low-complexity selector.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The model parameter is already well documented as the full or unique name shown in the model menu, with a recommendation to call chatgpt_list_models first. The tool description adds no additional parameter-level meaning, so it neither needs to compensate nor adds value here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: selecting the model used by the current conversation, following a defined UI path, and then verifying the result. It clearly distinguishes this from sibling selectors such as chatgpt_select_mode, chatgpt_select_thinking_level, and chatgpt_select_answer_tier because the target resource is explicitly the model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes the context: use this when you need to choose the model for the current conversation. The parameter schema adds sequencing guidance by recommending chatgpt_list_models first. It does not explicitly name alternative tools or exclusions, but the model-specific wording makes the intended use obvious among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_select_thinking_levelA
选择 ChatGPT 网页当前对话的思考强度,并校验页面显示的结果。
| Name | Required | Description | Default |
|---|---|---|---|
| thinkingLevel | Yes | 页面显示的完整思考强度名称;若列表表明控件仅为滑块,也可传其 min..max 范围内的数值字符串。建议先调用 chatgpt_list_thinking_levels。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose that the tool selects the level and then verifies the displayed result, which adds behavioral insight. However, it does not mention side effects, possible failure modes, or whether the page must already be in a particular state, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action and adds the verification step. Every clause earns its place; there is no repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter UI action with no output schema, the description plus schema is nearly complete: it states the action, the verification behavior, and how to determine the value to pass. It does not specify return/error details, but the tool's simplicity limits the impact of that omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains that thinkingLevel should be the displayed name or a numeric string for slider controls, and recommends calling chatgpt_list_thinking_levels first. The main description adds no parameter-level meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('选择' / select) with a clear resource ('ChatGPT 网页当前对话的思考强度' / the current conversation's thinking level on the ChatGPT web page) and adds verification behavior ('并校验页面显示的结果'). This clearly distinguishes it from sibling tools like chatgpt_list_thinking_levels, chatgpt_select_mode, and chatgpt_select_model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parameter description provides explicit guidance to call chatgpt_list_thinking_levels first and explains when a numeric string is acceptable (when the control is a slider). It does not explicitly state when not to use this tool versus select_mode/select_model, but the context is clear enough for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_send_messageA
组合工具:可新建或继续对话、选择模式/模型/思考强度/能力档位、切换临时对话、上传文件、写入提示词、发送并取得回答。能力档位为“Pro”或模型名称带 Pro 时自动无限等待;普通档位仍使用 timeoutMs。只有用户明确要求上传时才传 files。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| wait | No | ||
| files | No | ||
| model | No | ||
| prompt | Yes | ||
| newChat | No | ||
| temporary | No | ||
| timeoutMs | No | ||
| answerTier | No | 可选能力档位;传“Pro”时无限等待。 | |
| thinkingLevel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses important behavioral traits: Pro tier or model names containing 'Pro' trigger infinite waiting, normal tiers use timeoutMs, and files are only sent when explicitly requested. It also reveals that the tool can start or continue conversations. It omits return format and failure modes, but the added details are meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the composite-tool claim, followed by a concise capability list and two critical behavioral caveats. Every clause earns its place; no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description covers core parameter semantics and key behaviors, but it omits the structure of the returned answer, the exact effect of wait=false, prerequisites, and error/edge cases. It is adequate for basic usage but not fully complete for a complex composite tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 10%, so the description carries the burden of explaining parameters. It successfully maps mode, model, thinkingLevel, answerTier, temporary, newChat, prompt, files, and timeoutMs through the capability list and the Pro/timeout/files caveats. The 'wait' parameter remains under-explained, but overall the description adds substantial semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with '组合工具' (composite tool) and lists a full range of capabilities: new/continue chat, mode/model/thinking/tier selection, temporary chat, file upload, prompt writing, sending and receiving answers. This clearly specifies the tool's scope and distinguishes it from the granular sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '组合工具' label implies this is the one-stop tool, and the listed capabilities provide context, but the description never explicitly states when to use this versus the individual chatgpt_* sibling tools, nor does it give exclusions or alternative routes. Guidance is implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_set_temporaryA
开启或关闭新对话的临时对话模式,并通过页面状态进行校验。切换可能会打开一个新对话。
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes |
TDQS
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 discloses that the tool toggles temporary mode, validates through page state, and may open a new conversation—useful side-effect information. It does not detail all side effects, but the disclosed behavior is meaningful and non-obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. It front-loads the action and target, then adds validation behavior and a side-effect warning; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-boolean toggle, the description covers what the tool does, the scope (new conversations), how it validates, and a key side effect. Since there is no output schema, that absence is not a gap. It does not explain the exact meaning of 'temporary mode' relative to other modes, but this is likely sufficient for agent selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the single boolean parameter 'enabled' maps naturally to the description's '开启或关闭' (turn on/off). The description thereby supplies the semantic meaning of the parameter without repeating the schema. It could be more explicit by naming the parameter, but the behavior clearly implies its role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action—turning temporary conversation mode on or off for new conversations—with an explicit resource target. It reads as distinct from sibling toggles such as select_mode or new_chat, though it does not explicitly name or exclude siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some context by saying it applies to new conversations and that switching may open a new chat, but it does not explain when to use this tool versus alternatives like chatgpt_select_mode or chatgpt_new_chat. No when-to-use or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_statusA
检查专用浏览器、登录、当前对话、模式与临时对话状态。仅在诊断或确需状态时调用;正常发送无需预先调用。默认不展开高级菜单。
| Name | Required | Description | Default |
|---|---|---|---|
| includeSettings | No | 是否额外展开高级菜单读取模型和思考强度;默认 false。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the burden of behavioral disclosure. It does reveal a default behavioral detail (不展开高级菜单) and lists what is inspected, but it stops short of explicitly stating read-only/no side-effect behavior or what the returned status contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences carry the tool's scope, usage restriction, and default behavior with no filler. The most decision-relevant guidance ('only call when diagnosing') comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity optional-parameter status tool, the description covers purpose, invocation timing, and default behavior. It does not define the output format, but no output schema exists and the status scope is enumerated; the remaining gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single includeSettings parameter, and the description's mention of default non-expansion of the advanced menu effectively restates that schema default. No meaningful semantic detail is added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (检查/check) and the exact scope of what is inspected: dedicated browser, login, current conversation, mode, and temporary conversation state. It is clearly about status inspection, but it does not explicitly contrast itself with sibling diagnostic tools such as chatgpt_network_diagnostics or chatgpt_circuit_breaker_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to call the tool ('仅在诊断或确需状态时调用') and provides a when-not ('正常发送无需预先调用'). This gives clear context and exclusion, but it does not name sibling alternatives for other diagnostic checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_submit_promptB
发送当前输入框中的提示词,并可等待 ChatGPT 网页回答完成。当前能力档位为“Pro”或模型名称带 Pro 时自动无限等待,timeoutMs 仅用于普通档位。
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | ||
| timeoutMs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses a valuable behavioral detail: infinite waiting for Pro tiers and timeoutMs only for normal tiers. However, it omits other behavioral aspects such as return value, error handling, or the exact behavior when wait=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and every sentence adds meaningful information. It is concise without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and an output schema, the description leaves important gaps: it does not explain return values, the behavior when wait=false, or how 'Pro' status is determined. For a mutation tool with two parameters, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions for the two parameters, and the description only enriches timeoutMs by explaining it applies to normal tiers. The wait parameter's semantics (e.g., whether it controls waiting at all) are not clearly addressed, leaving a gap for one of the two parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sends the prompt currently in the input box and optionally waits for ChatGPT's response, using a specific verb and resource. It distinguishes from write_prompt (which writes) but does not explicitly differentiate from the similar sibling send_message, so sibling differentiation is incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used after a prompt has been written to the input box, but it provides no explicit guidance on when to use this tool over alternatives like send_message or get_latest_response. No exclusions or preferred contexts are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_upload_filesA
向当前 ChatGPT 对话上传用户明确授权的本地文件。路径必须是绝对路径。不会自动发送提示词。
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | 待上传文件的绝对路径列表。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and discloses key traits: upload only, no automatic prompt submission, and the requirement for absolute paths. It states an authorization constraint ('explicitly authorized by the user'), which goes beyond the basic operation, though it omits details like file-size limits or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each carrying distinct information: the operation, the path constraint, and a critical behavioral caveat. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter upload tool, the description covers the purpose, invocation constraint, and a key consequence (no prompt is sent). It is complete enough for an agent to select and call it correctly, though the lack of an output schema means return/error behavior is not described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes 'files' as a list of absolute paths. The description reinforces this requirement and adds context about local/user-authorized files, but it does not materially extend the parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('upload'), a precise resource ('current ChatGPT conversation'), and the scope ('local files explicitly authorized by the user'). This distinguishes it from sibling tools like chatgpt_add_file_to_project, which targets projects rather than the active conversation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames when to use the tool: when the user has authorized local files and the target is the current ChatGPT conversation. The caveat 'will not automatically send a prompt' signals that a separate prompt-sending tool is required if a message must follow, although it does not explicitly name the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_write_promptA
把提示词准确写入 ChatGPT 网页输入框但不发送,适合先上传文件或让用户检查草稿。
| Name | Required | Description | Default |
|---|---|---|---|
| append | No | 是否追加到已有草稿;默认覆盖。 | |
| prompt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose the key behavior: the tool writes without sending. However, it does not mention that it overwrites existing draft text by default unless append=true, though that is already captured in the append parameter schema. Adequate but not richly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the core action and non-send behavior, then gives the intended use case. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema and no annotations, the description plus schema covers the main workflow and the overwrite/append distinction. It lacks explicit notes on return values, errors, or browser-state requirements, so it is good but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: append is well described, and prompt is self-explanatory via its name and minLength constraint. The description itself adds no parameter-level meaning beyond what the schema provides, which is acceptable but not exemplary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: writing a prompt into the ChatGPT web input box without sending it. The explicit '但不发送' (but does not send) differentiates it clearly from siblings like chatgpt_submit_prompt and chatgpt_send_message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete usage scenario: suitable for uploading files first or for letting the user review the draft before sending. It does not explicitly name alternative tools or state when not to use it, so it falls short of 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.
27 tool updates
v0.2.0- First observed
chatgpt_answer_tier_status - First observed
chatgpt_browser_lifecycle - First observed
chatgpt_capabilities - First observed
chatgpt_circuit_breaker_status - First observed
chatgpt_clear_circuit_breaker - First observed
chatgpt_close_browser - First observed
chatgpt_get_latest_response - First observed
chatgpt_list_history - First observed
chatgpt_list_models - First observed
chatgpt_list_modes - First observed
chatgpt_list_thinking_levels - First observed
chatgpt_network_diagnostics - First observed
chatgpt_new_chat - First observed
chatgpt_probe_pro_identity - First observed
chatgpt_route_new_chat - First observed
chatgpt_search_history - First observed
chatgpt_select_answer_tier - First observed
chatgpt_select_history - First observed
chatgpt_select_mode - First observed
chatgpt_select_model - First observed
chatgpt_select_thinking_level - First observed
chatgpt_send_message - First observed
chatgpt_set_temporary - First observed
chatgpt_status - First observed
chatgpt_submit_prompt - First observed
chatgpt_upload_files - First observed
chatgpt_write_prompt
TDQS
Scored across 27 tools
Several tools overlap significantly: chatgpt_status and chatgpt_capabilities both report current mode/model/thinking state, and composite tools like chatgpt_send_message overlap with chatgpt_write_prompt, chatgpt_submit_prompt, and chatgpt_new_chat. An agent must carefully parse descriptions to pick the right tool, and misselection is likely.
Most tools follow a chatgpt_<verb>_<noun> pattern (list_models, select_model, submit_prompt), but several use noun-only or noun+noun forms (chatgpt_status, chatgpt_capabilities, chatgpt_browser_lifecycle). The overall snake_case prefix is consistent, but the mixed verb/noun styles create a noticeable deviation.
With 27 tools, the server exceeds the 25-tool threshold for 'too many'. Many status and configuration tools could be consolidated into fewer, more comprehensive operations without losing functionality, making the surface feel heavier than necessary.
The tool set covers the full ChatGPT web workflow: listing and selecting modes/models/thinking/tier, composing and sending messages, uploading files, managing history, and browser lifecycle. Minor gaps like editing or deleting conversations exist, but they are not critical for core usage and can be worked around.
Maintenance
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Synap (pool.linkrra.com/v1), Linkrra's OpenAI-compatible LLM API, as an MCP server.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA self-hosted MCP server that brings a Codex-style coding workflow to ChatGPT, allowing it to read, edit, search, and run code in your local projects.MIT
- FlicenseNot gradedqualityCmaintenanceAn unofficial self-hosted MCP server that enables ChatGPT to run commands on your computer through a secure tunnel, manage processes, and work within a specified project directory.1-
- AlicenseNot gradedqualityAmaintenanceAn MCP server that bridges ChatGPT Web Pro to local tools, enabling file read/write, shell command execution, git operations, and search within a specified project directory.27MIT
- AlicenseAqualityBmaintenanceMCP server that turns ChatGPT Web or any MCP client into a coding agent on your own repositories, enabling file editing, command execution, testing, and git workflow without an OpenAI API key.27811 npm2MIT