Arachne — Weaves code into optimal AI context via MCP. BM25 + semantic search, 4-layer assembly, any AI provider.
Single tool 'n2_arachne' with comprehensive schema but significant issues. Tool name lacks action verb (should be 'assemble_context' or 'search_codebase'). Description is adequate (127 chars) but generic. Schema is well-structured with Zod types and descriptions for all 14 parameters, but the unified action-dispatch pattern creates ambiguity: LLMs cannot infer which parameters apply to which action without reading implementation. No output schema documented. Error handling returns text responses but lacks recovery guidance or categorization. Parameters like 'action' enum are well-defined, but optional parameters create silent failures (e.g., 'query' required for search but marked optional in schema).
Arachne — Weaves code into optimal AI context. Supports search/indexing/assembly/backup.
Tool name 'n2_arachne' lacks action verb. Should be 'assemble_context', 'search_codebase', or split into separate tools (assemble_context, search_code, index_codebase, backup_index). LLMs cannot infer intent from a noun-only name.
Unified action-dispatch pattern conflates 8 distinct operations (assemble, search, index, status, files, backup, restore, gc) into one tool. Parameters like 'query' are optional but required for 'search' action, schema does not enforce action-specific constraints. LLMs cannot determine which parameters apply to which action without reading code.
No output schema documented. Tool returns ToolResponse with 'content' array and optional 'isError' flag, but LLMs cannot plan downstream calls without knowing field names, types, and structure of search results, assembly output, or status responses.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Error handling returns plain text in 'content[0].text' without recovery guidance. Example: 'Error: query is required for search action' is actionable, but most errors (e.g., 'Unknown action') do not suggest next steps or categorize as retryable/user-fixable/fatal.
Parameter 'query' marked optional in schema but required for 'search' action. Schema does not express action-specific constraints. LLMs may omit 'query' for search, causing silent failure with generic error message.