How hoangcoderr/chatgpt-local-coder works
ChatGPT Local Coder is a self-hosted MCP server that exposes local coding tools to ChatGPT or another MCP client. The main workflow is client request → authenticated HTTP/MCP session → tool dispatch → local filesystem, shell, Git, or configured upstream MCP operation → structured result. Distinct capabilities also include project context and memory, checkpoints/rewind, and a localhost admin surface for configuration. Edges follow README statements and source-index references or excerpts; unsampled implementation details are not inferred.
Main entry points: server-factory.ts Tool server factory · mcp-upstream-manager.ts Upstream manager · index.ts HTTP entrypoint · mcp-session-manager.ts MCP sessions
Components 24
MCP access
- HTTP entrypoint
src/index.ts - MCP sessions
src/lib/mcp-session-manager.ts - Tool server factory
src/server-factory.ts
Local coding tools
- Filesystem tools
src/tools/filesystem.ts - Shell tools
src/tools/shell.ts - Git tools
src/tools/git.ts - Checkpoint rewind
src/tools/rewind.ts - Node REPL
src/tools/node-repl.ts
Project context
- Context tools
src/tools/context.ts - Instruction context
src/lib/instruction-context.ts - Project memory
src/lib/project-memory.ts - Project skills
src/lib/skills-loader.ts
MCP integrations
- Upstream manager
src/lib/mcp-upstream-manager.ts - Upstream configuration
src/lib/mcp-upstream-config.ts - Upstream OAuth
src/lib/mcp-oauth-provider.ts - Tool proxy
src/lib/mcp-tool-proxy.ts - MCP bridge tools
src/tools/mcp-bridge.ts
Administration
- Admin server
src/admin/server.ts - Admin routes
src/admin/routes.ts - Activity and audit
src/lib/audit.ts - Activity log
src/lib/activity-log.ts
Other components
- ChatGPT / MCP client
- Local machine
- MCP services
Connections 36
- ChatGPT / MCP client → HTTP entrypoint: sends MCP requests
README.md - HTTP entrypoint → MCP sessions: handles sessions
src/index.ts - HTTP entrypoint → Admin server: starts admin
src/index.ts - HTTP entrypoint → Instruction context: builds context
src/index.ts - MCP sessions → Tool server factory: creates server
src/lib/mcp-session-manager.ts - MCP sessions → Upstream manager: refreshes tools
src/lib/mcp-session-manager.ts - MCP sessions → Tool proxy: refreshes proxies
src/lib/mcp-session-manager.ts - Tool server factory → Filesystem tools: registers tools
src/server-factory.ts - Tool server factory → Shell tools: registers tools
src/server-factory.ts - Tool server factory → Git tools: registers tools
src/server-factory.ts - Tool server factory → Context tools: registers tools
src/server-factory.ts - Tool server factory → Checkpoint rewind: registers tools
src/server-factory.ts - Tool server factory → Node REPL: registers tool
src/server-factory.ts - Tool server factory → MCP bridge tools: registers tools
src/server-factory.ts - Tool server factory → Upstream manager: registers server
src/server-factory.ts - Tool server factory → Instruction context: builds instructions
src/server-factory.ts - Filesystem tools → Local machine: reads and edits files
README.md - Shell tools → Local machine: runs commands
README.md - Git tools → Local machine: manages Git
README.md - Filesystem tools → Activity and audit: records actions
src/tools/filesystem.ts - Filesystem tools → Checkpoint rewind: creates checkpoints
src/tools/filesystem.ts - Checkpoint rewind → Activity and audit: records actions
src/tools/rewind.ts - Context tools → Project skills: loads skills
src/tools/context.ts - Instruction context → Project memory: loads project memory
src/lib/instruction-context.ts - Instruction context → Project skills: loads skills
src/lib/instruction-context.ts - Context tools → Upstream manager: reads statuses
src/tools/context.ts - Upstream manager → Upstream configuration: loads configuration
src/lib/mcp-upstream-manager.ts - Upstream manager → Upstream OAuth: creates provider
src/lib/mcp-upstream-manager.ts - Upstream manager → Tool proxy: refreshes proxies
src/lib/mcp-upstream-manager.ts - MCP bridge tools → Upstream manager: uses manager
src/tools/mcp-bridge.ts - Upstream manager → MCP services: connects to servers
- Admin server → Admin routes: mounts routes
src/admin/server.ts - Admin server → Upstream manager: uses manager
src/admin/server.ts - Admin routes → Upstream manager: configures upstreams
src/admin/routes.ts - Admin routes → Activity and audit: reads activity
src/admin/routes.ts - Activity and audit → Activity log: appends events
src/lib/audit.ts