Workspace-confined coding tools exposed as an MCP server.
This server has 13 tools with reasonable naming conventions (mostly verb_noun patterns like get_, read_, list_, search_, exec_, apply_) and descriptions present for all tools. However, schema quality is inconsistent: tools 1-2 and 9-13 have empty input objects or minimal schemas, while tools 3-8 have moderately detailed schemas with types and parameter descriptions. Many parameter descriptions are present but lack specificity about constraints, ranges, and expected formats. Output schemas are undocumented. Error handling is basic (errorReporting=true but no evidence of recovery guidance in descriptions). The server attempts comprehensive functionality but lacks the polish of production-grade tools.
Apply structured line-by-line edits to files.
Apply a unified diff patch to one or more files.
Execute a shell command within the workspace with sandboxing and constraints.
Query the GitHub Actions workflow run status for a coding-tools-mcp sandbox and optionally probe the fixed MCP tunnel endpoint.
Check the execution environment (Landlock availability and warnings).
Get an image file by path with optional resizing.
Get the server name, version, and workspace path.
Tools 1-2 (get_server_info, get_exec_environment) have empty input schemas ({}), making them difficult for LLMs to understand parameter expectations even though they take no parameters. This violates explicit schema documentation patterns.
Output schemas are completely undocumented across all 13 tools. LLMs cannot predict what fields will be returned, preventing proper downstream tool chaining and forcing exploratory calls. This is a critical gap for composition patterns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2025-06-18+ | v2 |
Terminate a running command process.
List files and directories in a workspace path.
Poll the status and output of a running or completed command.
Read a file from the workspace with optional line range specification.
Search for patterns in files within the workspace.
Trigger the GitHub Actions workflow that starts a coding-tools-mcp Docker sandbox and exposes it through Cloudflare Tunnel.
Parameter descriptions lack specificity about constraints and ranges. For example, 'max_bytes' in read_file, 'timeout_ms' in exec_command, and 'max_width'/'max_height' in get_image have no documented min/max values or default behavior. This forces LLMs to guess valid ranges.
Irreversible operations (apply_patch, apply_changes, exec_command, kill_command, start_coding_tools_sandbox) lack explicit dry-run or confirmation patterns in their descriptions. While apply_patch and apply_changes include 'dry_run' parameters, the descriptions don't emphasize that these are destructive operations requiring careful attention.
Tools returning lists (list_files, search_files) have no documented pagination, limits, or total counts. The 'max_entries' and 'max_results' parameters exist but lack description of what happens when results exceed the limit (truncation vs paginated cursor).
Error handling descriptions are absent. Tools like exec_command and apply_patch can fail in multiple ways (timeout, invalid patch, permission denied) but descriptions don't explain what error classes to expect or how to recover. No 'actionable error' guidance for LLM recovery.
Tool annotations (destructiveHint, idempotentHint) are not present in the schema. This means LLMs cannot automatically detect which operations are risky or safe to retry. Tools 6-7 support 'idempotency_key' but the protocol doesn't signal idempotency semantics.
Sandbox control tools (start_coding_tools_sandbox, get_coding_tools_sandbox_status) have complex enums and configuration parameters ('permission_mode', 'tunnel_type') but descriptions lack guidance on which mode to choose for different security postures or use cases.