In-process MCP server that provides tools for the orchestrator Claude session to learn about the workspace, install/auth tools, write agent files, and dispatch real runs.
Five tools with clear verb-noun naming and basic descriptions. All tools are read-only with proper annotations. However, descriptions are terse (avg 95 chars, below 194-char baseline), lack WHEN-to-use guidance, and input schemas are minimal or absent. No output schemas documented. Error handling is generic. Tools follow single-responsibility principle but lack the depth expected for production agent orchestration.
List every MCP server installed under the user's tools dir, plus every CLI family that probes as installed on this machine. Returns ids only — call probe_cli_family for version + auth detail.
List every saved agent in the workspace agents dir. Returns id, name, description, trigger kind, and tool refs for each. Use this BEFORE suggesting a new agent — an existing one may already do what the user wants.
List the names of secrets currently stored in the keychain. Values are NEVER returned — use this to check whether an env var the user needs is already populated.
Return the name + working directory of the active workspace. Useful for understanding the user is in before suggesting work.
Search the public MCP registry. Returns up to `limit` candidate servers matching the query. Use this when the user wants a capability that no installed server provides.
Output schemas not documented. Tools return JSON-stringified text but LLMs cannot infer field structure, forcing manual parsing and increasing hallucination risk.
Descriptions lack WHEN-to-use context and prerequisites. 'List every MCP server installed...' tells WHAT but not WHEN an agent should call it or what to do with results.
search_marketplace lacks pagination parameters (limit is present but no offset/cursor). Returning up to 30 results without pagination guidance risks context window exhaustion.
Error responses use generic err() helper returning {error: message} without recovery guidance. LLMs cannot determine if errors are retryable or require user intervention.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
list_secrets returns only names, not whether each secret is populated. Agent cannot determine if auth is ready without calling probe_cli_family separately.