mcp-chatgpt
This server lets you connect AI clients to ChatGPT Web (and optionally Gemini/Z.ai/Kimi) through Chrome automation, plus run workspace shell and file-edit tools.
Ask ChatGPT questions with model selection, reasoning effort, web search, file/image attachments, conversation continuation, and code extraction.
Manage ChatGPT sessions: start new chats, list conversations/models, get status, reload, fetch latest response, and log in.
Control Chrome profiles: list detected profiles and select which profile to use for automation.
Run shell commands and apply file patches safely inside a configured project/workspace root.
Optionally switch to Google Gemini, Z.ai (GLM), or Kimi AI providers through the unified
llm_asktool.
Provides tools for interacting with Google Gemini through browser automation, including sending prompts, starting new conversations, and checking connection status.
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., "@mcp-chatgptAsk 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.
🚀 mcp-chatgpt
เซิร์ฟเวอร์ Model Context Protocol (MCP) ประสิทธิภาพสูง สำหรับเชื่อมต่อ AI Client (เช่น Claude Desktop, Cursor, Cline, Antigravity) เข้ากับ ChatGPT Web เป็นเครื่องยนต์หลัก พร้อมรองรับ Google Gemini, Z.ai (GLM-5.2) และ Kimi AI (K3) ผ่าน Chrome Extension Bridge หรือ Playwright Automation โดยตรงจากโปรไฟล์เบราว์เซอร์ในเครื่องของคุณ
🌟 ฟีเจอร์เด่น (Key Features)
🟢 ChatGPT Web First (หลัก): สนทนาต่อเนื่อง, ค้นหาเว็บ (
web_search), วิเคราะห์ไฟล์/รูปภาพ, เลือกโมเดล (GPT-4o, o3-mini) และเลือกระดับการคิด (reasoning_effort: High / Medium / Low)🔌 Chrome Extension Bridge: เชื่อมต่อตรงกับแท็บเบราว์เซอร์ที่เปิดอยู่แบบ Real-time ไม่ต้องล็อกอินซ้ำ และไม่รบกวนการทำงานปกติ
🌐 Multi-Provider Support (เสริม): สลับไปใช้งาน Google Gemini, Z.ai (GLM-5.2 Deep Think) หรือ Kimi AI (K3) ได้ในระบบเดียว
📁 Workspace & Shell Tools: มีเครื่องมือสั่งรันคำสั่ง Shell (
shell_command) และแก้ไขไฟล์ (apply_patch) อย่างปลอดภัยภายในโปรเจกต์👤 Chrome Profile Selector: ตรวจจับและสลับโปรไฟล์ Chrome ที่มีอยู่ในเครื่องอัตโนมัติ
🔒 Local & Remote MCP: รองรับทั้งโหมด Local stdio สำหรับใช้งานในเครื่อง และโหมด Remote Streamable HTTP (พร้อม Bearer Token Auth และ Cloudflare Tunnel)
Related MCP server: agentify-desktop
🛠️ รายการ MCP Tools (Tools Reference)
1. เครื่องมือหลัก ChatGPT & Unified
Tool Name | คำอธิบาย | พารามิเตอร์หลัก |
| ส่งคำถามไปยัง ChatGPT Web |
|
| เริ่มต้นบทสนทนาใหม่บน ChatGPT | - |
| ดึงประวัติรายการบทสนทนาล่าสุด |
|
| ดึงรายชื่อโมเดลที่บัญชีสามารถใช้งานได้ | - |
| ตรวจสอบสถานะการเชื่อมต่อและการล็อกอิน | - |
| สั่งคำถามไปยัง Provider ใดก็ได้ |
|
2. เครื่องมือ Multi-Provider (เสริม)
Provider | Tools | ความสามารถเด่น |
Google Gemini |
| เชื่อมต่อ |
Z.ai |
| เชื่อมต่อ |
Kimi AI |
| เชื่อมต่อ |
3. เครื่องมือ Workspace & Profiles
Tool Name | คำอธิบาย | พารามิเตอร์หลัก |
| รันคำสั่ง Shell ในไดเรกทอรีโปรเจกต์อย่างปลอดภัย |
|
| แก้ไข/เขียนทับเนื้อหาไฟล์ในโปรเจกต์ |
|
| แสดงรายการโปรไฟล์ Chrome ที่พบบนเครื่อง | - |
| เลือกโปรไฟล์ Chrome สำหรับใช้งาน |
|
📦 การติดตั้งและการเตรียมความพร้อม (Installation)
1. ติดตั้ง Dependencies และ Build โปรเจกต์
git clone https://github.com/JonusNattapong/mcp-chatgpt.git
cd mcp-chatgpt
npm install
npm run build2. ติดตั้ง Chrome Extension Bridge (แนะนำ)
เปิด Google Chrome แล้วไปที่
chrome://extensions/เปิดสวิตช์ Developer mode ที่มุมขวาบน
คลิก Load unpacked แล้วเลือกโฟลเดอร์
extensionภายในโปรเจกต์นี้คลิกไอคอนส่วนขยาย MCP Web LLMs Bridge เพื่อเปิดใช้งาน
⚙️ การตั้งค่าใน AI Client (Configuration)
1. Claude Desktop / Cursor / Antigravity IDE (claude_desktop_config.json)
{
"mcpServers": {
"chatgpt-bridge": {
"command": "node",
"args": ["D:/Projects/Github/mcp-chatgpt/dist/index.js"]
}
}
}2. เปิดใช้งานแบบ Remote HTTP Server (พร้อม Bearer Auth)
# รัน HTTP Server พอร์ต 8686
node dist/index.js --http 8686 --auth-token "your-secret-token"
# หรือเชื่อมต่อผ่าน Cloudflare Tunnel
node dist/index.js --http 8686 --tunnel🧪 การทดสอบระบบ (Testing)
# รัน Unit Tests ทั้งหมด
npm test
# รัน Bridge Mode อย่างเดียว
npm run bridge📄 License
MIT License © 2026 JonusNattapong
Available Tools
12 toolsapply_patchA
Safely add, update, delete, or move files inside the configured shell root using an *** Begin Patch / *** End Patch patch. Prefer this over shell redirection for code edits.
| Name | Required | Description | Default |
|---|---|---|---|
| patch | Yes | Patch text containing Add File, Update File, or Delete File operations. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description labels the operation as 'Safely' apply a patch, implying a non-destructive or managed operation, but provides no specifics on what safety means, whether it checks for errors, or what side effects occur. With no annotations provided, the description carries the full burden, and this is insufficient for a file-modifying 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?
Description is two sentences, front-loaded with the primary action and patch format, and the usage guidance is concise. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this tool can modify files (possibly destructive), but has no annotations and output schema, the description is too sparse. It doesn't explain what 'safely' means, how errors are handled, or what happens on malformed patches. It covers the basic purpose but misses important context for a file-editing 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 100%, and the schema describes the patch parameter as containing Add File, Update File, or Delete File operations. The description adds the patch markers and file operations list, but does not add depth on syntax or constraints. 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 the tool applies a patch to add, update, delete, or move files within a specific root. It names the patch format and explicitly contrasts with shell redirection, distinguishing it from sibling tools like shell_command.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Prefer this over shell redirection for code edits', providing direct usage guidance and an alternative to avoid. This distinguishes when to use this tool versus shell_command.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_askB
Send a question or prompt to ChatGPT Web (chatgpt.com) and get the assistant response. Supports Web Search, o1/o3-mini reasoning, model selection, code extraction, image/file attachments, and Chrome profiles.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Target ChatGPT model name (e.g. "gpt-4o", "o3-mini", "o1", "canvas"). | |
| message | Yes | The message, question, or instruction to send to ChatGPT Web. | |
| profile | No | Optional Chrome profile name or ID (e.g. "Default", "Profile 1", or email/name) to send this question through. | |
| new_chat | No | Set to true to start a new chat conversation before asking. | |
| file_paths | No | List of absolute file paths to documents/code files to upload/attach. | |
| timeout_ms | No | Optional timeout in milliseconds to wait for the complete answer. | |
| web_search | No | Enable live Web Search toggle in ChatGPT for up-to-date web information. | |
| image_paths | No | List of absolute file paths to images to upload/attach for multimodal analysis. | |
| refresh_page | No | Set to true to reload/refresh the ChatGPT page before sending this message (useful when stuck). | |
| auto_continue | No | Automatically click "Continue generating" if response is cut off (default: true). | |
| conversation_id | No | Optional conversation ID (e.g. "67b...") or conversation URL (e.g. "https://chatgpt.com/c/...") to continue a specific thread. | |
| reasoning_effort | No | Set reasoning effort for o-series models (low, medium, high). | |
| extract_code_only | No | If true, extracts and returns only the code blocks from the ChatGPT response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior but only lists supported features. It omits critical details like state changes to chat history, authentication/login requirements, potential hang or failure modes, and what exactly 'get the assistant response' returns.
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 ('Send a question...'), enumerates key features efficiently, and contains no filler—every clause adds meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 parameters and no output schema, the description is underspecified. It does not explain return format, error handling, or how to combine features (e.g., web_search + reasoning), and lacks guidance on prerequisites like login or browser state.
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 covers all parameters with descriptions, so baseline is 3. The description adds a high-level summary mapping capabilities to parameters but does not provide deeper semantics or usage nuances beyond what the schema already states.
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 a prompt to ChatGPT Web and returns a response, lists key capabilities (web search, reasoning, models, attachments, profiles), and implicitly distinguishes it from siblings like chatgpt_get_latest_response which only retrieves.
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 this is the primary ask tool by listing its features, but it does not explicitly state when to use it versus alternatives (e.g., chatgpt_new_chat, chatgpt_get_latest_response) or mention any exclusions—leaving context inferred.
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
Fetch and recover the latest assistant response (including text, code blocks, and images) from the current or specified conversation without asking a new question. Useful after recovering from a timeout or reload.
| Name | Required | Description | Default |
|---|---|---|---|
| refresh_first | No | Whether to reload the page before reading the latest response (default: true). | |
| conversation_id | No | Optional conversation ID or URL to fetch the latest answer from. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It mentions that the tool does not ask a new question and returns text, code blocks, and images, but it omits side-effect context like the default page reload implied by refresh_first and possible failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the main purpose front-loaded. It communicates function, content, scope, and use case with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with no output schema, it adequately describes what is returned, when to use it, and conversation scope. It could mention failure conditions or authentication dependencies, but these are not essential for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, so the schema already documents refresh_first and conversation_id well. The description adds 'current or specified conversation' and timeout/reload context, but does not substantially extend parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Fetch and recover') with a clear resource ('latest assistant response') and scope ('current or specified conversation'). It distinguishes from siblings by noting 'without asking a new question', separating it from chatgpt_ask and other conversation 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?
Provides an explicit use case: 'Useful after recovering from a timeout or reload.' It implicitly discourages use for new questions, but does not explicitly name alternatives like chatgpt_ask or chatgpt_reload.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_get_statusA
Get the current status of ChatGPT Web automation (initialized, logged in, active profile, extension bridge status, current conversation URL, title, model).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It enumerates the exact fields returned, which is transparent. However, it does not mention side effects, potential errors, or behavior when automation is not initialized. The explicit list of return fields adds value beyond the empty schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence lists all key status elements. No fluff, no redundancy, and the information is front-loaded. 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 status getter with no parameters and no output schema, the description adequately specifies the return contents. It lacks error-handling or 'not available' cases, but given the simplicity, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema coverage is 100% trivially. Baseline for 0 params is 4. The description adds no parameter details because none exist, which is appropriate. No compensation 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 purpose: to get the current status of ChatGPT Web automation. It lists specific aspects (initialized, logged in, active profile, extension bridge, conversation URL, title, model), making it distinct from sibling tools like chatgpt_ask or chatgpt_new_chat, which perform actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly mention when to use this tool versus alternatives, but its purpose is self-evident as a status-checking tool. No exclusions or alternative tool references are given, though the context implies it's for pre-flight checks or diagnostics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_list_conversationsA
List recent conversation history topics and IDs from the ChatGPT sidebar so you can select and resume any previous chat.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of recent conversations to retrieve (default: 30). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool lists recent conversations and mentions a default limit, which is useful. However, it doesn't disclose details like whether it only shows a fixed number, whether it includes archived chats, or any side effects (though it's clearly a read operation). The description 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 purpose and includes the key detail about the sidebar and resuming chats. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description is complete enough. It explains what the tool does and why you'd use it. It could mention that the output includes IDs, but that's implied by 'topics and IDs.' The sibling context shows this is part of a chat management suite, and the description fits well.
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 'limit' parameter, which is already described as 'Maximum number of recent conversations to retrieve (default: 30).' The description adds the context of 'recent' and 'sidebar' but doesn't add much beyond the schema. Baseline 3 is appropriate since the schema fully documents 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 lists recent conversation history topics and IDs from the ChatGPT sidebar, with the purpose of selecting and resuming previous chats. It distinguishes itself from sibling tools like chatgpt_new_chat and chatgpt_ask by focusing on listing existing 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 usage: use this to get conversation IDs for resuming chats, which is clear context. It doesn't explicitly state when not to use it or name alternatives, but the purpose is specific enough that an agent can infer it's for browsing history before selecting a conversation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_list_modelsA
List all available AI models (e.g. GPT-5.6 Sol, GPT-5.5, o3, gpt-4o, o1) and reasoning effort options for this ChatGPT account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It does not state read-only nature, potential errors, or side effects, though listing implies no mutation. Lacks explicit transparency about operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with useful examples, no unnecessary fluff, and well-structured information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with no parameters and no output schema, the description is sufficiently complete: it states what is listed, for whom, and includes example items. Minor gap: it does not mention output format, but that is often inferred.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is effectively 100%. The description adds no parameter details, but none are needed, matching the baseline for high 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's function: listing all available AI models and reasoning effort options. It is specific and distinguishes this tool from siblings like listing profiles or 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 implicitly suggests use for retrieving model options before selection, but does not explicitly state when to use this tool versus alternatives or note any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_list_profilesA
List all detected Google Chrome profiles available on this machine (including Profile Folder ID, Display Name, Email).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the action (list) and the data returned, but does not clarify that it is read-only, nor does it mention any potential side effects or conditions (e.g., requiring Chrome installed). For a simple listing tool, this is acceptable but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the action and lists the included fields. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool with no output schema, the description covers the essential information: what is listed and what data is returned. It could explicitly mention that it's a read-only operation (since there are no annotations), but the simplicity of the tool makes this 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?
There are zero parameters, and schema description coverage is 100% (trivially). Baseline of 4 applies since no parameters exist, and the description doesn't need to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'all detected Google Chrome profiles', with specific attributes (Profile Folder ID, Display Name, Email). This distinguishes it from sibling tools like chatgpt_select_profile and chatgpt_list_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 usage: to list profiles, but does not explicitly state when to use this over alternatives or provide context like 'run before selecting a profile'. It's adequate but lacks explicit guidance on placement in a workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_loginA
Open ChatGPT Web in a visible (headed) browser window so the user can log in or solve Captcha challenges.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Optional Chrome profile to log into. |
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 transparently notes the browser is visible, indicating user interaction, and mentions the specific actions (login/captcha). It does not mention potential side effects or return values, but these are likely minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences, and directly states the action and purpose. No redundant or ambiguous 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 the tool's simplicity and the lack of annotations/output schema, the description provides enough context: it opens a visible browser for authentication. It does not explain post-login behavior, but that is not essential for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'profile' is described as 'Optional Chrome profile to log into,' which adds meaning beyond the schema type (string). Since schema coverage is 100%, this description is sufficient and clear.
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 open a visible browser window for logging in or solving captchas. It distinguishes this from sibling tools that handle chat, profiles, and queries.
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 (when user needs to log in or solve a captcha), but does not explicitly contrast with alternatives like chatgpt_ask or chatgpt_list_profiles. More explicit guidance would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_new_chatA
Start a clean/new conversation on ChatGPT Web.
| 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 disclosure. It states the action but does not mention side effects on the current conversation, authentication requirements, or whether it resets state irreversibly. The wording 'clean/new' hints at a fresh start, but without annotations, details like rate limits or blocking behavior are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the key information: what it does ('start') and what entity ('a clean/new conversation'). 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 zero-parameter, no-output tool, the description is complete enough to understand its function. It could briefly mention any effect on the existing conversation, but given the simplicity, the provided text is adequate.
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 coverage is 100% vacuously. According to the rubric, a baseline of 4 applies here, and the description adds no parameter information, which is appropriate and sufficient.
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 the specific verb 'Start' with the object 'clean/new conversation' and notes the platform 'ChatGPT Web', clearly distinguishing it from sibling tools like chatgpt_ask. It is precise and immediately understandable.
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 beginning a fresh conversation but does not explicitly state when to use it over alternatives like chatgpt_ask or chatgpt_get_latest_response. It also lacks any mention of preconditions or typical scenarios, placing it at the 'implied usage' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_reloadA
Reload and refresh the current ChatGPT Web page to fix stuck conversations or connection glitches.
| 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 that the tool reloads/refreshes the current page and the intended effect, but it does not mention possible side effects such as losing unsaved input or how the reload is performed. 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, front-loaded sentence that states the action, target, and purpose without any filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is complete: it explains what the tool does and when to use it. No additional information is necessary 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 tool has zero parameters and schema coverage is 100%, so no parameter explanation is needed. The baseline of 4 applies because the description correctly implies this tool takes no arguments.
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 action ('Reload and refresh'), the target resource ('current ChatGPT Web page'), and the intended purpose ('fix stuck conversations or connection glitches'). It is distinct from sibling tools like chatgpt_ask, chatgpt_new_chat, and chatgpt_list_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 states a clear usage context: use when conversations are stuck or there are connection glitches. It does not explicitly mention alternatives or when not to use, but the guidance is sufficient for a simple refresh tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chatgpt_select_profileA
Select which Chrome profile to use for ChatGPT Web automation (by Profile Folder ID, Display Name, or Email).
| Name | Required | Description | Default |
|---|---|---|---|
| profile | Yes | The profile ID (e.g. "Default", "Profile 1"), Display Name, or Email to activate. |
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 does disclose the three accepted profile identification types (Folder ID, Display Name, Email), which is useful matching behavior. However, it omits what 'activate' means for subsequent calls, failure behavior on unknown profiles, or whether selection persists across calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that efficiently communicates purpose and key scoping detail without waste. Everything present 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 low-complexity tool with one fully-documented parameter and no output schema, the description is nearly complete: it defines the action, scope, and accepted value formats. Minor gaps—such as clarifying that profiles can be enumerated with chatgpt_list_profiles or what happens on invalid input—keep it from a 5.
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% (the 'profile' parameter is fully documented with examples). The description's parenthetical largely mirrors the schema rather than adding new meaning, so the baseline of 3 is appropriate—it neither improves nor degrades parameter understanding.
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?
Clear verb (select) + resource (Chrome profile) + domain context (ChatGPT Web automation). The parenthetical explicitly names the three accepted identification modes, which sharpens the tool's role and distinguishes it from siblings like chatgpt_list_profiles (list vs. select).
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 it's used—before automation, to activate a profile—but never explicitly states context such as 'list available profiles first with chatgpt_list_profiles' or 'select one profile before calling chatgpt_ask'. No exclusions or alternative comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shell_commandA
Run a command with a working directory inside the configured shell root. Uses PowerShell on Windows and Bash on Linux/macOS by default. The command has the same OS permissions as this MCP server.
| Name | Required | Description | Default |
|---|---|---|---|
| shell | No | Shell to use (default: auto). | |
| command | Yes | Command to execute. | |
| workdir | No | Working directory relative to the configured shell root (default: root). | |
| timeout_ms | No | Command timeout in milliseconds (default: 30000; bounded by server configuration). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full responsibility. It discloses the command's OS permissions and the shell selection behavior, but does not mention potential side effects (e.g., arbitrary system changes, interactive input, or output/exit code format). The provided info is useful but incomplete for a high-risk shell 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 three sentences, front-loaded with the core action, and contains no fluff. Each sentence adds a new piece of relevant information, making it appropriately 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?
Given the tool's complexity and lack of output schema, the description covers the essential behavioral aspects (execution scope, environment, permissions). It could mention the return structure (stdout/stderr/exit code), but for a generic shell tool, the current level is sufficient. The schema covers all parameters, and the description adds enough context to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by clarifying that workdir is relative to the configured shell root and by stating OS permissions, which enriches the command parameter meaning. It does not repeat schema details but complements them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool runs a command with a working directory inside a configured shell root, and explicitly mentions default shells (PowerShell/Bash) and OS permissions. This uniquely identifies its function and distinguishes it from unrelated siblings like chatgpt_* or apply_patch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context about the execution environment (working directory, default shells, permissions) but does not explicitly state when to use it vs alternatives or when not to. Since no direct alternative exists among siblings, the absence of exclusions is acceptable, but explicit guidance is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
v1.0.0- First observed
apply_patch - First observed
chatgpt_ask - First observed
chatgpt_get_latest_response - First observed
chatgpt_get_status - First observed
chatgpt_list_conversations - First observed
chatgpt_list_models - First observed
chatgpt_list_profiles - First observed
chatgpt_login - First observed
chatgpt_new_chat - First observed
chatgpt_reload - First observed
chatgpt_select_profile - First observed
shell_command
TDQS
Scored across 12 tools
The ChatGPT tools mostly map to distinct lifecycle stages, such as selecting a profile, asking a question, reloading the page, and fetching status. The main potential confusions are shell_command vs apply_patch for file operations and chatgpt_ask vs chatgpt_get_latest_response for retrieving assistant output, though the descriptions provide reasonable separation.
The 10 chatgpt_* tools consistently use a readable, mostly verb-first style with a common prefix. Two tools, shell_command and apply_patch, break away from the chatgpt_ prefix and use different naming conventions, which makes the overall set slightly inconsistent.
With 12 tools, the count is reasonable, and most tools are clearly relevant to ChatGPT Web automation. The shell_command and apply_patch pair broadens the server beyond ChatGPT-specific tasks, feeling slightly like an additional generic toolkit rather than a core part of the same domain.
The core ChatGPT Web workflow is covered well: profile selection, login/status, starting a chat, asking questions, recovering responses, listing conversations, listing models, and reloading. Obvious gaps are conversation management actions such as delete or rename, and there is no explicit tool name for select/resume a previous conversation, though this may be handled through parameters in ask or get_latest_response.
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
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI dialogue using various LLM models via AceDataCloud
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAn MCP Server that enables AI assistants to interact with your local browsers.2,62854MIT

agentify-desktopofficial
AlicenseNot gradedqualityBmaintenanceMCP server that enables AI tools to control local browser sessions for ChatGPT, Claude, and other AI services, supporting querying, navigation, file uploads, and artifact management.43550Mozilla Public 2.0- AlicenseAqualityDmaintenanceA MCP server that gives AI assistants full browser control, enabling navigation, clicking, form filling, and screenshots via any MCP client.8MIT
- AlicenseBqualityFmaintenanceMCP server that drives chatgpt.com via web UI automation using a session token, enabling long-running tasks, deep research, and image generation.9212MIT