Skip to main content
Glama

ProBridge

CI Version Node.js License

ProBridge cover

Open-Source-lokale MCP-Brücke für ChatGPT Desktop Quick Chat + GPT-5.6 Pro.

Coding-Agenten in Codex, OpenCode, Claude oder ähnlichen MCP-Hosts rufen ProBridge auf. ProBridge stellt den Auftrag in die Warteschlange, öffnet einen verifizierten ChatGPT Quick Chat und sendet die Eingabeaufforderung. In dieser ChatGPT-Sitzung ist LocalAnt / DevSpace der Konnektor, der deinen lokalen Mac und den aktiven Arbeitsbereich erreicht.

Das ChatGPT-Pro-Kontingent wird genutzt. Das Codex-Modellkontingent wird nicht genutzt. Es gibt keinen Modell-API-Schlüssel.

Aktuelles Ziel: macOS. Windows und Linux werden noch nicht unterstützt. Beiträge, die einen echten Treiber für diese Plattformen hinzufügen, sind willkommen.

Wie es zusammenpasst

Codex / OpenCode / Claude
        |
        | MCP tool call
        v
     ProBridge
   prompt · queue · status · follow-up
        |
        | drives ChatGPT desktop Quick Chat
        v
 ChatGPT Quick Chat  (GPT-5.6 Pro)
        |
        | LocalAnt / DevSpace inside ChatGPT
        v
 authenticated device tunnel
        |
        v
 local Mac / active workspace

Der aufrufende Agent benötigt nur drei Werkzeuge:

gpt56_pro_start({ prompt })
gpt56_pro_status({ jobId })
gpt56_pro_followup({ jobId, prompt })

start gibt sofort eine jobId zurück. Frage status ab. Verwende follow-up erst, nachdem diese Quick-Chat-Runde abgeschlossen ist.

Related MCP server: mcacp

Was dieses Repository hinzufügt

LocalAnt / DevSpace gibt ChatGPT Zugriff auf deinen Mac. ProBridge ersetzt diesen Konnektor nicht und kann ihn nicht für dich installieren.

ProBridge gibt deinem Coding-Agenten eine Brücke in ChatGPT Pro. Ein MCP-Host sendet ProBridge eine Eingabeaufforderung; ProBridge stellt sie in die Warteschlange, steuert Quick Chat und gibt den Auftragsstatus über MCP zurück. Deshalb ist dieses Repository sinnvoll, wenn du bereits möchtest, dass ChatGPT Pro lokale Arbeit ausführt, aber Codex, OpenCode, Claude oder einen anderen Agenten als Sub-Agenten nutzen möchtest.

Voraussetzungen

  • macOS

  • Node 20+

  • Xcode-Kommandozeilen-Tools (swiftc)

  • ChatGPT Desktop, angemeldet mit Pro

  • LocalAnt / DevSpace, verbunden in ChatGPT

  • Bedienungshilfen-Berechtigung für die kompilierte bin/ax-driver

LocalAnt / DevSpace ist das, was ChatGPT Pro Zugriff auf die Maschine gibt. ProBridge ist das, was anderen Agenten ermöglicht, Arbeiten an diese ChatGPT-Sitzung zu senden.

Einrichtung – zwei erforderliche Teile

1. Zuerst den lokalen ChatGPT-Konnektor einrichten

ProBridge benötigt, dass ChatGPT bereits einen Konnektor hat, der deinen lokalen Mac erreichen kann. Wähle einen Konnektor und schließe dessen vorgelagerte Einrichtung ab, bevor du ProBridge installierst:

  • LocalAnt (der getestete Pfad): folge LocalAnts Einrichtungsanleitung. Der Ablauf ist:

    npx -y localant setup
    localant tools profile coding

    localant setup gibt deinen MCP-Endpunkt aus. Gehe in ChatGPT Desktop zu Apps & Connectors, aktiviere den Entwicklermodus, wähle Connectors, füge diesen MCP-Endpunkt ein, wähle Authentifizierung: Keine und benenne den Konnektor LocalAnt. Behalte die Sicherheitseinstellungen von LocalAnt bei, die für deinen Rechner angemessen sind.

  • DevSpace: Folge Waishnav/devspace und verbinde seine lokale Umgebung gemäß den Anweisungen des Projekts mit ChatGPT.

Öffne einen ChatGPT Quick Chat und prüfe, ob der ausgewählte Konnektor eine harmlose lokale Projektdatei lesen kann, bevor du fortfährst. Dies ist eine separate ChatGPT-seitige Einrichtung; allein die Installation von ProBridge gibt ChatGPT keinen Zugriff auf deinen Mac.

2. ProBridge auf dem Mac installieren

git clone https://github.com/HAMZADEMIR33412005/probridge.git
cd probridge
node scripts/build-ax.mjs
node scripts/install.mjs
node scripts/doctor.mjs

