codetree
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| root | Yes | The root directory of the project to analyze. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_file_skeletonB | Get all classes and function signatures in a source file without their bodies. |
| get_symbolB | Get the full source code of a specific function or class by name. |
| find_referencesB | Find all usages of a symbol across the entire repo. |
| get_call_graphB | Get what a function calls and what calls it across the repo. |
| get_importsB | Get import/use statements from a source file. |
| get_skeletonsA | Get skeletons for multiple files in one call. |
| get_symbolsB | Get the full source code of multiple symbols in one call. |
| get_complexityA | Get cyclomatic complexity of a function. |
| find_dead_codeA | Find symbols that are defined but never referenced elsewhere in the repo. |
| get_blast_radiusA | Find all functions transitively affected if a symbol is changed. Shows direct and indirect callers (what breaks) and dependencies (what it relies on). |
| detect_clonesA | Find duplicate or near-duplicate functions in the repo. Detects Type 1 (exact copies) and Type 2 (copies with renamed variables). |
| search_symbolsB | Search for symbols across the repo with flexible filters. All parameters optional — combine for powerful filtering. |
| find_testsA | Find test functions associated with a symbol. Searches by naming convention (test_), direct reference, and file convention (test_). Results ranked by confidence. |
| index_statusA | Report on graph index freshness and stats. |
| get_repository_mapA | Get a compact overview of the repository for onboarding. Returns languages, entry points, hotspots, recommended start_here symbols, and stats — everything an agent needs to orient in an unfamiliar repo. |
| resolve_symbolA | Disambiguate a short symbol name into ranked qualified matches. Resolves ambiguous names like 'add' to specific qualified symbols ranked by relevance (path match, non-test preference, centrality). |
| search_graphC | Search the code graph with flexible filters and pagination. |
| get_change_impactA | Analyze impact of a change — by explicit symbol or git diff. Shows direct/transitive callers with risk classification and affected tests. |
| analyze_dataflowB | Analyze variable dataflow and security taint paths in a function. |
| find_hot_pathsA | Find high-leverage optimization targets by combining complexity and call frequency. Returns functions ranked by hot_score = complexity * inbound_call_count. Functions with high scores are called often AND complex — prime optimization targets. |
| get_dependency_graphA | Get the file dependency graph as Mermaid syntax or a list. Shows which files import which other files, useful for understanding module structure and identifying circular dependencies. |
| git_historyC | Analyze git history: blame, churn, or change coupling. |
| suggest_docsA | Find undocumented functions and assemble context for writing docs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Each tool has a clearly distinct purpose, with no overlapping or ambiguous functionality. Tools like `get_symbol` and `get_symbols` are differentiated by scope, and `search_graph` vs `search_symbols` target different aspects of the codebase.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., `analyze_dataflow`, `find_references`, `get_call_graph`). Naming conventions are uniform, making the tool set predictable and easy to navigate.
With 23 tools, the set is slightly larger than typical but remains well-scoped for a comprehensive code analysis server. Each tool serves a distinct purpose, and the count feels justified by the breadth of analysis features offered.
The tool set covers the full spectrum of static code analysis: exploration (repository map, skeletons), dependency analysis (call graph, dependency graph), quality checks (complexity, clones, dead code), and context (git history, test finding). No obvious gaps for the stated purpose.