The Nervous System MCP - Code Intelligence Tools for analyzing and understanding codebases through structural parsing (Tree-sitter) and relational database (SQLite)
VibeGraph provides 7 well-structured tools with complete Pydantic input models and clear descriptions. All tools have proper schemas with type definitions, enums, and constraints (e.g., limit 1-500, depth 1-10). Descriptions are concise (20-80 chars) and action-oriented. However, output schemas are not documented, LLMs cannot predict response structure for planning. Error handling is minimal; tools lack recovery guidance. Tool names follow verb_noun convention but are overly prefixed ('vibegraph_*'), reducing clarity. No batch operations or pagination guidance in responses.
Dependencies
Find References
Get File Structure Summary
Impact Analysis
Reindex
Search Signatures
Trace Call Stack
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting) for downstream planning or data extraction. Tools return unstructured or undocumented JSON.
Minimal error handling. Tools lack recovery guidance (e.g., 'File not found. Try reindexing with vibegraph_reindex().'). Errors do not categorize as retryable, user-fixable, or fatal.
Tool names overly prefixed with 'vibegraph_'. Reduces clarity and wastes tokens. Shorter names (e.g., 'get_summary', 'trace_calls') are more LLM-friendly and still unambiguous within the server namespace.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
vibegraph_impact_analysis has minimal description ('Impact Analysis'). Does not explain what 'impact' means (callers? dependents? risk surface?), when to use it, or what it returns.
No pagination or result-limiting guidance in tool descriptions. vibegraph_get_structural_summary accepts limit (1-500) but does not document default behavior or whether results are truncated. Large codebases risk context window exhaustion.