Exposes Vexi's capabilities to other AI agents (Claude Desktop, Claude Code, Cursor, any MCP client) over stdio. Provides project scanning, code explanation, and project memory resources and tools.
Three tools with minimal parameter descriptions and no output schemas documented. scan_project and project_memory have empty input schemas ({}), violating schema requirements. explain_code has proper Zod schema with enum constraint on language parameter, but descriptions lack actionable detail. No error handling guidance, no recovery paths. Tool names follow verb_noun pattern (scan_, explain_) but descriptions are generic and under 200 chars. Missing parameter-level descriptions for explain_code's 'path' and 'language' fields in the actual tool registration, only visible in Zod definition, not in inputSchema passed to registerTool.
Explain a file or folder in any supported language (en/ar/es/pt/fr). Returns a structured Markdown explanation.
Return the compressed project memory: running summary + key decisions from past sessions.
Scan the current project and return a compact structure summary (languages, stack, architecture layers).
Empty input schemas for scan_project and project_memory (inputSchema: {}). These tools accept no parameters but schema is not formally documented.
No output schemas documented for any tool. Rubric requires 'Document the output schema. LLMs need to know what fields to expect.' scan_project returns projectSummary(map) text; project_memory returns memoryBlock text; explain_code returns markdown. None specify structure, field names, or types.
Tool descriptions lack actionable context. 'Scan the current project and return a compact structure summary' does not explain WHEN to call it vs project_memory, WHAT fields are in the summary, or HOW to use the output. Descriptions should be 50-200 chars with clear intent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
explain_code parameter 'path' has description in Zod schema but NOT in the inputSchema object passed to registerTool(). The Zod descriptions are lost at registration time. LLM sees only the bare parameter name without guidance.
No error handling guidance. explain_code returns isError: true with raw error messages ('No API key configured...') but does not guide the LLM on recovery steps.