Workspace-scoped local MCP execution gateway for AI web interfaces with policy, recovery, and audit controls.
42 tools with visible schemas and descriptions, but significant quality gaps. Most tools have basic descriptions (50-150 chars) and parameter schemas, but lack LLM-optimized guidance, error recovery hints, and output schema documentation. Naming is generally verb-noun compliant (browser_connect, skill_write, desktop_click), but many descriptions are generic and fail to explain WHEN to use the tool or what happens on failure. Parameter descriptions exist but often lack constraints (enums, ranges, formats). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) detected. Error handling is absent, no recovery guidance, no actionable error messages. Output schemas are not documented in tool definitions.
Returns the current session status, workspace information, capabilities, and execution configuration.
Cancels a pending approval request.
Checks the status of an approval request.
Waits for an approval request to be resolved.
Performs multiple browser actions in sequence.
Connects to a browser instance via CDP or extension transport.
Disconnects from the current browser instance.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. LLMs cannot infer which tools are safe to retry, which modify state, or which are read-only without explicit hints.
Output schemas not documented in tool definitions. LLMs cannot plan downstream tool calls or extract required fields (e.g., what fields does browser_snapshot return? What structure does desktop_describe provide?).
No error recovery guidance. Tools lack descriptions of failure modes and what the LLM should do next (e.g., 'If workspace not found, call workspace_list() first').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Retrieves browser console logs.
Navigates the browser to a specified URL.
Reads content from the current browser page.
Captures a screenshot of the current browser page in accessibility tree or visual mode.
Returns the current browser connection status, tabs, and pairing information.
Lists open browser tabs or performs tab operations like opening a new tab.
Executes a command with specified executable, arguments, and optional execution mode.
Runs multiple commands in parallel or sequential mode with configurable concurrency.
Lists available applications on the desktop based on configured policy.
Captures a screenshot of a desktop window.
Clicks at a specified position on the desktop.
Connects to the desktop control system.
Describes the accessibility tree of a desktop window.
Disconnects from the desktop control system.
Invokes an action on a desktop element.
Presses a key on the desktop.
Releases a held window reference.
Scrolls on the desktop.
Selects an option in a desktop element.
Sets the value of a desktop element.
Returns the current desktop connection status.
Toggles a desktop element.
Types text on the desktop.
Lists all open windows on the desktop.
Reads multiple files in parallel with configurable concurrency.
Writes multiple files in parallel with support for create, replace, and patch operations.
Reads the instructions content from the skills system.
Writes instructions content to either workspace or user scope.
Executes a shell script with optional execution mode (sandbox or host) and network destinations.
Reads the content of a skill file from either workspace or user scope.
Writes content to a skill file in either workspace or user scope.
Lists available skills with optional filtering by query string and pagination support.
Returns information about the current workspace or multiple workspaces if multiple leases exist.
Lists all available workspaces and their grant status for the current session.
Selects a workspace for the current session.
Parameter constraints missing. Many parameters lack enums, ranges, or format specifications (e.g., 'mode' in browser_snapshot should enumerate 'a11y'|'visual'; 'executionMode' should enumerate 'sandbox'|'host').
Irreversible operations (shell_run, command_run, command_run_many, file_write_many) lack confirmation or dry-run support. Agents can execute destructive commands without safeguards.