
Code Atlas
io.github.lusiem由 GitHub 帳號 lusiem 發布v0.5.0更新於 Oct 25, 2026
Code intelligence MCP: symbols, call graphs, change impact + affected tests, routes, search.
發布方自己的服務:Red Atlas Api
概覽
本機程式碼智慧 MCP 伺服器,為儲存庫建立索引,讓助理搜尋符號、追蹤呼叫圖、整理路由並評估變更影響。
- 可以做什麼
- 梳理與概覽儲存庫:儲存庫地圖、專案概覽、檔案與目錄大綱、符號詳情與批次符號查詢,以及受 token 預算限制的脈絡包和匯入、呼叫、型別圖的 Mermaid 圖。搜尋程式碼:符號搜尋、全文內容搜尋、本機語意搜尋、AST 模式查詢和近似重複程式碼查找。追蹤關係:參照、定義、呼叫與型別階層、匯入圖、最短路徑呼叫鏈,以及死程式碼與熱點報告。評估變更:含受影響測試檔案的變更影響、對照 git HEAD 的編輯後驗證、符號相關測試、變更耦合與符號歷史。檢查 Web 路由與遊戲引擎資源:框架路由與處理器、Godot/Unity/Unreal 場景與資源參照。
- 適用情境
- 當助理需要在不讀整份檔案的情況下理解大型或不熟悉的程式碼庫時使用,例如繪製儲存庫結構、查找某函式的呼叫端,或預測變更會影響哪些測試。適合多語言專案,以及希望程式碼分析完全留在本機的團隊。
- 執行需求
- 以本機 stdio 程序執行,通常透過 npm 套件的 npx 啟動,需要 Node.js。預設索引目前工作目錄,可覆寫根路徑。可選的語言伺服器與本機嵌入模型會在首次使用時下載到使用者層級快取,除非停用。未宣告帳號、API 金鑰或環境變數。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Code Atlas,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
code-atlas
Multi-language code intelligence MCP server — gives Claude Code (and any MCP client) a structured view of your codebase instead of raw text: symbol search, file outlines, AST pattern queries, cross-file references, call/type hierarchies, import graphs, change-impact analysis with affected-test detection, web-framework route maps (Express/NestJS/Fastify/FastAPI/Flask/Django), Mermaid diagrams, precise LSP-backed answers, local-embedding semantic search, and game-engine asset understanding (Godot, Unity, Unreal). 25 languages indexed.
Instead of grepping and reading whole files, the model asks questions like "map this repo", "outline this file", "who calls parseConfig?", "how does the request handler reach the DB layer?", "what changes whenever this file changes?" — and gets compact, token-efficient answers backed by a persistent tree-sitter index.
Every answer is budgeted: tools take a max_tokens cap, and a clamped response returns a cursor you can pass back to continue rather than re-asking with a bigger budget.
Status: released (npm
@lusiem/code-atlas, MCP registryio.github.lusiem/code-atlas). 25 languages, 32 tools, LSP-exact answers with a structural floor, engine adapters, and an agent-workflow layer (repo_map,context_pack,verify_changes) built for token economy. Validated at 19k files / 6.3M LOC.
How it works
- Persistent index at
<repo>/.code-atlas/index.db(self-gitignored), incrementally refreshed by content hash. - Live — a gitignore-aware file watcher reindexes saves within a debounce beat and re-resolves only the affected files (
--no-watchor"watch": falseto disable). - Zero config — point it at a repo root and it works. Optional
code-atlas.jsonfor include/exclude tweaks. - Everything local — your code never leaves your machine.
Install & use with Claude Code
Or from a clone:
The server indexes the current working directory; pass --root <path> to override.
CLI
Tools
Full reference with example outputs: docs/tools.md.
Cross-file answers are LSP-first with a structural floor: when a language server is available
(found on PATH or auto-acquired into a per-user cache), references/definitions/hover/call
hierarchies are exact and tagged lsp; everywhere else, heuristic import/name resolution answers
with a confidence score per edge. Servers: typescript-language-server + pyright (npm), gopls
(go install), rust-analyzer + clangd (pinned, SHA-256-verified release binaries), Eclipse JDT LS
for Java (needs a Java 21+ runtime — detected via PATH/JAVA_HOME), kotlin-language-server (needs
any JRE), and csharp-ls for C# (needs the .NET SDK; installed as a dotnet tool — deliberately not
Microsoft's Roslyn LSP, whose license is VS-only). GDScript attaches to the Godot editor's
built-in language server (TCP 127.0.0.1:6005, override with CODE_ATLAS_GODOT_LSP_PORT)
whenever the editor has the project open — close the editor and answers fall back to structural,
reopen it and the next query reattaches. Missing runtimes degrade that language to
structural, reported honestly in index_status. A first-time acquisition (download + boot) never
blocks a query: tools wait up to 8 s, then answer structurally while the server finishes starting.
Disable with --no-lsp; disable auto-download with --no-download.
Semantic search embeds every function/class (signature + doc + body) with a code-tuned local
model — jinaai/jina-embeddings-v2-base-code, quantized ONNX — and fuses cosine similarity with
BM25 keyword rank. Everything stays on your machine. The ONNX runtime (~220 MB) and model
(~150 MB) are not part of this package: they download to the per-user cache the first time you
call semantic_search, never at install, and structural tools never wait on them. Until coverage
completes, results are keyword-weighted and say so. Embedding a 60k-symbol repo takes ~15 minutes
of background time, once; after that only edited symbols re-embed. "embeddings": {"model": "fast"} swaps in a 4× faster general-purpose model; --no-embeddings turns the layer off.
Languages
Indexing today (25): TypeScript, TSX, JavaScript, Python, C, C++, Rust, Go, Java, Kotlin, C#, GDScript, PHP, Ruby, Lua, Solidity, Zig, Nix, Swift, Scala, Dart, Terraform/HCL, Pascal/Delphi, Vue, Svelte.
Vue and Svelte single-file components index the <script> blocks (all of them, <script setup>
included) at their true file line numbers; component imports resolve, so .vue/.svelte
dependency graphs work in get_dependencies and change_impact. Terraform maps blocks to
symbols (resource "aws_s3_bucket" "logs" is searchable by either label) and resolves local
module sources as imports. Languages beyond the LSP-covered core answer structurally with
confidence-scored edges — same contract as everywhere else.
Test-file awareness: every indexed file is classified by per-language path conventions
(*.test.ts, test_*.py, *_test.go, src/test/, *_spec.rb, foundry .t.sol, …) — this
powers change_impact's affected-test reporting. Inline test blocks (Rust #[cfg(test)], Zig
test) are not path-classifiable and stay invisible by design.
Game engines: engine assets index alongside code — Godot .tscn/.tres scenes (node trees,
script attachments, signal connections, autoloads; res:// resolved per project.godot, monorepos
of many projects included), Unity .unity/.prefab/.asset + .meta GUID maps (MonoBehaviour →
C# class links, serialized references), and Unreal .uproject/.uplugin/Build.cs module graphs
plus indexed reflection macros: UCLASS/USTRUCT/UFUNCTION/UPROPERTY specifiers attach to the
symbol they annotate (searchable, shown in get_symbol_info), and dllexport macros
(class MYGAME_API AMyActor) no longer break C++ class extraction.
Unreal Blueprints (.uasset/.umap): binary editor packages are parsed natively (package
summary, name/import/export tables, asset-registry tags, and bounded tagged-property reads — no
Unreal installation needed). Blueprints surface their functions, event dispatchers, and member
variables as searchable symbols (search_symbols kind:event_dispatcher, lang:uasset), a
get_file_outline per asset, graph-node comments in full-text search, and asset//Game/-path +
parent-class + called-function references in find_asset_references (including
"who handles ReceiveBeginPlay" via handles_event). Blueprint→C++ links (parent classes via
Unreal's A/U/F naming, called UFUNCTIONs) materialize as confidence-scored
provenance: engine edges, lighting up type_hierarchy, call_hierarchy, and change_impact.
Uncooked (editor) assets are the target — validated against a real UE 5.6 project (1,763/1,764
assets parsing, save vintages from UE 4.25 through 5.6); cooked/marketplace packages are detected
and skipped with a recorded reason. Binary assets are capped by maxAssetFileBytes (default 64 MB) and
change-gated by size+mtime so warm sweeps never re-read them. Godot binary .scn remains out of
scope.
Roadmap
Structural core: scanner, SQLite+FTS5 index, TS/JS/Python extractors, first 6 tools✅All 11 language extractors, cross-file import resolution, call graph (✅find_references,call_hierarchy,trace_path)File watcher + incremental reindexing (scoped re-resolution, schema migrations)✅LSP layer (auto-acquired ts-ls/pyright/gopls; checksum-pinned rust-analyzer/clangd binaries; JDT LS/kotlin-language-server/csharp-ls with JRE/.NET detection; precise references/definitions/hover/call hierarchy with graceful fallback)✅Local-embedding semantic search (✅semantic_search, hybrid BM25+vector reciprocal-rank fusion, lazy model download, incremental re-embedding)Game-engine adapters: GDScript grammar (vendored wasm build), Godot scenes/autoloads, Unity prefabs/GUIDs, Unreal module graph + reflection search, Godot editor LSP attach (TCP 6005, nightly-tested against a real editor)✅Docs, benchmarks in CI (cold index 157k LOC ≈ 5 s, warm queries p95 < 10 ms), cross-platform CI, npm pack smoke✅ — npm publish + MCP registry submission pendingCompetitive push:✅change_impact(blast radius + affected tests, git-diff mode), web-framework route indexing (list_routes/find_route), 13 more languages incl. Vue/Svelte SFCsAgent-workflow release (0.4.0):✅context_pack(token-budgeted one-call briefings),verify_changes(post-edit check vs git HEAD),tests_for_symbol,find_similar_code,find_dead_code+hotspots,batch_symbols,max_tokenson every list-shaped tool, file-based routing (Next.js/SvelteKit/Nuxt/Remix), PHP PSR-4 / C# namespace / Swift SPM import resolution, opt-in LSP edge promotion, sqlite-vec vec0 KNNOrientation release (0.5.0):✅repo_map(annotated architecture map, importance ranking, entry points, dependency inventory), resumable cursors + a recalibrated token estimator, depth-collapsing outlines and directory outlines,change_coupling+symbol_historyon a persisted commit cache, streaming resolution for million-symbol reposToken-honesty and text release (0.6.0): an estimator that no longer under-counts high-entropy output (base64 was charged a quarter of its true cost, so✅max_tokenscould be exceeded), provenance stated once per answer instead of on every row,search_contentover a contentless FTS index with on-disk verification, non-code files (md/json/yaml/Dockerfile/CI) indexed for the first time
Performance (vuejs/core, 157k LOC, 536 files incl. .vue SFCs): cold index 3.8 s, warm tool
calls p95 ≤ 6 ms through a full MCP round-trip. scripts/bench.mjs runs in CI.
Scale (Unreal Engine Engine/Source/Runtime, 19,097 files, 6.3M LOC, 622k symbols, 502k edges):
cold index 413 s, warm structural queries p95 ≤ 18 ms, and repo_map returns the whole
architecture in p95 126 ms within a 2,500-token budget. Text search over all 19k files costs
p50 69 ms, and the content index is 45.6 MB — 4% of the database, because it stores no file
text: it proposes candidates and the disk verifies them.
Development
Position convention: lines are 1-based, columns 0-based, paths root-relative with forward slashes. See CONTRIBUTING.md for how to add languages, servers, and grammars.
License
MIT
來源:README.md,提交 1da41d1
工具
0版本歷史
1- v0.5.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
其他 Atlas 整合
Red Atlas Api
red.atlas官方發布者
遠端 MCP 伺服器,讓助理存取波多黎各與哥倫比亞的房地產資料:物件、成交、地號、許可、分析與 AVM 報告。

Election Atlas
由 GitHub 帳號 TaltonFiggins 發布
一個美國與加拿大選舉地理的遠端圖集,讓助理查詢地名、選區、邊界和民意代表。

Boundary Atlas
由 GitHub 帳號 TaltonFiggins 發布
針對美國與加拿大邊界的遠端 MCP 伺服器:查詢城市、郵遞區號、郡、選區與投票分區,定位座標點並取得 GeoJSON 邊界。

Atlas Primer Voice Roleplay
由 GitHub 帳號 AtlasPrimer 發布
在 Atlas Primer 上建立即時 AI 語音角色扮演模擬和行為評估。AI 翻譯

Smart Rings Atlas
由 GitHub 帳號 thiazzz 發布
用於智慧戒指研究的遠端 MCP 伺服器:檢索附日期的紀錄、比較證據、估算訂閱成本並尋找地區購買連結。