High-performance MCP server for code navigation — powered by Go, installed via npm
May-la MCP Server provides three well-scoped, read-only file navigation tools with clear verb-based names and reasonable descriptions. All tools have explicit JSON Schema input definitions with typed parameters and defaults. However, there are notable gaps: (1) output schemas are entirely undocumented, callers cannot see what fields to expect from each tool's response, (2) parameter descriptions lack specificity around constraints and formats (e.g., what glob patterns are supported, what 'tech stack detection' means), (3) error handling is generic with no recovery guidance, (4) no guidance on dependencies between tools or when to call each one. The server lands in the C-to-B range: above median due to proper schemas and clear naming, but held back by missing output documentation and sparse parameter guidance.
Discover files by glob pattern with metadata, grouped by directory.
Project overview in one call: tech stack detection, directory tree, file type counts, and entry points.
Smart file reading with optional structural summary and batch support. Supports line ranges and symbol extraction.
Output schemas are completely undocumented. No definition of what fields each tool returns or their types.
Parameter descriptions lack actionable constraint details. 'Glob pattern' is descriptive but does not specify supported syntax (doublestar? wildcards?), and 'tech stack detection' is vague about what gets detected.
No error handling guidance. The tool definitions and handler code (handlers.go) show generic -32603 errors with no recovery hints. LLMs cannot determine if failures are retryable or what to do next.
'read' tool has a complex interface combining line ranges, symbol extraction, and batch paths, but no guidance on precedence. If user specifies both 'lines' and 'symbol', which wins? Documentation should clarify.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 32 | - | v1 |
No tool-to-tool discovery hints. When should an agent call 'info' before 'find'? What does 'batch reading' in the read tool do exactly? Guidance would improve discoverability.