Skip to main content
Glama

Connect Chatgpt

connect_chatgpt
Destructive

Connects this Mac to ChatGPT: creates (or repairs) the LMCP connector inside the user's ChatGPT account so ChatGPT can use this Mac's tools. Runs on this Mac only. If they aren't signed in, a ChatGPT window opens for them to sign in themselves — you never handle their password, and no credential is ever passed as an argument. Requires Developer mode, which this turns on when it can. Pass recreate:true to delete the existing connector and build a fresh one (token rotation). Returns run_id plus one entry per stage; a stage with status needs_user is waiting for the person, not broken.

Input Schema

NameRequiredDescriptionDefault
confirmNoIgnored; kept for older clients.
recreateNoDelete the existing LMCP connector and create it again (use when its token has to rotate). Default false: an existing, connected connector is left alone.
wait_secondsNoHow long to wait for the run before answering with what happened so far (default 300, max 900). The run continues either way; look it up later by run_id.

Output Schema

NameRequiredDescriptionDefault
okYesTrue only when the run ended with the connector in place (outcome 'success').
run_idYesIdentifier of this run, the same one the telemetry groups its stages by.
stagesNoOne entry per stage, in the order they happened.
messageNoWhat the user should read or do next, taken from the last stage that has something to say.
outcomeYessuccess | needs_login | blocked | error | unverified. 'unverified' means the flow ran and nothing was observed to fail — not that it failed.
finishedYesFalse when the wait ran out before the run ended; the stages listed are the ones that had happened by then, and the run kept going.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true to run. Without it the call returns a preview and opens nothing."New value: +"Ignored; kept for older clients."
  2. Added
  3. Removed
  4. Added
  5. Removed
  6. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and openWorldHint=true, but the description adds the substantive detail those hints cannot: recreate deletes the existing connector, an interactive ChatGPT window may open for sign-in, credentials are never handled or passed as an argument, Developer mode is enabled when possible, and the run returns run_id plus per-stage statuses. This is exactly the context that keeps an agent from misinterpreting a paused run as a failure.

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

Conciseness4/5

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

Front-loaded with the core action, then constraints, then the destructive flag, then the return shape — a sensible ordering. Nearly every sentence carries distinct operational value; it is dense but not padded, though the sign-in explanation runs slightly long for a tool with only three optional parameters.

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

Completeness5/5

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

For a mutation tool with destructive and open-world hints, it covers the prerequisites (Developer mode), the auth handoff (user signs in themselves), the recovery path (recreate for token rotation), and the polling contract (run_id, wait_seconds, needs_user). An output schema exists, yet the brief return summary is still helpful and nothing an agent needs to call this correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3; the description still adds meaning by explaining recreate as a destructive delete-and-rebuild for token rotation and by framing needs_user stages in the run output. That said, wait_seconds behavior is left entirely to the schema, so it is not a full superset of parameter guidance.

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

Purpose5/5

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

States a specific verb and resource ("Connects this Mac to ChatGPT: creates (or repairs) the LMCP connector inside the user's ChatGPT account") and explains the resulting capability (ChatGPT can use this Mac's tools). That separates it cleanly from siblings like connect_m365_account, connect_servicenow, or lmcp_install_upgrade, which are per-service connectors rather than the ChatGPT-side connector.

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

Usage Guidelines4/5

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

Gives clear conditions: run "on this Mac only", pass recreate:true for token rotation, and treat a stage with status needs_user as waiting-for-the-person rather than broken. It stops short of naming an explicit alternative (e.g. disconnect/reconnect paths or lmcp_doctor when setup is already broken), so it is strong context without full when/when-not routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources