Standalone Streamable HTTP MCP bridge for local workspaces. Safely expose workspace capabilities with CLI + Web console.
Open Bridge provides 41 tools with generally clear naming (verb_noun pattern) and descriptions. Most tools have input schemas with type definitions and parameter descriptions. However, significant gaps exist: output schemas are not documented in the provided code, error handling guidance is minimal, and several tools lack actionable error messages. Parameter descriptions are present but often generic (e.g., 'Process command ID' without explaining what identifies a process). The batch tool and script execution tools introduce composition risks. File operation tools show good defensive programming (requiredArg validation, protected path checks) but lack explicit confirmation patterns for destructive operations.
Query or clear the activity audit log
Apply a unified diff patch to a file
Execute multiple tool calls in a single request
Get current Bridge server status including workspace, tunnel, and resource information
Close an open shell session
Probe network connectivity to a port or HTTP endpoint
Edit a specific block of text in a file with line-based replacement
Perform file operations: create_directory, copy_file, delete_file, move_file, delete_directory
Output schemas not documented. Tools return results but LLMs cannot plan downstream calls without knowing response structure (e.g., what fields does list_directory return? Is there pagination?). This violates pattern:tool and forces agents to guess.
Destructive tools (file_op, run_command, service, process_control, batch) lack confirmation or dry-run patterns. Agents can delete files, kill processes, or execute arbitrary commands without explicit user approval. No recovery guidance in error responses.
run_script tool allows arbitrary JavaScript execution with access to all advertised tools. This is a privilege escalation vector, a compromised or malicious script can invoke any tool without agent reasoning. No sandboxing or capability restrictions visible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Find files matching glob patterns with optional depth limit
Get authentication status and token information
Get current Bridge configuration values
Get file metadata including size, modification time, and SHA256 hash
Get concurrency lock status and resource contention information
Get current state of a running process
Get current todo items and progress tracking
Get tool usage statistics
Send input to a running process and optionally wait for output
List directory contents with optional recursive depth, filtering, and pagination
List discovered workspace skills and capabilities
Send a notification to the operator via configured notification service
Open an interactive shell session
Control a running process: terminate, pause, resume, or kill
Read file contents with optional byte range and encoding
Read output from a running or completed process
Read service process output log
Report progress on a task or goal
Review pending changes in the workspace (git diff equivalent)
Run a shell command in the workspace with foreground execution and timeout
Run a JavaScript/TypeScript script with access to advertised tools
Save or update a service definition with health check and auto-restart configuration
Search file contents using ripgrep or regex patterns
Send input to an open shell session
Manage saved services: start, stop, restart, or delete
Get status of a saved service including health check results
Set a Bridge configuration value
Set auto-restart policy for a running process
Update todo items and progress tracking
Start a background process with optional ready pattern detection
Wait for a process to complete with optional timeout
Get a brief summary of the workspace structure and key files
Write or append content to a file with atomic persistence
batch tool combines multiple tool calls into one request. If one call fails, the response does not indicate per-call success/failure, agents cannot retry selectively. Violates pattern:response-shaper (return per-item status).
Error handling is minimal. No recovery guidance in descriptions (e.g., 'If file not found, try search_files first'). Error responses likely return raw exceptions rather than actionable messages like 'Invalid status: got X, must be one of Y'.