Atlas Graph — See the shape of your codebase
Atlas turns your project into interactive diagrams inside VS Code. It builds a
local graph of your modules, files, functions, and calls, so you can understand
how a codebase fits together and see how a change ripples outward — without
reading every file first.
Works with TypeScript / JavaScript and Python. Everything runs locally
and the graph updates as you edit.
Features
- Architecture map — explore layers, files, and symbols as an interactive
diagram. Click to expand, drag to rearrange, focus on any node.
- Active file flow — see what calls into the file you're editing and what it
calls out to. The view follows you as you switch tabs.
- Sequence diagram — pick a function and see the order of calls that reach
it and follow from it.
- Identified architecture (AI) — let your AI provider name the pattern your
project follows (layered, hexagonal, MVC, …) and the role of each module.
- Export — save any diagram as Markdown (Mermaid), SVG, PNG, or PDF.
Getting started
- Open a folder with TypeScript, JavaScript, or Python code.
- Run Atlas Graph: Analyze Workspace from the Command Palette, or use the Atlas
icon in the activity bar.
- Run Atlas Graph: Open Architecture, or open a file and run
Atlas Graph: Show Active File Flow.
AI (optional)
Only the Identified Architecture view needs AI. Everything else works without
it, and AI improves the sequence diagram and layer names when available.
Open the Atlas icon in the activity bar, pick Anthropic, OpenAI, or
Ollama in AI Settings, and paste your API key (not needed for a local
Ollama). Keys are kept in your OS keychain.
Use Atlas from an AI agent
Atlas can share its code graph with agents such as Claude Code, Codex, or any
MCP client, so they query Atlas instead of re-reading your code. This is
separate from the AI provider above: that one powers Atlas's own views, this one
lets an agent query Atlas. It is off by default.
Turn it on
- Set
atlas.mcp.enabled to true.
- Open the workspace you want to expose. The server listens on
127.0.0.1
only, requires a bearer token, and runs only while VS Code has that
workspace open.
- Run Atlas Graph: Analyze Workspace once.
Connect a client
The port and token change every time the server starts. Atlas writes the
current ones to ~/.atlas/mcp/<id>.json (on Windows,
%USERPROFILE%\.atlas\mcp\); open the file whose workspaceRoot is your
project and register its url and token. For Claude Code:
claude mcp add --transport http atlas http://127.0.0.1:<port>/mcp \
--header "Authorization: Bearer <token>"
Or, in any client that takes a JSON server list:
{
"mcpServers": {
"atlas": {
"type": "http",
"url": "http://127.0.0.1:<port>/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}
Re-register after restarting VS Code or toggling the setting.
What the agent can do
You just talk to the agent; it decides when to call these tools.
| Tool |
Returns |
atlas_analyze_workspace |
Re-indexes the workspace |
atlas_open_architecture |
Modules, their dependencies and metrics |
atlas_show_sequence_diagram |
Ordered calls from a function (filePath, optional functionName) |
atlas_show_active_file_flow |
A file's importers and imports (filePath) |
atlas_show_identified_architecture |
The cached AI-identified architecture |
atlas_update_identified_architecture |
Stores the agent's own architecture interpretation, shown in Atlas |
Responses contain structure only — names, workspace-relative paths, edges,
counts, and line numbers — never source code, and every list is size-capped.
Only atlas_analyze_workspace and atlas_update_identified_architecture write
anything, and only to Atlas's own database.
Using a local model (Ollama). Ollama is not an MCP client, so pair it with an
agent that is one (for example Cline or Continue) and choose Ollama as that
agent's model. Use a model with tool calling, such as llama3.1 or qwen2.5,
and register Atlas in the agent with the same url and token.
Requirements
- VS Code 1.85 or newer
- Python 3 on your
PATH for Python projects
Privacy
The graph is stored locally, and Atlas has no telemetry. The only network
traffic is to the AI provider you configure, and it sends names and
relationships only — your source code is never sent.
Support ❤️
I built this extension to help others and keep it free. If it adds value to
your workflow, consider supporting it:
MIT licensed.