MCP gateway that exposes codebase-memory-mcp stdio server over SSE and Streamable HTTP transports with project-scoped access control
Single tool 'list_projects' has a basic description but lacks critical schema documentation. No input parameters are visible in the source code provided, and no output schema is documented. The tool description ("Lists all indexed projects with filtering applied based on user scope") is 82 characters, adequate length but lacks actionable detail about what fields are returned, pagination behavior, or how filtering works. The code shows sophisticated filtering logic (filterListProjectsResult, stripProjectList) but this complexity is not exposed in the tool definition. No parameter descriptions, no enum constraints, no error recovery guidance. The tool is READ_ONLY (good security posture) but this is not declared via toolAnnotations.
Lists all indexed projects with filtering applied based on user scope
No input schema visible for list_projects. Cannot verify parameter types, constraints, or descriptions.
No output schema documented. LLMs cannot infer what fields list_projects returns (e.g., project names, IDs, sizes, paths, metadata). Filtering logic in code (filterListProjectsResult, stripProjectList) suggests complex output structure, but this is invisible to clients.
Tool description lacks actionable detail. Does not explain pagination (limit, offset, cursor?), filtering mechanism (by project name? owner? status?), or what fields are returned. Baseline: A+ tools average 194 chars; this is 82 chars and underspecified.
No toolAnnotations present. The code shows this is a READ_ONLY operation (no state mutation), but readOnlyHint is not declared. Agents cannot infer safety/idempotency from the tool definition.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2025-06-18+ | v2 |
No error handling guidance. Code catches JSON parse errors and returns a generic 'Yanıt süzülemediği için gizlendi' (response hidden due to filtering failure), but this error message is not documented in the tool schema. LLMs cannot plan recovery.