install.mjs erstellt bei Bedarf ~/.codex/config.toml, trägt den MCP-Eintrag für ProBridge ein und erstellt eine zeitgestempelte Sicherung, wenn sich die Konfiguration ändert. Erteile dann, falls macOS dazu auffordert, die Bedienungshilfe-Berechtigung für bin/ax-driver, halte ChatGPT Desktop geöffnet und starte einen neuen Codex-Chat.

Es setzt kein aktuelles Verzeichnis voraus; Codex sollte den Server aus dem Projektverzeichnis starten, das du bereits geöffnet hast.

MCP für Codex

Automatisch:

node scripts/install.mjs

Manuell: Kopiere examples/codex.config.toml in ~/.codex/config.toml und ersetze den absoluten Serverpfad.

Der registrierte Servername ist probridge. Nach jedem Update starte einen neuen Codex-Chat, damit der MCP-Server und das Daemon-Protokoll neu geladen werden.

MCP für Claude Code / OpenCode / andere

Richte einen stdio-MCP-Server mit diesem Befehl ein:

{
  "mcpServers": {
    "probridge": {
      "command": "/Applications/ChatGPT.app/Contents/Resources/cua_node/bin/node",
      "args": ["/ABS/PATH/TO/probridge/src/server.mjs"]
    }
  }
}

Siehe examples/claude-code.mcp.json und examples/opencode.json. Falls das gebündelte Node.js von ChatGPT nicht funktioniert, funktioniert jede Node-20+-Binärdatei.

Der MCP-Host muss den Server im Projekt-Workspace starten oder genau eine file://-Root angeben.

Verwendung

gpt56_pro_start({
  prompt: "Inspect the failing tests, fix the root cause, run focused tests, and report changed files."
})

Status über MCP:

gpt56_pro_status({ jobId: "pro_..." })

Folgefragen auf derselben Quick-Chat-Unterhaltung:

gpt56_pro_followup({
  jobId: "pro_...",
  prompt: "Now implement the review findings."
})

Wie es funktioniert

ProBridge führt einen Daemon aus, der die Warteschlange und den Sperrmechanismus verwaltet. Der MCP-Server nimmt start-Aufrufe von deinem Agenten an, erstellt eine Job-Datei und sendet den Prompt an den Daemon. Der Daemon öffnet einen neuen Quick Chat auf deinem Mac, fügt den Prompt ein und sendet ihn über die Tastatursteuerung. Danach liest er die Antwort der ChatGPT-Benutzeroberfläche und schreibt sie über LocalAnt / DevSpace in die Job-Datei im Workspace.

Der aufrufende Agent benötigt nur drei Werkzeuge:

npm test
npm run build:ax
node scripts/doctor.mjs

Sicherheit

ProBridge steuert die ChatGPT-App, bei der du bereits angemeldet bist. ChatGPT verwendet LocalAnt / DevSpace für den Zugriff auf den Workspace. Diese Einrichtung ist eine lokale Ausführung mit Benutzerrechten und keine Sandbox.

Laufzeitdateien unter ~/.chatgpt-pro-subagent sind privat (0700). Auftragsdateien im Workspace werden nach Möglichkeit von Git ausgeschlossen. Breite persönliche Ordner werden abgelehnt.

Lizenz

MIT

Available Tools

3 tools
gpt56_pro_followupA

Queue a follow-up in the verified same Quick Chat thread. The target must be the latest completed round and must have a captured chat title. Returns a child jobId; poll gpt56_pro_status.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesLatest completed job id in the Quick Chat thread.
promptYesThe follow-up task to send into that verified conversation.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden and it discloses key behavior: the operation is queued (non-blocking), returns a child jobId, and requires verification. It also tells the agent the next step (poll status). It stops short of describing error/failure behavior, but the core behavioral contract is transparent.

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

Conciseness5/5

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

Two sentences, front-loaded with the action and target, with the second sentence covering the return and polling behavior. No filler or repetition.

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

Completeness4/5

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

For a two-parameter tool with no output schema, the description supplies the preconditions, the return value, and the follow-up polling action. It is slightly thin on failure/error conditions, but complete enough for an agent to invoke and process the result.

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

Parameters3/5

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

Schema coverage is 100%, so both jobId and prompt are already documented. The description restates the recency constraint for jobId ('latest completed round') and frames prompt as a follow-up task, reinforcing but not adding meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

States a precise action (queue a follow-up) and a specific resource (verified Quick Chat thread), clearly differentiated from siblings by emphasizing the same thread and returning a child jobId. It also names the polling sibling, so an agent can distinguish from gpt56_pro_start and gpt56_pro_status.

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 explicit preconditions: the target must be the latest completed round and must have a captured chat title, and directs the agent to poll gpt56_pro_status. It does not explicitly name gpt56_pro_start as the alternative for new threads, but the phrase 'follow-up in the verified same Quick Chat thread' strongly implies it.

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

