codeweb
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@codewebFind all callers of the parseInput function"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Free & MIT-licensed. Runs entirely on your machine — no account, no server, no telemetry. Reads your code; never executes it.
Website · Gate every PR · See it in action · Install · Use · For agents (MCP: Model Context Protocol) · How it works · Free forever · Changelog
Your agents break less code and burn fewer tokens.
npx -y @ghostlygawd/codeweb .A deterministic guardrail for agent-written code — zero tokens per PR. codeweb's gate builds the call graph before and after a change, then fails the pull request on three regressions: a new dependency cycle, a new body-confirmed duplication, or a symbol that lost every caller.
The verdict is static analysis, not a model: it never hallucinates, and it costs zero tokens however many pull requests you open. Pure removals always pass. Put it on your PRs →
The gate needs a map to compare, and that map is worth reading on its own.
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.
Give agents structural data: The Model Context Protocol (MCP) server provides 28 tools, including
codeweb_impact,codeweb_callers, andcodeweb_find_similar.Keep answers small: Each query returns a bounded structural answer. Your agents can use their remaining context for implementation work.
Inspect the same data: The interactive report shows the complete codebase map.
The map also shows relationships that are not visible in one file. These relationships include duplicated logic, dead code, hotspots, and tangled domains.
Try it on your repo
cd your-project
npx -y @ghostlygawd/codeweb .For a repository with 3,000 symbols, the first map takes approximately 3 seconds. Open
.codeweb/report.html to inspect the map.
Related MCP server: Axon.MCP.Server
Gate every pull request
Run the same verdict locally, or as a GitHub Action on every pull request:
node scripts/ci-gate.mjs --base origin/main --target src # exit 1 on a structural regressionThe gate builds the graph from the pull request base and from its head, then diffs them. It posts a sticky structural review comment either way, so reviewers see the blast radius without installing anything.
Pin the Action to a release tag, not a moving branch: a floating ref can change your gate's
verdict semantics under you. Pin codeweb-ref to the same tag so the engine is fixed too. The
workflow YAML, the monorepo matrix form, and every input live in
docs/ci-gate.md.
Want the gate hosted — no workflow YAML, cached base graphs, and history across every repo in the org? That is codeweb Teams, the paid half of the boundary. Running it yourself stays free forever.
See it in action
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.
Know what an edit breaks — before you write
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.
Navigate the whole system
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.
Findings — stop guessing what to refactor
The Findings tab ranks duplication, highly connected hotspots, and likely dead code. Select a row to inspect the symbol's callers and dependencies.
See duplication density, and where domains tangle
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.
Benchmarks
Find callers before an edit: In the v0.9.0 efficiency pilot, agents found 74% of a function's real callers with codeweb and 44% with grep at the same context spend. A missed caller can cause an edit to break working code.
Calculate the effect of a change: One codeweb call returned one small answer. A simulated grep search loop needed approximately 5 rounds and 126 times the tokens — and still had to guess.
Detect duplicate code: codeweb found every planted duplicate with zero false alarms, including renamed copies. Text search found 0% of the renamed copies.
Check deterministic results: Tests compared codeweb with the TypeScript compiler and other independent implementations more than 490,000 times, with zero disagreements.
Map and query quickly: The first map takes approximately 3 seconds for a repository with 3,000 symbols. Queries take approximately 0.1 seconds. A repository with twice as many symbols takes approximately 1.3 times as long to map.
Understand the limits: A new map after a very large edit can take more time. Agents also completed simple tasks successfully without codeweb.
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:
codeweb this month: 41 pre-edit card(s) · 5 card-named caller(s) followed · 2 regression(s) flagged · 120 queries servedTo 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.
Install
Free & MIT-licensed. Runs entirely on your machine — no account, no server, no telemetry. Reads your code; never executes it.
codeweb requires Node.js ≥ 22.
codeweb has zero required dependencies. CI verifies operation with an empty
node_modulesdirectory.The optional
web-tree-sitterwasm grammar improves extraction. codeweb does not require it.CI publishes releases with npm provenance. Run
npm audit signaturesto verify a release.
Using Claude Code? Install the plugin to add the /codeweb command, automatic pre-edit
impact cards, and all 28 tools:
/plugin marketplace add GhostlyGawd/codeweb
/plugin install codewebRestart Claude Code to register the /codeweb command, agents, and skill.
Cursor, Windsurf, Codex CLI, or another MCP agent: Register the zero-dependency stdio server. The example uses Claude Code syntax; per-client configuration blocks (Cursor, Windsurf, Codex CLI, Gemini CLI) and a paste-ready rules snippet that teaches your agent the before/after loop are on the start page:
claude mcp add codeweb -- npx -y -p @ghostlygawd/codeweb codeweb-mcpMap a repository without an AI agent: Run one command from your project directory:
cd your-project
npx -y @ghostlygawd/codeweb . # ~3 s for 3,000 symbols — then open .codeweb/report.htmlFor a temporary evaluation, use the npx command. It creates the map without a permanent
installation.
Run the engine from a clone:
git clone https://github.com/GhostlyGawd/codeweb.git
node codeweb/scripts/run.mjs /path/to/your/projectdocs/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.
What you can do
Each link lands on full docs, flags, and examples in the reference.
Know before you edit: Find callers, calculate the effect of a change, and check for an existing implementation. → Query the graph · context & pre-flight
Gate every edit: Get a structural regression result for an edit, pull request, or architecture rule. → The
diffverdict · the PR gate · the capability suiteClean up, ranked: Rank consolidation and dead-code work by evidence. →
optimize·hotspots·campaign·trend
Use
/codeweb # map the current project
/codeweb src/payments --depth symbol # deep-dive one subsystem
/codeweb https://github.com/owner/repo # external review before adopting
/codeweb owner/repo --open # clone, map, and open the reportAvailable 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.
Use it as an MCP tool
scripts/mcp-server.mjs is a zero-dependency Model Context Protocol (MCP) stdio server. It gives
each MCP client access to all 28 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:
claude mcp add codeweb -- npx -y -p @ghostlygawd/codeweb codeweb-mcpThe loop an agent runs: codeweb_brief once per session (or codeweb_find when no symbol name
is known) → codeweb_explain before touching a symbol → codeweb_context, codeweb_impact, or
codeweb_dependents before the edit → codeweb_refresh with snapshot:true, then codeweb_diff
after it. Clients that hide the server's built-in instructions can paste
the rules snippet instead.
The server includes these agent-specific features:
Optional
graphargument: The server finds the nearest map when you omitgraph. If no map exists, the error directs the agent tocodeweb_map.Budgeted responses: Responses include the highest-ranked items and the true totals. A context response that was approximately 300 KB is now approximately 10 KB.
Staleness information: A stale result identifies its state and directs the agent to
codeweb_refresh— on the orient tools and on every spawned advisor answer.
All 28 tools, grouped and explained →
How it works
For JavaScript, TypeScript, Python, Rust, Go, Java, C#, Ruby, PHP, Kotlin, Swift, C, and C++, 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 (
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.jsonfile enters the map as a file-level node without being parsed. An unreferenced.jsonfile stays out of the map, which prevents lock-file noise.Cluster (
cluster3.mjs) removes genuine utility hubs and groups the remaining nodes into directory-anchored semantic domains.Overlap (
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).Render (
build-report.mjs) convertsgraph.jsoninto the self-containedreport.htmlandreport.mdfiles.
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.
Versus a language server (LSP): an LSP answers one hop on demand — definitions, direct references — inside an editor session. codeweb builds one deterministic whole-graph artifact: transitive impact, duplication with body evidence, dead code, and domain coupling.
Agents query that artifact over MCP, and CI diffs it to gate a PR. The two compose — codeweb replaces the grep loop, not your language server.
Curious how the repo is laid out? The component map lives in the reference.
Roadmap
Support more first-class languages: codeweb currently supports thirteen native languages: JavaScript, TypeScript, Python, Rust, Go, Java, C#, Ruby, PHP, Kotlin, Swift, C, and C++. Other languages use the agent fallback. Dynamic-dispatch AST tiers cover JS/TS, Java, C#, Python, Go, Rust, Ruby, PHP, C, and C++. Kotlin and Swift dispatch requires a trusted wasm grammar at the pinned ABI. See
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 28 tools.
Versioning & releases
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:
npm run version-sync # propagate version + tool count -> plugin.json, SKILL.md, README badge
npm run check-consistency # fail if any public-facing surface has drifted
npm run build:site # regenerate the docs/ website (zero-dependency, deterministic)
npm run release -- --minor # roll the changelog, bump, sync, rebuild; prints the git/tag stepscheck-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.
About
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.
Free forever, and where the paid line sits
The rule, ratified in CHARTER.md: anything that runs on one laptop against one
repo is free forever; money buys hosting, multi-repo aggregation, and human attention.
Everything in this repository is that free half — the map, the MCP tools, the hooks, the report, the CLI, the self-hosted gate Action, and every language codeweb learns. MIT, no accounts, no telemetry, no license keys. Nothing here moves behind a payment later.
The paid half is a separate hosted service, codeweb Teams: the gate run for you, and history held across every repo in an org. Billing lives only in that service, so a payment problem degrades the hosted tier and never breaks your local tooling or your CI.
Read the full contract on the boundary page, and the planned Teams price on the pricing page.
Support the project
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.
Handoffs
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted code graph over MCP: exact callers, dependencies, and cross-repo blast radius for AI agents.
251An MCP server that gives your AI access to the source code and docs of all public github repos
MCP server for building and testing AI agents with multi-model experimentation and insights.
The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.
Related MCP Servers
- AlicenseBqualityAmaintenanceAn MCP server that provides structural codebase indexing and surgical query tools to drastically reduce token usage through symbol-level searches and transitive impact analysis. It supports multiple languages and integrates with git to help AI agents understand code dependencies and the impact of changes in sub-millisecond time.691,134MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that transforms codebases into intelligent, queryable knowledge bases, enabling AI assistants to perform semantic search, explore architecture, and analyze code relationships.166-
- AlicenseNot gradedqualityAmaintenanceMCP server for local-first code intelligence, providing structural code graph, semantic search, and impact analysis to AI agents.2MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server for codebase context that gives AI coding agents structural understanding through symbol graph, semantic search, blast radius, and convention detection tools.35MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GhostlyGawd/codeweb'
If you have feedback or need assistance with the MCP directory API, please join our Discord server