Understand-Anything MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROJECT_ROOTS | Yes | Danh sách đường dẫn tuyệt đối phân cách bằng dấu phẩy tới các dự án có thư mục .understand-anything/. (Bắt buộc) | |
| UPSTREAM_ROOTS | No | Danh sách đường dẫn tới thư mục gốc của thư viện upstream/dùng chung (để resolve source code của upstream node). (Tùy chọn) |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | List all registered projects with basic statistics. No parameters required. Call this first to see available projects. Returns: List of projects with node/edge counts and domain info. |
| get_graph_statsB | Get comprehensive statistics about a project's knowledge graph. Args: project: Project name. Leave empty if only one project is loaded. Returns: Statistics: node/edge counts, type distributions, top domains, layers. Includes FRESHNESS ANALYSIS: whether the graph is up-to-date with the current codebase (uses git diff against the commit when the graph was last analyzed). |
| get_graph_metadataA | Structured JSON snapshot of a project's graph state: identity, node/edge counts, graph commit, repository HEAD and freshness. Machine counterpart of get_graph_stats — parse it instead of the text output. Args: project: Project name. Leave empty if only one project is loaded. Returns: JSON string: {"ok": true, ...metadata} or {"ok": false, "error": {"code", "message", "remediation"}}. |
| query_nodesA | Search for nodes in the knowledge graph by keyword (weighted fuzzy matching). Scoring: name (3x weight) > summary (1.5x) > tags (1x). Exact name matches get a bonus. Supports pagination via offset/limit. Args: query: Search keyword (e.g., "authentication", "login", "PaymentService"). node_type: Filter by type: "file", "function", "class", "config", "service". Leave empty for all. limit: Max results per page (default 10). offset: Starting offset for pagination (default 0). Use with limit for paging. project: Project name. Leave empty if only one project. Returns: List of matching nodes with id, type, name, summary, layer, and tags. |
| get_node_detailA | Get full details of a specific node by its ID. Args: node_id: Unique node ID (e.g., "upstream:function:src/auth/login.ts::loginUser"). Use query_nodes to find IDs. project: Project name. Leave empty if only one project. Returns: Complete node details including path, layer, tags, complexity. |
| get_node_sourceA | Get the actual source code for a knowledge graph node. For function/class nodes: extracts just the method or class block with annotations. For file/config nodes: returns the whole file content (truncated if too large). Includes line numbers for easy reference. Args: node_id: Node ID (use query_nodes to find IDs). max_lines: Max lines for whole-file reads (default 200). Does not affect function/class extraction. project: Project name. Returns: Source code with line numbers, file path, and extraction metadata. |
| get_relationshipsA | Get all nodes connected to a given node, with relationship types. Args: node_id: Node ID to inspect. direction: "out" (this node calls/imports others), "in" (others call/import this), "both". relation_filter: Filter by relation: "calls", "imports", "contains", "implements", "extends". Leave empty for all. project: Project name. Returns: List of relationships in format: "source --[relation]--> target". |
| trace_call_chainA | Trace the function call chain starting from a node (BFS on 'calls' edges). For class/file nodes: automatically resolves to contained functions and traces call chains from them. Args: start_node_id: ID of the starting node (function, class, or file). max_depth: Max traversal depth (default 3, max 10). project: Project name. Returns: Call tree as indented text. |
| get_layer_infoA | List architectural layers, or get nodes belonging to a specific layer. Args: layer_name: Layer name to inspect. Leave empty to list all layers. project: Project name. Returns: Layer listing or nodes within a specific layer. |
| get_domain_overviewB | Get summary of all business domains and their flows (from domain-graph.json). Args: project: Project name. Returns: List of domains with flow names, entity counts, and summaries. |
| get_domain_detailA | Get detailed info about a specific business domain: entities, rules, flows, steps. Args: domain_name: Domain name (e.g., "authentication", "transfer", "payroll"). Fuzzy matching supported. project: Project name. Returns: Full domain details with entities, business rules, flows and their steps. |
| get_domain_flow_detailA | Deep-dive into a specific business flow: entry point, all steps with ordering, and linked code nodes for each step. Use this for detailed understanding of a single flow's implementation. For an overview of all domains/flows, use get_domain_overview or get_domain_detail. Args: flow_name: Flow name (e.g., "SAGA Xử lý Lương", "init payroll", "recovery retry"). Fuzzy matching supported. project: Project name. Returns: Full flow details with entry point, ordered steps, step summaries, and cross-referenced code nodes for each step. |
| find_entry_pointsA | Find functions that are NOT called by any other function (potential API endpoints / entry points). Args: project: Project name. Returns: List of entry point functions with their layer and summary. |
| find_impactA | Blast radius analysis: find all nodes that would be affected if this node changes. Follows incoming imports, calls, extends, and implements edges in reverse. Args: node_id: Node ID to analyze impact for. max_depth: Max traversal depth (default 3, max 10). project: Project name. Returns: List of affected nodes grouped by depth level. |
| get_tourA | Get the guided project tour — a curated walkthrough of the most important parts of the codebase. Tour stops are ordered sequences that explain the project's key components, each linking to specific nodes in the knowledge graph. Args: stop_index: Specific tour stop number (1-based) to expand with full node details. Leave empty to list all stops. project: Project name. Returns: Tour overview or detailed stop with linked nodes. |
| find_pathA | Find the shortest path between two nodes in the knowledge graph. Uses undirected BFS — traverses both outgoing and incoming edges. Useful for understanding how two components are connected. Args: source_id: Starting node ID. target_id: Destination node ID. max_depth: Maximum path length (default 6, max 10). project: Project name. Returns: Path from source to target showing each hop and relation. |
| get_class_hierarchyA | Show the inheritance hierarchy for a class (extends/implements tree). Args: class_id: Class node ID to analyze. direction: "up" (parents/supertypes), "down" (children/subtypes), "both". max_depth: Max traversal depth (default 5, max 10). project: Project name. Returns: Inheritance tree showing parent and child classes with relation types. |
| search_by_file_pathA | Find nodes by file path pattern (substring match). Useful for finding all nodes in a package, module, or directory. Case-insensitive. Args: path_pattern: Substring to match in file paths (e.g., "payroll", "com/vietbank/sme", "auth"). node_type: Optional filter by type: "file", "function", "class". Leave empty for all. limit: Max results (default 30, max 50). project: Project name. Returns: List of matching nodes sorted by file path. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/VIethoangnguyenle/Understand-Anything-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server