gpt56_pro_startA

Queue one verified GPT-5.6 Sol / Effort Pro Quick Chat sub-agent job for this MCP workspace. Returns immediately with a jobId. The local daemon serializes full job execution, verifies the UI send, and keeps authoritative lifecycle state outside the workspace. Poll gpt56_pro_status.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe complete task for the LocalAnt / DevSpace-capable GPT-5.6 Pro sub-agent.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and discloses key behavior: immediate return with jobId, daemon serialization, UI verification, and external lifecycle state. It does not mention failure modes or idempotency, but the async nature and polling requirement are clearly conveyed.

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

Conciseness5/5

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

Three sentences each serve a distinct purpose: stating the action, describing the return behavior, and explaining daemon internals and next step. The key information is front-loaded, and there is no filler or repetition.

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

Completeness4/5

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

For a one-parameter async queue tool with no output schema, the description covers what to send, what is returned (jobId), and what to do next (poll status). It does not explicitly say how to use the jobId with siblings, but that is a minor inferable gap.

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

Parameters3/5

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

The schema already documents the single 'prompt' parameter with a full description (100% coverage), so the baseline is 3. The tool description adds no new parameter-specific detail beyond the schema's own description, merely restating that the prompt is the task.

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 'Queue' and a specific resource 'GPT-5.6 sub-agent job', making the tool's role clear. The phrase 'for this MCP workspace' scopes it further, and the sibling tools (status, followup) are implied to have different purposes. The description distinguishes this as the start action.

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

Usage Guidelines3/5

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

Provides clear context that this queues a job and returns immediately, and instructs to poll gpt56_pro_status afterward. However, it does not explicitly compare to the followup sibling or state when not to use this tool, so usage is more implied than fully specified.

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

gpt56_pro_statusA

Read authoritative daemon state and the latest validated cooperative control-file report for a job in this MCP workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesJob id returned by gpt56_pro_start or gpt56_pro_followup.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It signals this is a read operation (non-mutating, safe to call). However, terms like 'authoritative daemon state' and 'cooperative control-file report' are unexplained jargon that obscure the actual behavior and return semantics. The description gives hints (read-only, latest/validated data) but doesn't disclose what an agent will actually receive or whether repeated calls are safe.

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

Conciseness4/5

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

A single sentence with no filler words, front-loading the key verb 'Read' and specifying the resource. The structure is efficient — a busy agent can extract the action quickly. Points are deducted only because the dense, jargony phrasing ('authoritative daemon state', 'validated cooperative control-file report') achieves brevity at the expense of immediate clarity.

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

Completeness3/5

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

For a status-checking tool with no output schema and no annotations, the description carries significant responsibility, and it's mostly adequate: it conveys read-only semantics and a job-scoped scope. However, it doesn't clarify what an agent will do with the output (e.g., does it return a job state like pending/running/completed?) or how 'daemon state' differs from the 'control-file report.' The existence of siblings suggests a workflow (start → status → followup), but the description doesn't articulate where the boundaries lie.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3 with no additional parameter info needed. The description's phrase 'for a job in this MCP workspace' loosely references the job context, but the schema already documents that jobId comes from gpt56_pro_start or gpt56_pro_followup. The description adds no meaning beyond what the schema provides, which is acceptable given full coverage.

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?

The description uses a specific verb ('Read') and identifies a concrete resource ('authoritative daemon state and the latest validated cooperative control-file report') scoped to a job in the MCP workspace. It clearly distinguishes from siblings: start and followup are different operations, so an agent would not confuse this with them. The phrase 'in this MCP workspace' adds a scoping qualifier that reduces over-flagging as a general system status tool.

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

Usage Guidelines3/5

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

The description implies usage context: check status of a job in the MCP workspace, presumably after gpt56_pro_start or gpt56_pro_followup. However, there's no explicit guidance on when to prefer this tool over siblings, when polling is appropriate, or what conditions would call for gpt56_pro_followup instead. The context is implied by the workflow rather than stated.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.2.0
    • First observedgpt56_pro_followup
    • First observedgpt56_pro_start
    • First observedgpt56_pro_status

TDQS

A4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool corresponds to one distinct lifecycle action: starting an initial job, polling its status, and queueing a follow-up to a completed thread. There is no meaningful overlap, even though start and followup both create work.

Naming Consistency4/5

All tools share a clear gpt56_pro_ prefix and consistent lowercase snake_case formatting. Minor deviation: start and followup are verbs while status is a noun, but the action each tool performs is still highly predictable.

Tool Count5/5

Three tools is well-scoped for the server's apparent purpose: launch a job, check status, and continue the conversation. Each tool earns its place, and no unnecessary tools inflate the surface.

Completeness4/5

The primary start-status-followup workflow is fully covered and workable. The main gaps are optional lifecycle conveniences like canceling a queued/running job or listing all active jobs, but agents can work around these.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers