Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Cited structure of Java/Spring/Angular codebases: dependencies, tables, endpoints, hotspots.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"stratigraph": {
"command": "npx",
"args": [
"-y",
"stratigraph",
"mcp"
]
}
}
}Run this in your terminal
claude mcp add stratigraph -- npx -y stratigraph mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"stratigraph": {
"command": "npx",
"args": [
"-y",
"stratigraph",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"stratigraph": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"stratigraph",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account imashishsharma, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (2.2.1) reached the registry 6 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, sync. labs
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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
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.
upgrade-report.md with 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.
npx stratigraph scan . # extract, mine git history, analyse, write the report: one command
stratigraph mcp): 13 read-only tools such as what_breaks_if, who_knows and where_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).
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.
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
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.
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
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)
Only the beginning is shown; read the rest in the repo