A workspace management system for organizing, running, and monitoring multiple repositories with live event streaming, runtime management, and metadata tracking.
Workspace Hub has 13 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-200 chars, mostly adequate), and most have input schemas with type definitions. However, parameter descriptions are sparse or missing entirely, many params lack guidance on format, constraints, or dependencies. Output schemas are undocumented; responses are inferred from code but not formally declared. Error handling is minimal; most tools lack recovery guidance. Tool naming is inconsistent: 'repos/open', 'repos/runtime', 'repos/metadata' use path-like names rather than verb_noun convention, making intent less clear to LLMs. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear read/write distinctions. Composition is reasonable, tools are single-purpose, but chaining is weak: responses don't consistently include IDs needed for follow-up calls.
Server-Sent Events endpoint for subscribing to workspace events in real-time
Returns the health status of the workspace-hub-api service
Generates a cover image for a repo by taking a screenshot of its preview URL and injecting it into the README
Runs the install command for a repo
Writes a manifest file for a repo with project metadata
Saves metadata for a repo including dev command, build command, preview URL, tags, and notes
Resets metadata for a repo to defaults
Opens a repo target (repo folder, terminal, manifest, readme, failure report, preview, or troubleshooting docs)
Tool naming violates verb_noun convention. 'repos/open', 'repos/runtime', 'workspace/summary' use path-like names instead of action verbs (open_repo, start_repo_runtime, get_workspace_summary). LLMs struggle to infer intent from path-style names.
Output schemas are not documented. Code shows responses are JSON objects (e.g., workspace summary, repo metadata), but no formal schema is declared in tool definitions. LLMs cannot plan downstream calls without knowing response structure.
Parameter descriptions are missing or generic. 'relativePath' appears in 8 tools but lacks format guidance (relative to what? allowed characters? max length?). 'target' enum in repos/open lacks descriptions for each enum value.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Manages repo runtime lifecycle (start, stop, restart)
Stops all managed runtimes in the workspace
Searches the workspace for repos matching a query string
Opens a workspace path in the file explorer
Retrieves a comprehensive summary of the workspace including all repos, their status, install snapshots, and runtime snapshots
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are marked READ_ONLY or WRITE in metadata but not in MCP tool definitions. LLMs cannot distinguish safe from destructive operations without explicit hints.
Error handling lacks recovery guidance. Code shows validation errors (e.g., 'Repo not found', 'This repo does not have a manifest yet') but no actionable next steps. Errors should suggest alternatives or recovery paths.