Use ChatGPT Web like a local coding agent through a guarded OAuth MCP bridge.
mcp-local-editor provides 7 tools with complete input schemas and descriptions. Naming follows verb_noun convention (workspace_list, file_read, file_edit, etc.). Descriptions are present and substantive (avg ~120 chars), explaining WHAT each tool does and WHEN to use it. However, parameter descriptions lack actionable constraints (e.g., max_results accepts 1-200 but description doesn't state this; query max 2000 chars is mentioned but not enforced via schema). Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance or categorization. Session-based architecture is sound but introduces coupling risk if session_id is invalid. Overall: solid foundation with gaps in constraint documentation and output specification.
Run one operator-configured command id inside the session workspace.
Apply unambiguous exact-text replacements using the SHA-256 returned by readFile.
Read an existing UTF-8 file and return its current SHA-256 for a later edit.
Return Git status and staged and unstaged diffs without changing Git state.
Search text inside the repository bound to a workspace session.
List registered local workspaces
Output schemas not documented. LLMs cannot predict response structure for any tool. file_read returns SHA-256 but this is not documented in schema; file_edit success/failure response format unknown.
Parameter constraints not enforced in schema. repo_search.max_results (1-200) and query (max 2000 chars) are mentioned in descriptions but not in JSON Schema minItems/maxLength. file_read.start_line and end_line lack min/max bounds.
Error handling lacks recovery guidance. No tool description explains what to do if session_id is invalid, file not found, or command fails. Agents cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Open a short-lived read or write session for one registered workspace id.
command_run description is vague. 'Run one operator-configured command id' does not explain what commands are available, what argv format is expected, or what output format to expect. LLMs cannot determine when to use this vs other tools.
file_edit requires exact-text matching with SHA-256 validation but does not document failure modes. What happens if old_text appears multiple times? If SHA-256 mismatch? Descriptions should guide LLM behavior.