How bkelson/-claude-chatgpt-bridge works
This repository implements a Claude–ChatGPT MCP bridge: model clients access tools for shared files, inbox messaging, conversation logging, and bridge status. Claude can connect through MCP over stdio; ChatGPT can use an OAuth-protected HTTP/SSE gateway that forwards requests to the MCP server. A separate file-watching orchestrator coordinates multi-round debates and synthesis. Storage paths are inferred from source references; the shared directory is not present in the supplied tree. The OAuth and runtime descriptions are based on sampled excerpts, so unsampled details are omitted.
Main entry points: index.ts MCP server · oauth-server.ts OAuth HTTP gateway · orchestrator.js Debate orchestrator
Components 18
MCP Bridge
- MCP server
src/index.ts - Stdio transport
src/index.ts - Status tool
src/index.ts
Shared Data
- File tools
src/index.ts - Inbox tools
src/index.ts - Conversation tools
src/index.ts - Shared files
src/index.ts - Model inboxes
src/index.ts - Conversation log
src/index.ts
Remote Access
- OAuth HTTP gateway
src/oauth-server.ts - Token validation
src/oauth-server.ts - OAuth metadata
src/oauth-server.ts - SSE sessions
src/oauth-server.ts
Debate Automation
- Debate orchestrator
orchestrator.js - Debate files
orchestrator.js
Other components
- Claude client
- ChatGPT client
- Auth0
Connections 18
- Claude client → Stdio transport: uses
- Stdio transport → MCP server: connects
- ChatGPT client → OAuth HTTP gateway: sends requests
- OAuth HTTP gateway → Token validation: checks tokens
- Token validation → Auth0: checks claims against
- OAuth HTTP gateway → OAuth metadata: serves
- OAuth HTTP gateway → SSE sessions: opens sessions
- OAuth HTTP gateway → MCP server: forwards MCP requests
- MCP server → File tools: registers
- MCP server → Inbox tools: registers
- MCP server → Conversation tools: registers
- MCP server → Status tool: registers
- File tools → Shared files: reads and writes
- Inbox tools → Model inboxes: reads and writes
- Conversation tools → Conversation log: reads and writes
- Status tool → Shared files: counts
- Status tool → Model inboxes: counts unread
- Debate orchestrator → Debate files: watches and writes