Aethvion Project Mapper
Give your AI coding agent a living project brain.
Что умеет
- Pm Context: Retrieve a focused context package relevant to a coding task. Keyword-scores all entities in the knowledge graph against the task description, seeds from the best matches (and any named an
- Pm Impact: Find all entities that would be affected if the named entity changes. Traverses dependency-propagating relations (calls, imports, depends_on, uses, reads_from, etc.) outward from the subjec
- Pm Path: Find the shortest connection between two entities in the knowledge graph. Traverses all relation kinds in both directions (undirected). Useful for answering 'how does the auth system connect
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
Give your AI coding agent a living project brain.
Project Mapper scans your codebase once and builds a fast, structured knowledge graph of every module, class, function, and their relationships — then answers complex queries in milliseconds.
Massive token savings:
- ~87% (Full mode) / ~91% (Slim mode) average token reduction vs grep + reading raw files
- ~380× faster than reading raw files for the same task
- Geometric mean measured across 11 real-world codebases, 57–10,437 files each
Key Tools (12 MCP tools total)
pm_context— Semantic search: find all classes/functions relevant to a querypm_impact— Blast radius of changing a class/functionpm_path— Shortest semantic connection between entities + method notespm_find— Locate a symbol's definition, callers, and calleespm_orphans— Surface dead-code candidates (no inbound relations)pm_visualize— Mermaid/DOT dependency diagrams centred on any entitypm_security— Standalone SAST scanner, 140+ OWASP Top 10 patterns, no scan requiredpm_security_triage— Mark findings as false positive / verified / resolvedpm_scan/pm_delta— Fast full, incremental, and background indexingpm_contribute— Let the agent write discoveries back into the graphpm_stats— Inspect what's already indexed
Proven on 11 real codebases across 13 languages: Python, TypeScript/JS, Java/Kotlin, Go, Rust, C#, C, C++, PHP, Ruby, Swift — including Django, Spring Framework, ASP.NET Core, Hugo, Zod, WordPress, Redis, Jekyll, LevelDB, ripgrep, and Swift Algorithms.
v2.0.0 Highlights:
- Package restructured into a layered
analyzers/ → core/ → {mcp/, http/}architecture - New
pm_visualizetool + full HTTP API parity for every MCP tool pm_scanbackground mode — avoids client timeouts on large repos- Security scanner expanded to 140+ patterns with route-reachability taint tracking
- 87-test suite covering DB layer, MCP protocol, and security scanner
- Pure static analysis (no LLM calls during indexing)
- Runs entirely on your machine — no data leaves your computer
Stop feeding your AI raw files. Give it the map.
Список инструментов сервера (12)
Технические названия из tools/list. Нужны только разработчикам.
| pm_context | Retrieve a focused context package relevant to a coding task. Keyword-scores all entities in the knowledge graph against the task description, seeds from the best matches (and any named anchor entities), then expands by following relations. Use this BEFORE starting any non-trivial feature or refactor so you understand the existing architecture and avoid breaking changes. |
| pm_impact | Find all entities that would be affected if the named entity changes. Traverses dependency-propagating relations (calls, imports, depends_on, uses, reads_from, etc.) outward from the subject. Use before refactoring or deleting a module/class to understand the blast radius. |
| pm_path | Find the shortest connection between two entities in the knowledge graph. Traverses all relation kinds in both directions (undirected). Useful for answering 'how does the auth system connect to the payment flow?' or tracing why a change in one module might affect another. |
| pm_contribute | Record agent-discovered knowledge back into the project graph. Accepts property updates, new relation declarations, and a free-text rationale that is stored as a dated timeline event. Call this after implementing a feature or making an architectural decision so future agents (and developers) can see why things are the way they are. |
| pm_stats | Return a quick overview of the ProjectMapper database: entity counts by type, file manifest coverage, and last scan status. Use at the start of a session to understand what's already been indexed. |
| pm_delta | Show what has changed in the project since the last scan — new files, modified files, and deleted files — without making any database changes. Use to decide whether a re-scan is needed, or to preview what an incremental scan would process. |
| pm_find | Look up a symbol by name and return its definition location, callers, and callees. Searches by exact name first (case-insensitive), then suffix/method match, then substring. Use this when you know — or partially know — the name of a function, class, or module and need to find where it lives, what calls it, and what it calls. Faster and more precise than pm_context for direct symbol lookups. |
| pm_orphans | Find entities that have no inbound calls, imports, or dependencies — potential dead code. Entry points, dunder methods, and test functions are filtered out automatically. Use before a cleanup pass to identify candidates for removal. Note: dynamic dispatch, decorator-registered handlers, and public API won't have graph callers — review results before deleting anything. |
| pm_visualize | Generate a Mermaid or DOT subgraph diagram centred on a named entity. Shows the entity's call/import/dependency neighbourhood up to a configurable depth. Useful for understanding blast radius, explaining a subsystem visually, or producing architecture diagrams for docs and PRs. Output is a fenced Mermaid code block by default — renders natively in GitHub/GitLab markdown, VS Code Mermaid extension, and Obsidian. |
| pm_scan | Scan a project directory and populate the knowledge graph via static AST analysis. Creates module/class/function entities and wires their relations. With incremental=true (default) only changed files are reprocessed. By default this call BLOCKS until the scan completes. Pass background=true to return immediately and poll pm_stats for progress — recommended for large projects (500+ files) over MCP to avoid timeouts. |
| pm_security | Standalone security scanner: walks the project files and runs OWASP Top 10 pattern matching across Python, JavaScript/TypeScript, PHP, Ruby, Go, Java, C#, and C/C++. Covers SQL/command/NoSQL injection, XSS, open redirect, path traversal, insecure deserialization, SSRF, weak crypto, and hardcoded secrets. Completely decoupled from pm_scan — run on-demand whenever you want a security review. Persists findings to a snapshot with stable IDs and triage statuses (unreviewed / verified_vulnerability / false_positive / resolved). false_positive findings are hidden by default to save tokens. Use pm_security_triage to update statuses after investigating. |
| pm_security_triage | Update the review status of one or more security findings in the snapshot. Statuses: 'unreviewed' (default, needs investigation), 'false_positive' (confirmed safe — hidden from future pm_security output to save tokens), 'verified_vulnerability' (confirmed real bug — kept visible as a reminder until fixed), 'resolved' (auto-set when a triaged finding disappears from the codebase). Use pm_security first to get finding IDs, then call this after investigating each finding. Bulk-update all findings in a file with the 'file' argument. |