Your agents break less code and burn fewer tokens β a deterministic call graph over 27 MCP tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Free & MIT-licensed. Runs entirely on your machine β no account, no server, no telemetry. Reads your code; never executes it.
WebsiteΒ Β·Β See it in actionΒ Β·Β InstallΒ Β·Β UseΒ Β·Β For agents (MCP: Model Context Protocol)Β Β·Β How it worksΒ Β·Β Changelog
Your agents break less code and burn fewer tokens.
codeweb reads your code. It maps each function and the calls between functions. It maps 3,000 symbols in approximately 3 seconds. Static analysis produces the same map from the same code. No LLM is in the mapping loop.
Your coding agents query the map instead of using grep. In measured tests, agents that used grep missed more than half of a function's real callers (see the measurements). An incomplete caller list can cause an agent to break code that it did not inspect.
codeweb_impact, codeweb_callers, and codeweb_find_similar.The map also shows relationships that are not visible in one file. These relationships include duplicated logic, dead code, hotspots, and tangled domains.
For a repository with 3,000 symbols, the first map takes approximately 3 seconds. Open
.codeweb/report.html to inspect the map.
912f0f5, captured 2026-07-29. The replay shortens the absolute local path to .codeweb; the displayed values are unchanged.
Each screenshot below shows a generated report for axios (274 symbols and 8 domains). The screenshots are not mockups.
codeweb found 3 real duplications in axios and rejected 12 false positives. Read the case study, or inspect the live map.
Select a function in the live map. The map highlights the function's blast radius and shows the symbols that the change can affect.
Your agents can get the same answer from the codeweb_impact MCP tool before they edit the code.
AxiosError in axios lights up its 27 callers across the domains that depend on it β try it yourself in the living map.
The force-directed map shows every symbol. You can collapse symbols into domains. Search, drag, zoom, or select a node to trace its callers and dependencies.
The Findings tab ranks duplication, highly connected hotspots, and likely dead code. Select a row to inspect the symbol's callers and dependencies.
Treemap β The size of each block shows the file's lines of code. A brighter block contains more duplicated code. Use the bright blocks to identify possible consolidation targets. |
Matrix β The matrix shows coupling between domains. A large off-diagonal cell shows strong coupling. You can merge the domains or add a clear interface between them. |
codeweb works at symbol resolution. It maps functions, classes, methods, and the call and import edges between them. A file-level scanner can show that two modules are similar. codeweb can show that two functions do the same work, identify their callers, and calculate the effect of a merge.
Methodology, raw data, and per-claim receipts:
the evidence ledger. Benchmark your own
repo: npm run bench -- <path>/.codeweb/graph.json. CI re-runs the performance budgets on
every PR; breaking a published number fails the build.
codeweb also keeps a local activity tally. Run npm run stats to see it:
To evaluate a dependency, point codeweb at a repository that you do not own:
/codeweb https://github.com/owner/repo. codeweb makes a read-only clone, maps the clone, and
adds an adoption review. codeweb does not execute the target code.
Free & MIT-licensed. Runs entirely on your machine β no account, no server, no telemetry. Reads your code; never executes it.
node_modules
directory.web-tree-sitter wasm grammar improves extraction. codeweb does not require it.npm audit signatures to verify a release.Using Claude Code? Install the plugin to add the /codeweb command, automatic pre-edit
impact cards, and all 27 tools:
Restart Claude Code to register the /codeweb command, agents, and skill.
Cursor, Windsurf, or another MCP agent: Register the zero-dependency stdio server. The example uses Claude Code syntax. Use the equivalent server-registration command for your client:
Map a repository without an AI agent: Run one command from your project directory:
For a temporary evaluation, use the npx command. It creates the map without a permanent
installation.
Run the engine from a clone:
docs/cli.md lists each executable, flag, and exit code.
VS Code: editor/vscode-codeweb shows an
N callers Β· blast M lens above each mapped symbol. Select the lens to open the report.
Each link lands on full docs, flags, and examples in the reference.
diff verdict Β·
the PR gate Β·
the capability suiteoptimize Β·
hotspots Β·
campaign Β·
trendAvailable flags include --depth module|symbol|auto, --engine hybrid|read|tools,
--focus <glob>, --mode internal|external, and --open. See commands/codeweb.md for details.
codeweb writes all outputs to <target>/.codeweb/. Agents and other tools can read graph.json.
You can open report.html. codeweb also creates Markdown versions.
See the description of each output file.
scripts/mcp-server.mjs is a zero-dependency Model Context Protocol (MCP) stdio server. It gives
each MCP client access to all 27 tools. The tools help the client orient, read the structure,
check before writing, gate an edit, and plan cleanup.
The plugin registers the server automatically. To register the standalone server, run:
The server includes these agent-specific features:
graph argument: The server finds the nearest map when you omit graph. If no map
exists, the error directs the agent to codeweb_map.codeweb_refresh.All 27 tools, grouped and explained β
For JavaScript, TypeScript, Python, Rust, Go, Java, C#, Ruby, PHP, Kotlin, and Swift, codeweb uses a deterministic Node pipeline by default. One command creates the map. No LLM is in the pipeline, and the same input produces the same bytes.
The map pipeline has the four stages in the following diagram. scripts/run.mjs also creates
optimize.md after overlap analysis and before report rendering.
extract-symbols.mjs) parses each source file into atomic nodes such as functions,
classes, and methods. It also records call and import edges. If a bare call can refer to more
than one definition, codeweb omits the edge instead of guessing. Per-file caching makes
extraction incremental and byte-identical to a full rebuild. An imported .json file enters
the map as a file-level node without being parsed. An unreferenced .json file stays out of the
map, which prevents lock-file noise.cluster3.mjs) removes genuine utility hubs and groups the remaining nodes into
directory-anchored semantic domains.overlap.mjs) detects duplicated logic and parallel implementations. It compares
each candidate with the actual function bodies by using token-shingle similarity. This check
prevents name coincidences from becoming findings. A structural pass over
identifier-normalized skeletons also finds renamed Type-2 clones
(find-similar --structural).build-report.mjs) converts graph.json into the self-contained report.html and
report.md files.For a language that the extractor cannot parse, codeweb uses the agent path.
codeweb-dissector agents extract nodes and edges for each subsystem. codeweb-domain-mapper
then assigns domains and overlaps.
Both paths produce the same graph.json schema. In external mode, each path also adds an
adoption verdict.
Curious how the repo is laid out? The component map lives in the reference.
scripts/grammars/PROVENANCE.md.Recent releases added the agent-intelligence suite (hotspots, campaign, reading-order, Type-2 clone detection, and suppression memory), a live interactive demo, Go and Rust on the fast path, duplication trend data, and the one-command CI regression gate with a GitHub Action. codeweb currently provides 27 tools.
codeweb follows Semantic Versioning. It records changes in
CHANGELOG.md, which uses the
Keep a Changelog format. Each capability, benchmark, and fix ships
in a tagged GitHub release.
package.json is the source of truth for the version.
scripts/mcp-server.mjs is the source of truth for the MCP tool count. The release tools derive
and verify the other values:
check-consistency runs in CI. It gates version strings on every surface, every prose mention of
the tool and language counts, the CHANGELOG entry for the current version, and every evidence
file the ledger cites.
Built by GhostlyGawd. AI agents helped write much of the code.
The commit co-author trailers identify those contributions. Open an issue for questions or
problems. Use SECURITY.md to report a security issue.
Stay current: codeweb does not contact an update service. To receive release notifications, select Watch β Custom β Releases on GitHub.
Everything that runs locally is free forever. It does not require an account, telemetry, or a license key.
Sponsoring supports the project. Sponsorship also provides advertising. Top sponsors can put their logo at the top of this README, and each sponsor can join the supporters list. See the support page for details.
Running codeweb at an organization and need help? Send email through the GitHub profile.
You can send codeweb outputs to refactor-cleaner, codebase-onboarding, or code-tour if you
have those tools. codeweb does not require them.
For a useful next step, apply the highest-ranked ready merge from optimize.md. Then run
codeweb again and compare the findings count.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/codeweb)<a href="https://allmcps.com/mcp/codeweb"><img src="https://allmcps.com/api/badge/codeweb?style=directory" alt="Codeweb on AllMCPs" /></a>