ChatGPT2LocalBridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOCALBRIDGE_DASHBOARD_TOKEN | No | Token for accessing the local operator console at /app. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| project.snapshotA | Get local project context: git state, language, package manager, and a bounded file tree. Use this before editing a project. |
| code.readB | Read one or more text files from a local project. |
| code.read_rangeA | Read a bounded line range from one text file inside a project. |
| code.searchC | Search local project files with ripgrep-compatible output. |
| file.listA | List files and directories inside a project directory without reading file contents. |
| file.statB | Return metadata for a file or directory inside a project, optionally including sha256 for files. |
| file.writeB | Create or overwrite a text file inside a project. Use code.read first when modifying an existing file. |
| cloud.downloadA | Download a ChatGPT/App-provided HTTPS file URL into an approved local workspace. Use this when a cloud-side file has a download link and should be synced to local disk. |
| file.mkdirC | Create a directory inside a project. |
| file.copyC | Copy a file inside a project. |
| file.moveC | Move or rename a file or directory inside a project. |
| file.patchA | Replace exact text inside a file. Fails unless the old text is found exactly once, unless replaceAll is true. |
| file.deleteC | Delete a file inside a project. |
| shell.execA | Run a shell command in the project directory and return stdout/stderr. Use for tests, builds, and local inspection. |
| test.detectA | Detect likely project test commands without running them. |
| test.runC | Run a detected or explicit test command in a project directory. |
| git.statusA | Return git branch, HEAD, and porcelain status for a project. |
| git.diffB | Return git diff summary and structured diff for the current working tree. |
| git.checkpointA | Return the current HEAD commit. Use this before a risky edit so git.revert can restore the working tree to this commit. |
| git.revertB | Destructive: restore tracked files to a checkpoint and optionally remove untracked files. |
| project.scriptsB | Return scripts from package.json for a Node project. |
| project.indexC | Return a higher-level project index: package scripts, key files, detected tests, and top-level structure. |
| workspace.addC | Register a local project path with a short workspace name. |
| workspace.listA | List registered local workspaces. |
| workspace.resolveA | Resolve a workspace name to its project path. If name is omitted, resolves the default workspace. |
| task.startB | Start a lightweight persisted task/session record for multi-step work. |
| task.noteC | Append a note to a persisted task/session. |
| task.statusB | Read one task or list recent task/session records. |
| task.finishC | Mark a persisted task/session as done or blocked. |
| process.startC | Start a long-running project process and persist its pid/log path. |
| process.listB | List processes started by this bridge runtime. |
| process.stopA | Stop a process previously started by process.start. Requires confirm=true. |
| port.checkA | Check whether a local TCP port is listening and identify the owning process when possible. |
| bridge.statusA | Return local bridge and tunnel launchd service status. |
| bridge.healthB | Check local and optional public bridge health endpoints. |
| bridge.logsA | Read recent bridge and tunnel log lines from the configured log directory. |
| bridge.activityA | Read recent local bridge tool-call records and audit events. Use this to inspect what ChatGPT actually asked the MCP server to do. |
| service.restartA | Restart one fixed launchd service: bridge or ngrok. Requires confirm=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 38 tools
Each tool targets a distinct operation within its domain (bridge, file, git, process, task, workspace, etc.). Even within similar domains like file operations, tools like copy, delete, list, mkdir, move, patch, stat, and write are clearly differentiated. No two tools appear to have overlapping purposes.
All tool names follow a consistent `domain.verb_noun` pattern using lowercase and underscores (e.g., `bridge.activity`, `file.copy`, `git.diff`). This pattern is uniform across all 38 tools, making it easy to predict tool names.
With 38 tools, the server's tool count is significantly higher than the typical well-scoped range (3-15). While each tool serves a distinct purpose, the sheer number may overwhelm agents and suggests the server could benefit from consolidation or modularization.
The tool set covers a wide range of local development workflows including file management, code reading, git operations, process management, task tracking, testing, and workspace management. Minor gaps exist, such as lacking a tool for editing file permissions or handling binary files, but these are non-essential and the core lifecycle is well-covered.