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 "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@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: MCPishCode
运行要求
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 provided, the description carries the full transparency burden. It explicitly discloses that it does not send prompts, which is a key behavioral guarantee. It also details the return format (current position and value range), though it does not discuss failure conditions or prerequisites.
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 with an illustrative example. It is concise and every part adds value: what it reads, an example, and a safety note about not sending prompts.
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 fully explains the return value with an example. It is self-contained and provides enough context for an agent to know when and how to use it without additional documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete. The baseline for 0 parameters is 4, and the description adds no parameter information but also does not need to. It focuses on the behavior rather than input, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the current position and accessible range of a capability slider next to the input box, with a concrete example. It distinguishes itself from siblings like chatgpt_select_answer_tier, which presumably sets the tier, by focusing on reading 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?
The description provides context that this is a non-invasive read operation ('不会发送提示词'), which guides safe usage. However, it does not explicitly name alternatives or state when to use this over chatgpt_status or other status-related tools, so it falls short of full guidance.
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 full burden of behavioral disclosure. It discloses the key lifecycle behavior: the browser stays open after MCP calls and subsequent calls take over without re-entry. This is valuable context beyond the tool name, though it does not detail what the status output contains or whether any side effects exist beyond reading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences. It front-loads the primary purpose (reading status) and immediately follows with the essential behavioral trait. Every sentence earns its place with no redundancy 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 no-parameter, no-output-schema status tool, the description provides adequate context. It explains the tool's purpose and the critical lifecycle behavior that impacts subsequent calls. While it could mention possible status values or return format, the absence of an output schema lowers the burden, and the description is sufficiently complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema reflects this with an empty properties object. Per the baseline for 0-param tools, the description need not explain parameters. The description adds no parameter information, but none is required, so a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the resident status of the dedicated ChatGPT browser, using the specific verb '读取' (read) with a defined resource. It adds useful context about browser persistence after MCP calls, which distinguishes it from a generic status check, though it does not explicitly differentiate from sibling tool '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?
The description implies when to use this tool—to check the browser's resident state and understand that subsequent calls will directly take over without re-entering the site. However, it does not explicitly state when to prefer this over alternatives like 'chatgpt_status' or provide usage scenarios, so guidance is only implied.
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, the description carries the full burden. It transparently describes the read-only aggregate behavior, what data is captured, and explicitly notes a limitation (does not expand submenus). It also implies efficiency benefits. It could state no-side-effects more explicitly, but the read verb and context suffice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are front-loaded: first states the function, second states the usage and limitation. Every clause adds value with no repetition 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?
The tool has no output schema and a single configurable parameter, so the description must compensate. It covers purpose, usage, and scope well, but omits the historyLimit semantics and any return structure. For a status-combining tool, this is adequate for selection but leaves gaps for correct invocation with parameters.
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 only parameter, historyLimit, is not mentioned in the description, and schema coverage is 0%. The schema provides numeric constraints but no semantic meaning. The description's reference to '少量可见历史摘要' is too vague to convey that historyLimit controls the amount, leaving the agent to guess the parameter's 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 uses a specific verb ('一次读取' / read at once) and clearly enumerates the resources: current mode, model, thinking strength, temporary state, and a visible history summary. This aggregates several sibling status tools, clearly distinguishing it from individual list/select tools like chatgpt_list_modes or 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?
It explicitly states when to use: '用于确需综合预检时,避免连续调用多个状态工具' (when a comprehensive pre-check is needed, to avoid multiple status calls). It also gives an exclusion: '不会展开模型或思考强度子菜单' (does not expand submenus), implying when not to use it and directing toward the list tools.
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 of behavioral disclosure. It clearly states the operation is read-only ('只读取'), operates locally ('本地'), and does not access the ChatGPT webpage ('不访问 ChatGPT 网页'), which are important safety-relevant traits. It does not describe output details, but for a zero-parameter status read this is acceptable.
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 immediately communicates scope and key constraint. Every word contributes value: it names the resource, asserts read-only behavior, specifies locality, and states the non-web access.
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 covers the essential context: what is being checked and that it is local and non-web. It does not describe the response format or values, but given the apparent simplicity and lack of an output schema, the description is sufficiently complete for selecting and 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?
The tool has zero parameters, so parameter semantics are not applicable. The description still helps by clarifying the tool takes no input and is purely a status read, which is consistent with the empty input 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?
Description clearly states the tool's function: '只读取本地安全熔断和未确认生成任务状态' (only reads local safety circuit breaker and unconfirmed generation task status). It uses a specific verb ('reads') and resource, and explicitly notes it does not access the ChatGPT webpage, distinguishing it from sibling tools like chatgpt_clear_circuit_breaker or 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?
The description implies usage context: it is a read-only, local status check that avoids web access. However, it does not explicitly state when to use this tool versus alternatives such as chatgpt_status or chatgpt_clear_circuit_breaker, nor does it provide clear exclusions beyond the no-web-access note.
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?
With no annotations provided, the description carries the full burden. It discloses two useful behavioral traits: it clears a local safety circuit breaker (a mutation) and it will not access the web (a non-network operation). However, it does not explain what 'clear' entails (e.g., whether it resets persistent state, what side effects occur, or if it is reversible), leaving some ambiguity for a 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 two sentences, front-loaded with the key condition, and every word earns its place. It states the precise action, the prerequisite, and a safety-relevant non-behavior (no web access) without any 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 one-parameter tool with no output schema, the description is adequate. It explains the trigger condition, the action, and that it does not access the web. It could mention what happens after clearing (e.g., whether further user action is needed), but given the tool's simplicity, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'confirmed' is fully documented in the schema with a description that mirrors the tool description ('must be manually confirmed by the user'). The tool description adds no new parameter-specific details beyond reinforcing the confirmation condition, so the schema does the heavy lifting. 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 clearly states a specific verb+resource: 'clear the local safety circuit breaker' (清除本地安全熔断), with the explicit condition that it only happens after manual user confirmation. It distinguishes itself from the sibling chatgpt_circuit_breaker_status by implying status is a read operation while this is a write/reset operation.
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: only after the user has manually confirmed the ChatGPT rate limit prompt has disappeared. It does not mention alternatives or when not to use, but the context is clear enough for an agent to decide that this is the right action for clearing a local circuit breaker after a rate limit resolves.
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, the description carries the full burden of behavioral disclosure. It reveals that the tool closes a persistent dedicated browser, which is a significant side effect. However, it does not mention consequences such as unsaved data, impact on ongoing tasks, or how to restart the browser, 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 extremely concise, consisting of two short sentences that front-load the purpose and then add the crucial usage condition. Every word earns its place, and there is no redundant 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 parameterless tool whose sole action is to close a browser, the description is largely complete: it states what is closed and when to invoke it. It lacks any mention of return values or post-close state, but given the simplicity of the operation and absence of parameters/output schema, the context is adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter meanings. The schema coverage is effectively 100% because there is nothing to document, so the baseline of 4 applies without further need for elaboration.
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 specific action ('close') and the target resource ('ChatGPT MCP's dedicated resident browser'), making the tool's purpose unambiguous. It also distinguishes this from sibling tools like chatgpt_browser_lifecycle by specifying a dedicated close operation with a unique scope.
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 when the user explicitly requests to close'), providing a clear trigger and implying it should not be called otherwise. It does not name alternative tools, but the 'only when' condition is sufficiently restrictive for a simple close operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_get_latest_responseA
读取当前 ChatGPT 对话最近一条完整回复和对话状态。默认不为状态展示额外展开高级菜单。
| Name | Required | Description | Default |
|---|---|---|---|
| includeSettings | No | 是否额外读取模型和思考强度;默认 false。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It does disclose one relevant behavior: by default it does not expand advanced menus for status display. However, it does not explicitly state the read-only nature, prerequisites (e.g., active session), or what 'conversation status' includes, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with two clauses: the core purpose and the default behavior. Every word earns its place, with no redundancy 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?
This is a low-complexity tool with one optional parameter and no output schema. The description states what it reads and a default behavior, but it leaves 'conversation status' vague and does not describe return values or usage flow. It is adequate but not 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 input schema fully documents the single optional parameter with a clear description, so schema coverage is 100%. The description's mention of default behavior aligns with the parameter's default false value but adds little beyond the schema, hence the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('读取' / read) and clearly identifies the resource: the latest complete reply and conversation status of the current ChatGPT conversation. This distinguishes it from sibling tools like chatgpt_status by emphasizing 'recent complete reply', making the purpose unambiguous.
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 no explicit guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. It only states a default behavior (not expanding advanced menus), which is not usage guidance.
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 burden of behavioral disclosure. It states the operation is a read-only list and specifies the return attributes, but does not mention side effects (e.g., whether it triggers loading), pagination behavior, or error conditions. The verb 'list' implies no mutation, but additional details would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with two clauses, front-loaded with the primary action and resource, followed by the return fields. Every word contributes to clarity with no redundancy 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?
Despite no output schema, the description lists the return fields and filter capability. It lacks explicit mention of the `limit` parameter's effect or how this tool relates to `chatgpt_search_history`, but the tool is simple and the description covers the essential use case. The absence of such details is 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?
Schema description coverage is 0%, so the description must compensate. It explains that the `query` parameter filters by title, but does not explain the `limit` parameter's meaning (e.g., controls the maximum number of returned items). Since `limit` is completely undocumented in both schema and description, the parameter semantics are incomplete.
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 ('list') and resource ('historical conversations currently loaded in ChatGPT sidebar'), and distinguishes itself from the sibling `chatgpt_search_history` by scoping to the sidebar's loaded items. It also specifies the return fields (title, conversationId, URL), making the purpose unambiguous.
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 usage for browsing loaded history and filtering by title, but does not explicitly mention when to use this tool versus `chatgpt_search_history` or `chatgpt_select_history`. No exclusions or alternative guidance is provided, so the usage context is only implied.
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 provided, the description carries the full burden of behavioral disclosure. It honestly discloses dynamic behavior, reliance on page hierarchy, and the constraint not to guess model names. It does not mention return format or error conditions, but for a list operation this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no redundant phrases. It front-loads the purpose and includes a practical usage note ('不要猜测模型名称'), making every word useful.
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 tool with no output schema, the description provides adequate context: it explains the source of truth (page hierarchy) and the current-account scope. It could have mentioned return format or prerequisites (e.g., browser open), but the essentials are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is trivially 100%. The description adds no parameter details because there are none to explain. Per the baseline for 0-param tools, 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 states the tool lists models actually available for the current ChatGPT account, using a specific page hierarchy. It uses a specific verb ('列出' / list) and resource ('模型' / models), and distinguishes itself from sibling tools like chatgpt_list_modes 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 description implies when to use this tool: to discover real, available model names rather than guessing. It provides the context of the page hierarchy ('当前档位→高级→模型') but does not explicitly name alternatives or exclusion conditions, 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.
chatgpt_list_modesA
列出 ChatGPT 新版页面顶部当前可用的模式,例如“聊天”和“工作”。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. While 'list' implies a read operation, the description does not explicitly state that it has no side effects, requires no authentication, or does not modify state, which would be helpful.
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 concise sentence that efficiently conveys purpose without wordiness, front-loading the action and object.
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 0-param, simple list tool, the description suffices to explain what it returns. However, it doesn't explicitly describe the output format or any prerequisites (e.g., must be on a ChatGPT page), but this 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?
The tool has zero parameters, so the schema is inherently complete. The description adds no param semantics needed, and per the rubric, 0 params gives a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists currently available modes at the top of the new ChatGPT page, with concrete examples ('Chat' and 'Work'). This distinguishes it from sibling list tools like chatgpt_list_models and chatgpt_list_thinking_levels.
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 usage (to see available modes before selection), but provides no explicit when-to-use guidance or comparison with sibling tools like chatgpt_select_mode or chatgpt_capabilities.
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, the description carries the full burden. It discloses a key behavioral trait: it lists only 'actually available' levels, not all possible ones, and it indicates a UI navigation path. However, it doesn't describe return format, how availability is determined, or any prerequisites (e.g., login). For a simple read-only list, this is adequate 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, front-loaded sentence with no unnecessary words. It states the action, the UI path, and the scope efficiently, earning full marks for conciseness.
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, simple listing tool, the description is largely complete: it identifies the source (page hierarchy) and the output concept (available thinking levels). It lacks details on return format or error conditions, but given the tool's simplicity and lack of output schema, it provides sufficient context for an agent to use 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 tool has zero parameters, so the description does not need to explain parameter meaning. The baseline for 0 params is 4, and there is no missing parameter information to penalize.
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: listing the thinking intensities actually available to the account. The verb 'list' and resource 'thinking intensities' are specific, and the scope ('actually available') differentiates it from a generic list-all tool. The sibling tool chatgpt_select_thinking_level is clearly for selection, so this list tool is distinguishable.
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 the page hierarchy context ('current level → advanced → thinking intensity') that implies when to use this tool (to discover available options), but it does not explicitly state alternatives or when not to use it. No mention of sibling tools like chatgpt_select_thinking_level for choosing a level, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 data is local, desensitized, and exactly which fields are present and absent, offering transparency about the tool's scope and privacy implications. This goes beyond a simple read statement, though it does not mention any potential side effects or error conditions.
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 that front-load the purpose and follow with precise details on content and exclusions. Every word earns its place, and it avoids redundancy with the schema.
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 with one optional parameter and no output schema, the description covers the essential context: what data is available and what is deliberately omitted. The only gap is the unexplained limit parameter, but overall the tool is easy to understand and use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (limit) with a default, min, and max, but no description in the schema, and schema description coverage is 0%. The tool description does not mention the limit parameter or explain its behavior, so the agent must infer its meaning from the schema alone. The description adds no semantic value for this parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads local desensitized network exception records, specifying the exact fields included (time, method, path, status code, resource type) and excluded (query params, cookies, bodies). This distinguishes it from sibling tools like chatgpt_status or chatgpt_circuit_breaker_status, which focus on other status aspects.
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 is used for inspecting network diagnostics without explicitly naming alternatives. It provides clear context on what the tool returns and its limitations, but does not explicitly state when to use this tool versus chatgpt_status or chatgpt_circuit_breaker_status. The context is clear enough for an agent to infer appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_new_chatA
创建新的普通或临时对话,并可同时选择模式、模型、思考强度和能力档位。
| 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 full responsibility. It discloses the core behavior (creating a new chat and setting parameters) but omits potential side effects, such as whether creating a new chat discards the current conversation or how temporary chats are handled beyond the schema. This adds some context beyond the annotations (which are absent) but is not comprehensive.
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 primary action ('创建新的普通或临时对话') and then lists the configurable options. Every word contributes to understanding, with 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?
Given the tool has 5 parameters, no output schema, and no annotations, the description provides a basic understanding but leaves out workflow context. It does not explain what happens after creation, how the returned chat ID or status might be used, or whether the settings persist across messages. The description is adequate for a simple use case but incomplete for an agent needing to integrate with the broader chat workflow.
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 already provides 100% description coverage for all five parameters. The tool description merely summarizes these parameters ('模式、模型、思考强度和能力档位') without adding new meaning or clarifying parameter interactions. Baseline of 3 is appropriate because the schema does the heavy lifting, and the description adds minimal additional semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to create a new regular or temporary conversation while optionally configuring mode, model, thinking level, and answer tier. It uses a specific verb ('创建') and resource ('新对话'), and distinguishes itself from sibling tools like chatgpt_select_mode or chatgpt_set_temporary by being a one-stop combined action.
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 no explicit guidance on when to use this tool versus the many sibling setter tools (e.g., chatgpt_select_mode, chatgpt_select_model, chatgpt_set_temporary). It does not mention that this tool can replace sequential calls to those tools, nor does it state exclusions. The usage context is only implied by the name and the word 'new'.
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?
With no annotations, the description carries the full burden for disclosing side effects and behavior. It reveals that the tool leverages the web's 'search chat' interface and returns specific fields, which is useful. However, it does not state whether this is read-only, whether it requires navigation or leaves browser state changed, or any other behavioral traits beyond the search action itself. It meets the baseline but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the search mechanism and key differentiator, then lists return fields. Every sentence earns its place, with no redundancy or filler. It is appropriately sized for a simple search tool.
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, no annotations, and only two simple parameters. The description explains the purpose, method, and return format, which covers the main context. However, the parameter semantics are entirely absent, and the brief mention of not being limited by sidebar loads is useful but doesn't fully clarify the search scope or edge cases. For a low-complexity tool, it is adequate but with notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (no descriptions in the schema), so the description must compensate. It fails to explain 'query' or 'limit' at all. The parameter names are intuitive but not documented, and the description does not mention how limit affects results or what query formats are accepted. This is a clear gap given the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches historical conversations using ChatGPT's web search interface, specifying the verb 'search', the resource 'historical conversations', and the method. It also distinguishes itself from siblings like chatgpt_list_history by noting it is not limited by sidebar loading counts, and it lists return fields (title, conversationId, URL).
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 when to use this tool: when you need to find historical conversations beyond what the sidebar currently loads. It doesn't explicitly name alternatives or exclude cases, but the context is clear enough for an agent to infer it is the search complement to listing. The lack of explicit 'use X instead' prevents a 5.
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?
With no annotations, the description carries the burden. It discloses that the tool validates the page display result after selection, which adds useful context. However, it does not mention potential side effects, prerequisites, or failure modes associated with the selection action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core action and followed by a scoping note and validation behavior. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema), the description is mostly complete: it covers the action, current limitation, and validation. It lacks explicit context about prerequisites or when to use it, but for a simple selection tool, this is sufficient.
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 parameter schema already provides a basic description, and the tool description adds the critical constraint that currently only the highest tier 'Pro' is supported. This goes beyond the schema by telling the agent which values are valid in practice, aiding correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: selecting the capability tier next to the input box. It also specifies the supported tier ('Pro') and includes validation behavior, distinguishing it from sibling selection tools like chatgpt_select_mode and chatgpt_answer_tier_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?
The description implies the tool is used for selecting the answer tier but does not explicitly state when to use it versus alternatives, nor does it mention exclusions. Sibling tools like chatgpt_answer_tier_status suggest a status-check alternative, but no guidance is provided.
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?
With no annotations, the description carries the full burden. It states the action (open history) and return value (most recent answer), and gives a behavioral hint (prefer ID). But it does not disclose side effects (e.g., whether it switches the current context), error handling for missing or ambiguous identifiers, or prerequisites like browser state. This is adequate but not rich.
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 purpose, then adds the usage preference. Every word contributes value; there is 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?
Given the tool has 3 optional params, no output schema, and no annotations, the description provides the essential return information (most recent answer) and identification methods. However, it omits important context such as what happens when no parameters are provided, whether multiple identifiers conflict, and whether this tool affects the current browser/conversation state. This is functional 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?
The input schema provides only parameter names with 0% description coverage. The description compensates by explaining that conversationId is an ID, url is a ChatGPT /c/ URL, and title is a unique title. It also implies priority order ('优先使用 ID'). This adds significant meaning beyond the schema, though it lacks format examples or edge-case behavior.
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: '打开历史对话' (open historical conversation) via conversationId, URL, or title, and return the most recent answer. This specific verb+resource combination distinguishes it from siblings like chatgpt_list_history and chatgpt_search_history, which list or search rather than select/open.
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: use this tool when you have a conversationId, /c/... URL, or unique title to load a specific historical conversation. It even advises '优先使用 ID' (prefer ID) as a parameter preference. However, it does not explicitly mention when not to use it or alternatives like chatgpt_search_history, so it falls short of full usage 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 is responsible for behavioral disclosure. It does reveal that the tool verifies the selected state after selecting, which is an extra behavioral detail. Nevertheless, it omits side effects, error handling, or permission requirements, leaving some ambiguity for a state-changing 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, front-loaded sentence that efficiently conveys action, resource, examples, and verification behavior without any 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 simple one-parameter selection tool, the description covers what it does, how to verify, and gives examples. It lacks explicit return value or failure behavior details, but given the tool's simplicity and schema coverage, it is nearly 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 schema already describes the mode parameter and recommends listing modes first, and the tool description adds concrete examples ('聊天' or '工作'), enriching the meaning beyond the schema. With 100% schema coverage and added examples, the parameter is well defined.
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 selects a mode from the ChatGPT page top (e.g., 'Chat' or 'Work') and verifies the selection. It distinguishes from sibling tools like chatgpt_list_modes (listing) and chatgpt_select_model (model selection) by specifying the resource as 'mode'.
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 schema description advises calling chatgpt_list_modes first, giving clear context on the proper sequence. However, it does not explicitly state when to avoid this tool or compare it to other selection tools like chatgpt_select_model, so it misses full exclusion guidance.
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 provided, the description carries the full burden of behavioral disclosure. It adds meaningful context beyond purpose: it describes the internal UI navigation path and states that the tool validates the result, implying it checks for success/failure. This is more transparent than a generic 'select model' statement, though it does not detail side effects or error handling specifics.
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 action ('select the model...'), includes the navigation path, and states the validation step. Every clause earns its place, with no redundant information. It is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema. The description explains the core action and validation, but it does not clarify what the validation returns (e.g., success status, error message) or how failures are surfaced. Given the lack of output schema and annotations, the description leaves some ambiguity about the tool's observable behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single 'model' parameter, including guidance to use the full or unique name from the menu and to call chatgpt_list_models first. The main description adds no additional meaning beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific action: selecting the model for the current conversation, and even provides the UI navigation path ('current tier → advanced → model') and a validation step. This distinguishes it from sibling tools like chatgpt_select_mode or chatgpt_list_models by focusing on model selection with a concrete mechanism.
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 is used when you want to change the model for the current conversation, and the schema parameter suggests calling chatgpt_list_models first. However, the main description does not explicitly state when to use this tool versus alternatives (e.g., select_mode, select_thinking_level) or provide exclusion criteria. Usage context is present but not fully explicit.
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?
With no annotations provided, the description carries the full burden. It discloses that the tool performs a selection and then validates the page result, which is useful. However, it does not mention error handling, return values, or any side effects, leaving gaps in behavioral expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main description is a single, front-loaded sentence that directly states the action and validation. The parameter description is also concise and does not pad with unnecessary detail. Every word 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-parameter tool with no output schema, the description is largely complete: it specifies the action, the parameter format, and a recommended prior call. It does not cover failure scenarios or detailed behavior on invalid input, but this is not critical given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema already covers 100% of the parameter, the parameter description adds significant value: it explains the accepted formats (full displayed name or a numeric string within slider min..max), and recommends listing levels first. This goes beyond the schema's basic string type.
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: 'select the thinking level of the current conversation' and also mentions validating the displayed result. This distinguishes it from sibling tools like chatgpt_list_thinking_levels (which lists) and chatgpt_select_mode (which selects a mode).
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 main description implies usage through its action, and the parameter description explicitly recommends calling chatgpt_list_thinking_levels first ('建议先调用chatgpt_list_thinking_levels'). This provides a clear prerequisite, though it does not explicitly list when-not-to-use or alternative exclusion.
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 burden of behavioral disclosure. It goes beyond the basic action by stating page-state verification ('通过页面状态进行校验') and the potential side effect of opening a new chat ('切换可能会打开一个新对话'). These are useful behavioral insights not available from the schema or annotations, though it could further clarify failure modes or prerequisites.
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 in Chinese. The first sentence states the main purpose, and the second adds a relevant side effect. No wasted words, and the key information is front-loaded. It is appropriately sized for a simple boolean-setting tool.
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 toggle tool, the description covers the essential aspects: the action, scope (new conversations), verification method, and side effect. It does not mention what happens if the mode is already in the desired state or whether any permissions are required, but these are less critical given the tool's simplicity. Overall, it is sufficiently complete for an agent to 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 schema has a single boolean 'enabled' with zero description coverage. The description compensates by explaining the meaning of the parameter: 'enabled' toggles the temporary mode on/off (开启或关闭). While it doesn't explicitly map true/false to on/off, the language strongly implies that true = on and false = off, providing the necessary semantic context for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Turn on or off temporary chat mode for new conversations' (开启或关闭新对话的临时对话模式). This specifies the exact resource (temporary chat mode) and the action (turn on/off), and the addition of 'for new conversations' clarifies scope, distinguishing it from generic mode selectors like chatgpt_select_mode.
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 usage context for toggling temporary mode on new chats and notes that it may open a new conversation. However, it does not explicitly mention when to prefer this over sibling tools such as chatgpt_select_mode or chatgpt_list_modes, nor provide exclusion criteria. The guidance is implicit rather than explicit.
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, the description must cover behavioral disclosure. It mentions the default not expanding the advanced menu, which adds context about the includeSettings parameter. However, it does not explicitly state that the tool is read-only or describe any potential side effects, leaving some uncertainty for an AI agent.
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 that front-load the tool's purpose, then provide usage guidance. Every sentence earns its place, with no redundant filler or excessive detail.
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 is simple (one optional param, no output schema), and the description covers its purpose, usage timing, and default behavior. It does not describe the return format or enumerate possible status values, but for a status check the output is largely inferable, so this is 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?
Schema description coverage is 100% for the single optional parameter, including its default and purpose. The description's mention of '默认不展开高级菜单' essentially duplicates the schema's default false behavior without adding meaningful extra semantics, so the schema already carries the load.
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 checks specific status items: dedicated browser, login, current conversation, mode, and temporary chat status. This distinguishes it from sibling tools that focus on individual aspects (e.g., chatgpt_capabilities, chatgpt_list_modes), though the list is broad and could be more explicit about the 'mode' term.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('仅在诊断或确需状态时调用') and when not to use ('正常发送无需预先调用'), providing clear guidance on when it is unnecessary. This is strong, actionable direction, even though it does not name specific alternative tools.
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 provided, the description carries the transparency burden. It discloses required user authorization, absolute path requirement, and the non-automatic prompt-sending behavior. These are meaningful behavioral traits beyond the schema, though it could say more about error handling or size limits.
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 only three short sentences, each adding essential information: the action, the path constraint, and the key behavioral clarification. No filler or redundancy, and it is front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter upload tool with no output schema and no annotations, the description covers the necessary contextual details: authorization, absolute paths, and the no-auto-send behavior. It is sufficiently complete for this complexity level, though a note on success/error behavior would be a minor addition.
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 already describes the 'files' parameter as absolute paths (100% coverage). The description repeats the absolute path requirement but adds no significant new parameter-level detail. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('upload local files') and the target resource ('current ChatGPT conversation'), and explicitly differentiates from sibling tools by noting it does not automatically send a prompt. This is a specific verb+resource pair with clear scope.
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 sets a clear usage context: only for local files explicitly authorized by the user, and it mentions the requirement of absolute paths. It does not explicitly name alternatives or when-not-to-use, but the 'does not auto-send prompt' clause implicitly advises that prompt sending needs a separate tool, which is helpful.
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?
No annotations are provided, so the description carries the full burden. It clearly discloses the key behavioral trait that the tool writes but does not send, which is critical to prevent misuse. It also mentions the intended context (uploading files or checking drafts), adding useful behavioral context beyond the schema. It does not detail error conditions or prerequisites, but the main side effect and limitation are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the action, the limitation, and the use case. 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 two-parameter tool with no output schema, the description covers the essential aspects: the main behavior (write without sending) and a common use case. It does not describe return values (though none likely exist) or prerequisites like an open browser, but these are implied by the sibling tools (e.g., chatgpt_browser_lifecycle). Given the tool's simplicity, the description is adequately 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%: the 'append' parameter is well-described in the schema, but 'prompt' lacks a description. The description indirectly clarifies that 'prompt' is the text to write ('把提示词准确写入'), but adds little beyond that. Since the tool is simple and the prompt's purpose is self-evident, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool writes the prompt into the ChatGPT input box and explicitly notes that it does not send, distinguishing it from sibling tools like chatgpt_submit_prompt or chatgpt_send_message. The verb 'write' and resource 'ChatGPT web input box' are specific, and the 'but not send' clause prevents ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'suitable for first uploading files or letting users check the draft.' This implies when to use it (preparation stage) without explicitly naming alternatives, but it gives enough context to differentiate from send/submit tools. No exclusions are mentioned, so it scores a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
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
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Related MCP Servers
- AlicenseAqualityBmaintenanceUnofficial MCP server that provides GPT subagent tools using a ChatGPT subscription via OAuth, enabling access to GPT models for orchestrated tasks.42MIT
- 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.17MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Goudu666/chatgpt-web-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server