Stratigraph
What it does
Cited structure of Java/Spring/Angular codebases: dependencies, tables, endpoints, hotspots.
- Connects パソコンで動く
- Account or key No key needed
- Category 開発者ツール
インストール
使っているAIアプリを選んで、設定をコピーしてください。
チェック 2/2 合格 · あなたのパソコンで動きます
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
パソコン版 Claude アプリの設定ファイルを開く
SettingsDeveloperEdit Config
この設定を貼り付けて保存
{ "mcpServers": { "stratigraph": { "command": "npx", "args": [ "-y", "stratigraph", "mcp" ] } } }Claude を終了してもう一度開く
試してみる
Stratigraph を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が Stratigraph を使っていると言うか、回答に Stratigraph のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ Stratigraph につなげません
Stratigraph はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
代わりにできること
A · Stratigraph につなげるアプリを使う
- 先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
- 先にパソコンへ Node.js を入れてください(1 回だけ)
- 先にパソコンへ Node.js を入れてください(1 回だけ)
- 先にパソコンへ Node.js を入れてください(1 回だけ)
B · 開発者ツール の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
- Sentry✓ ChatGPT
- Compiler Explorer✓ ChatGPT
- GitDiagram✓ ChatGPT
Claude Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
ターミナルを開く
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
このコマンドを貼り付けて Enter
claude mcp add --scope user stratigraph -- npx -y stratigraph mcpClaude Code で /mcp と入力
Stratigraph が一覧にあり、接続済みと表示されれば OK です
試してみる
Stratigraph を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が Stratigraph を使っていると言うか、回答に Stratigraph のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
Cursor の AI チャットを Agent モードで開く
試してみる
Stratigraph を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が Stratigraph を使っていると言うか、回答に Stratigraph のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
VS Code の AI チャットを Agent モードで開く
試してみる
Stratigraph を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が Stratigraph を使っていると言うか、回答に Stratigraph のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
開発者向け:ターミナルのコマンドと JSON 設定
パソコンにインストール
Claude Code
claude mcp add --scope user stratigraph -- npx -y stratigraph mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"stratigraph": {
"command": "npx",
"args": [
"-y",
"stratigraph",
"mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"stratigraph": {
"command": "npx",
"args": [
"-y",
"stratigraph",
"mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"stratigraph": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"stratigraph",
"mcp"
]
}
}
}この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ひと目でわかる
- 週あたりのダウンロードi
- 186/週
- 接続方法
- パソコンで動く
- 最新バージョンi
- 2.2.1
- レジストリ公開日i
- 2026年11月1日
- コードの最終更新i
- 2026年11月1日
- 作者
- imashishsharma
- パッケージ
npm: stratigraph- ウェブサイト
- imashishsharma.github.io
- レジストリでの状態
- 有効
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月12日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント imashishsharma で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:11 日前
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
話し合い
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
ユーザーレビュー
まだレビューはありません
開発者ツールのほかのサーバーとの比較i
- このカテゴリのほかの5786件のうち0%よりスターが多い
- このカテゴリのほかの5786件のうち67%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5786件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Stratigraphは安全ですか?
当てはまる基本チェック2項目のうち2項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は11 日前、最新バージョン(2.2.1)がレジストリに届いたのは11 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリのほかの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
stratigraph
Upgrade Spring Boot with your tests as the judge, and map large Java, Spring and Angular codebases with every claim cited.
Website: https://imashishsharma.github.io/stratigraph/ · open source, runs locally
🔁 Upgrade Spring Boot (2.7 → 3.5, 3.x → 4.0), Maven or Gradle
npx stratigraph upgrade plan --to 3.5 # read-only: what will break, with file:line citations
npx stratigraph upgrade run --to 3.5 --ai claude-code
OpenRewrite's recipe does most of an upgrade. The upgrade agent handles what it leaves broken, on Maven and Gradle builds alike.
- Your tests are the judge. It records every test's result *before* touching the code. A change is kept only if the build gets further and no passing test turns red. Disabling or deleting a test is rejected outright.
- Layered, reviewable commits on a branch of their own: the recipe, exact known fixes, and AI fixes from Claude Code (opt-in). Application code changed to make a test pass is flagged for review.
- It knows when to stop. An authorisation rule or an HTTP contract is never chosen for you. It hands those back in
upgrade-report.mdwith the evidence and the options.
| Benchmark (details) | OpenRewrite alone | stratigraph |
|---|---|---|
| 10 public Spring Boot apps: every previously passing test still passes, no human edits | 0 / 10 | 5 / 10 (+2 stopped at a real decision) |
| 9 apps it had never seen (details) | — | 8 / 9 |
| Gradle: realworld-example-app, JHipster 7.9 (details) | — | 68/68 parity; JHipster stopped at 1 error (needs JHipster 8) |
| Time and AI cost per app | — | 1–14 min, $0–2.54 |
Tried it? Tell us what you upgraded, and what it got wrong, in Discussions. Upgrading a fleet of Boot 2.x services? Become a design partner and run it on real code with the maintainer.
🗺️ Map a codebase nobody remembers
npx stratigraph scan . # extract, mine git history, analyse, write the report: one command
- Architecture: deployables, packages and their dependencies, cycles, and C4 diagrams at all four levels.
- Data model: an ER diagram from JPA *and* Liquibase/Flyway, with the drift between them.
- HTTP API and risk: endpoints, Angular → Spring call links, hotspots by recent churn × complexity, and knowledge silos.
- Every claim cites a file and line or a commit. Every view states how much of the code it was built from, and is withheld when that's too little.
- MCP server (
stratigraph mcp): 13 read-only tools such aswhat_breaks_if,who_knowsandwhere_is_table_written, for Claude Code, Cursor or any MCP client.
Measured on 20 public repositories against hand-labelled ground truth: entity and table recall 100%, endpoint recall 99%, DI edges resolved 95% (scorecard).
Why "stratigraph"
Stratigraphy is how archaeologists read a site: layer by layer, deducing the order things happened from what sits on top of what. stratigraph does the same to a large codebase — it reads the source, reads the git history, and reconstructs how the thing came to be shaped the way it is.
Aimed at monoliths and multi-module builds of 100k+ LOC where nobody remembers why things are the way they are. Java, Kotlin and Angular first. It runs on repositories that do not compile, have never had node_modules installed, and use layouts nobody has used since Ant — because those are exactly the repositories nobody remembers.
The codebase map, in detail
- A fact graph — packages, classes, methods, endpoints, DI edges, routes, O/R mappings — in a local SQLite file, every row citing a file and line, a commit sha, or the build file it was read from.
- History you can act on — hotspots ranked by churn × complexity, files whose history is one person, and files that change together over and over with *nothing in the code connecting them*.
- C4 diagrams at all four levels, an ER model read out of the O/R mappings, the HTTP surface, and a ranked findings list — as Structurizr DSL, as Mermaid, and as one self-contained HTML page: no script, no network, no CDN.
- A diff between two runs, so CI can fail a pull request for the cycle it *added* and stay quiet about the six hundred that were already there — the only gate a legacy monolith can switch on today.
- An MCP server, so an agent working in the codebase can ask structural questions instead of grepping for them.
- Optionally, model-written names and descriptions for the package clusters — under a citation check, enforced in code, that rejects any sentence naming something the model was not shown.
Sixty seconds
npm install -g stratigraph # or run every command through: npx stratigraph
cd ~/work # the fact store lands here, not in the repo stratigraph init --repo ../some-monolith # create the fact store stratigraph extract --repo ../some-monolith # parse the source into facts stratigraph history --repo ../some-monolith # mine git: churn, coupling, authors stratigraph analyze --repo ../some-monolith --no-llm # cycles, clusters, hotspots stratigraph report --repo ../some-monolith --out ./arch open ./arch/index.html
TypeScript and Angular analysis works out of the box — the extractor ships in this package and runs on the Node you already have. Java and Kotlin need a JDK 17+ and one more command, stratigraph fetch-extractor, which downloads the extractor jar and verifies it against a checksum pinned in this package. No API key is needed for any of the above: --no-llm is the whole structural report, and a model only ever adds prose on top of it.
stratigraph doctor # says which of these your machine can do right now
Contents
- The rule that shapes everything
- Measured on real repositories
- Install
- Set your API key — optional
- Use
- Angular, and the endpoint it might be calling
- History, and the coupling nobody wrote down
- Clusters, and the packages whose name is a lie
- Interpretation, and what stops it inventing things
- The report you would actually show someone
- Ask it questions from an agent — MCP
- The JVM extractor — Java and Kotlin
- The TypeScript extractor
- Keeping the fact store small
- Keeping it current
- Upgrading Spring Boot — the upgrade agent in full
- In a pipeline: JSON and a quality gate
- Configuration
- Architecture
- Development
The rule that shapes everything
Static analysis produces facts. The LLM produces interpretation. The LLM never invents a fact.
Every node and edge comes from a parser, from git log, or from a build file. Every claim in a generated report carries a provenance reference — a file and line, a commit sha, or a fact-table row. When the model wants to assert something it cannot cite, the correct output is "no evidence found".
This is enforced in the schema, not only in prompts: interpretation lives in different tables from facts, edges are marked fact or inferred, and a citation row has a CHECK constraint forcing it to point at something real. See ADR-0002.
The whole pipeline runs with --no-llm and still produces a useful report.
Measured on real repositories
Quality is measured, not asserted (ADR-0035). stratigraph bench runs the whole pipeline over 20 public repositories, each pinned to a commit in bench/corpus.yaml, and scores the output against ground truth labelled without the tool — from each repository's source, build files, migrations and git log — in bench/truth/. Every number below is from bench/scorecard.md, which lists every miss by name.
| Metric | Target | 2.0 |
|---|---|---|
| Non-source files (lockfiles, manifests, tests, generated) in the hotspot top 20 | 0 | 0 |
| Hotspot top-10 overlap with a senior engineer's labelled list | ≥ 60% | 66% (92/138) |
| JPA entity recall, with the physical table name | ≥ 90% | 100% (146/146) |
| Table recall | ≥ 90% | 100% (274/274) |
| HTTP endpoint recall | ≥ 95% | 99% (519/520) |
| Injection edges resolved | ≥ 85% | 95% (215/226) |
| Deployables found as containers / containers that are deployables | 100% | 100% (67/67) / 100% (67/67) |
| File roles matching the labels | ≥ 95% | 96% (535/557) |
| Views rendered without a coverage statement | 0 | 0 |
| Repositories the pipeline completed on | 20/20 | 20/20 |
The corpus spans Spring Boot monoliths and microservices (petclinic and its Kotlin, REST, legacy-XML and Angular variants, JHipster in Maven, Gradle and OAuth2 flavours, eladmin, piggymetrics, killbill, initializr, OpenMRS, nacos, Spring Cloud Gateway, Spring Boot Admin), Apache Dubbo at 4,000 Java files, and two large TypeScript workspaces (bitwarden/clients at 6,400 files, analog). The labels are only as good as their labelling: where a miss turned out to be a label contradicting the source at the pinned commit, the label was corrected and the evidence recorded in the truth file.
Run it yourself:
stratigraph bench --fetch # clones the corpus into ~/.cache/stratigraph/corpus
stratigraph bench --private ../your-repo # aggregates only, nothing that names a file
Install
npm install -g stratigraph
Requires Node 18.18 or newer. Nothing else, until you analyse Java — the Java extractor needs a JDK 17+ available, and tells you so rather than crashing. stratigraph doctor is the honest inventory of what your machine can do:
$ stratigraph doctor
ok stratigraph v1.4.0, fact-store schema v1 ok node v20.11.1 on darwin-arm64 ok git git version 2.50.1 warn java 1.8.0_432 from JAVA_HOME is below JDK 17; the Java extractor will not run (this limits the analyser, not the code it can analyse) warn jvm extractor jar not found — see the README for the two commands that build it ok ts extractor dist/extractors/typescript/main.js (built, no JDK required)