A local-first executable development workspace for humans and coding agents with MCP server integration for terminal canvas management and agent collaboration.
CleanCode defines 21 tools with explicit schemas and descriptions. Naming is verb-first and clear (create_block, inspect_graph, delete_terminal_block). Descriptions are present but vary in quality, some are detailed (create_terminal_workflow: 'Create one workflow containing at least two dependency-connected terminals...'), others are terse (list_agents, list_agent_providers: empty input objects with minimal context). Parameter descriptions are mostly absent; most tools lack per-parameter documentation. Output schemas are not visible in the provided source. Error handling guidance is not evident. Tool annotations (destructiveHint, readOnlyHint) are declared in AgentToolDefinition but not populated in the tool definitions shown. Composition is reasonable, tools are single-purpose (create vs update vs delete), but chaining dependencies are not documented (e.g., does create_block return a blockId that update_terminal_block accepts?). Security: no secrets in parameters, but audit logging and permission gates are not visible.
Arrange the visual layout of terminal blocks and groups on the cleancode canvas. Use this for edits to existing canvas objects.
Create a dependency connection between two terminal blocks on the cleancode canvas. Use this for edits to existing canvas objects.
Create a new peer agent with CleanCode MCP enabled and send an initial task.
Create one empty visual terminal block on the cleancode canvas. Omit position to place it intelligently near existing canvas content, or provide position to use those exact coordinates. Use create_terminal for one configured terminal, create_terminal_workflow for one dependency workflow, or create_terminal_set for multiple independent execution units.
Create one configured terminal block on the cleancode canvas with execution configuration. Omit position to place it intelligently near existing canvas content.
Create an empty terminal group for visual organization on the cleancode canvas. Include it only when the user explicitly asks for a terminal group, combination, or container. Use this for edits to existing canvas objects.
Parameter descriptions missing. Most tools lack per-parameter documentation. E.g., create_block's 'position' parameter has no description of coordinate system, units, or valid ranges. LLMs cannot infer parameter semantics from names alone.
Output schemas not documented. No visible return type definitions for any tool. Agents cannot plan downstream calls or extract required fields (e.g., does create_block return blockId?). This breaks tool chaining.
Minimal descriptions for discovery tools. list_agents and list_agent_providers have 40-char descriptions with no context on when to call them or what structure they reveal. Agents cannot determine if these are prerequisites for other operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2025-06-18+ | v2 |
Create multiple independent top-level terminals or workflows on the cleancode canvas. Use this for multiple independent execution units that are not dependency-connected.
Create one workflow containing at least two dependency-connected terminals on the cleancode canvas. Use this only when the user explicitly requests a workflow; do not silently downgrade to create_terminal or create_terminal_set.
Delete a terminal block from the cleancode canvas. Deletion requires independent CleanCode UI approval.
Delete a terminal group from the cleancode canvas. Deletion requires independent CleanCode UI approval.
Remove a dependency connection between two terminal blocks on the cleancode canvas. Deletion requires independent CleanCode UI approval.
Inspect the current CleanCode canvas block graph for this branch workspace. Call this before authoring terminal blocks, groups, execution configuration, or dependencies.
Inspect the execution plan for a terminal workflow or scope on the cleancode canvas.
List available agent providers that support CleanCode MCP.
List all agents in the current workspace with their MCP enablement status and message delivery status.
Move an existing terminal workflow into a terminal group for visual organization. Use this only when the user explicitly requests grouping; do not assemble existing membership through create_terminal_group memberBlockIds.
Send a message to another agent in the workspace.
Update properties of an existing terminal block on the cleancode canvas.
Update the execution configuration of an existing terminal block. Use this for edits to existing canvas objects.
Update properties of an existing terminal group on the cleancode canvas.
Wait for a message from another agent in the workspace.
No error handling guidance. Tool descriptions do not explain failure modes, recovery steps, or when to retry. E.g., delete_terminal_block says 'Deletion requires independent CleanCode UI approval' but does not explain what happens if approval is denied or how to check status.
Tool annotations declared but not populated. AgentToolDefinition interface defines destructiveHint, readOnlyHint, openWorldHint, but the tool definitions shown do not populate these fields. Agents cannot determine which tools are safe to retry or which require approval.