Symbiote bonds with your AI tools — giving them memory, context, and your coding DNA. An MCP server that provides code intelligence, architectural analysis, and developer DNA tracking for AI-assisted coding.
Symbiote provides 18 tools with consistent naming (verb_noun pattern) and descriptions present for all tools. However, parameter descriptions are sparse or missing for many tools, and output schemas are not documented. Input schemas are visible but lack depth, many parameters lack type constraints (enums, ranges). Error handling guidance is absent. The server targets code analysis (architecture, graph queries, DNA recording) with reasonable scope, but definition quality falls short of production standards due to incomplete parameter documentation and no output schema visibility.
Detect changes in the working directory using git and analyze their impact on the codebase
Find architectural patterns and findings in the codebase by scope, kind, and severity
Get the overall architecture summary including layers, boundaries, violations, communities, and hub nodes
Get project constraints (rules and guidelines) optionally filtered by scope
Get detailed context for a file including its symbols, dependencies, dependents, constraints, and decisions
Get detailed context for a symbol including callers, callees, importers, extenders, and implementors
Get architectural decisions optionally filtered by scope
Get the developer DNA entries (coding patterns, style rules, preferences) with optional filtering by category
Output schemas not documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream field names and risk broken tool chains.
Parameter descriptions incomplete or missing. Many parameters (e.g., 'kinds' in find_patterns, 'type' in query_graph) lack descriptions explaining what values are valid or what the parameter controls.
No enum constraints on string parameters. 'severity' in find_patterns, 'type' in query_graph, and 'category' in get_developer_dna accept free-form strings with no declared valid values, inviting hallucinated inputs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Get a health report analyzing the current state of the codebase and project
Analyze the impact of changes to a target symbol or file, showing blast radius and affected dependencies
Get a comprehensive overview of the project including statistics, constraints, and decisions
Propose a new project constraint (rule or guideline)
Propose a new architectural decision for the project
Query the code graph with various search types (search, dependencies, dependents, hubs)
Execute a graph query using PGQ (Property Graph Query) language to analyze code relationships
Record a new developer DNA instruction (coding pattern, style rule, or preference)
Generate refactoring changes to rename a symbol throughout the codebase
Perform semantic search on the codebase using embeddings, with fallback to text search
No error handling guidance. Tools provide no recovery hints (e.g., 'symbol not found, try semantic_search() to locate it'). Agents cannot self-correct on failures.
No pagination or result limits documented. Tools like query_graph, semantic_search, and get_architecture do not specify max result counts or pagination support, risking context window exhaustion.