mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-11-04 10:48:20 +00:00
Merge origin/main into feat/path-allow-broad-too-shallow-override
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
This commit is contained in:
commit
0685110e22
118 files changed
+7275
-961
No files matched your search
+14
-6
@@ -87,9 +87,9 @@ Current keys:
|
||||
|---|---|---|
|
||||
| `auto_index` | `false` | Automatically index new projects when an MCP session starts. |
|
||||
| `auto_index_limit` | `50000` | Maximum file count allowed for automatic indexing of a new project. |
|
||||
| `auto_watch` | `true` | Register the session's project with the background git watcher on connect. Set `false` to keep a session from registering its project (the watcher still runs for other projects). |
|
||||
| `auto_watch` | `true` | Global switch for MCP session watch registration. On the next refresh or registration request, `true` allows session roots and successful `index_repository` targets to be watched; `false` removes all watches. The background watcher can still run with no registered projects. |
|
||||
| `doc_candidates` | `auto` | Score documentation sections against code to store doc↔code candidates (the possible targets of a section, and the sections that may describe a function or file, each with a judged probability). Unset (`auto`), the index mode decides: on for `full` indexes (the default mode), off for `moderate` and `fast`. Set `true` or `false` to choose for every mode; `config reset doc_candidates` returns to `auto`. The scoring grows with sections × functions: under a second up to ~100k functions, ~15 s at ~400k, ~3 minutes on the Linux kernel. Off stores no candidates and leaves the rest of the graph unchanged; on in `fast` mode stores candidates without adding `fast`'s skipped `SIMILAR_TO` / `SEMANTICALLY_RELATED` edges. `index_repository` also takes `doc_candidates` for a single index, which wins over this setting. Applies from the next index. |
|
||||
| `watcher_enabled` | `true` | Master switch for the background watcher subsystem. Set `false` to stop the watcher from starting at all — no poll thread and no project registration. Reindex manually with `index_repository` when disabled. Only an open MCP session's own project is ever watched; `index_status` reports the current state in its `watch` object. |
|
||||
| `watcher_enabled` | `true` | Master switch for the background watcher subsystem. Set `false` to stop the watcher from starting at all — no poll thread and no project registration. Reindex manually with `index_repository` when disabled. Active MCP sessions can register their root project and successful explicit index targets; `index_status` reports the current state in its `watch` object. |
|
||||
| `watch_non_git` | `false` | Also poll project roots that are **not git repositories**. By default the watcher only follows git projects, so a project indexed from a plain directory is never refreshed after its first index — reindex it manually with `index_repository`. Set `true` to poll such roots on the same adaptive cadence with a file-tree scan: the indexer's own discovery walk (same skip lists, `.gitignore` and `.cbmignore` rules) hashed over each file's path, size and mtime. Any change reindexes once; paths the indexer skips (including cbm's own `.codebase-memory/` output) never trigger. The first poll after the daemon starts reindexes each such project once, since nothing records which tree state the index holds. The scan walks the whole tree every poll, so it costs more than git polling on very large trees. Read once when the daemon starts, like `watcher_enabled`. |
|
||||
| `index_max_files` | `off` | Optional maximum number of accepted source files in one discovery run. |
|
||||
| `index_max_source_mb` | `off` | Optional maximum accepted source size in MiB in one discovery run. |
|
||||
@@ -102,15 +102,23 @@ has not run yet).
|
||||
|
||||
> **`watcher_enabled` vs `auto_watch`.** `watcher_enabled` controls whether the
|
||||
> watcher *subsystem* starts at all (the background poll thread). `auto_watch` is
|
||||
> narrower: it only controls whether a connecting session registers *its own*
|
||||
> project with an already-running watcher. When `watcher_enabled=false`,
|
||||
> narrower: it globally controls MCP session watch registration. On the next
|
||||
> refresh or registration request, `false` removes all watches; `true` allows
|
||||
> session roots and successful explicit `index_repository` targets to register.
|
||||
> Watcher refreshes retain `mode`, `persistence`, and the resolved
|
||||
> `doc_candidates` boolean from the latest successful explicit index registered
|
||||
> for that target. This boolean can come from the request or its global setting.
|
||||
> When neither supplied a boolean, refresh uses the current setting or mode default.
|
||||
> A watcher callback also observes `auto_watch=false`: it removes all watches
|
||||
> before admitting any new refresh work.
|
||||
> When `watcher_enabled=false`,
|
||||
> `auto_watch` has no effect — there is no watcher to register with.
|
||||
>
|
||||
> They also differ in **when they are read**, which matters because the watcher
|
||||
> lives in the background daemon, not in your MCP client:
|
||||
>
|
||||
> - `auto_watch` is consulted each time a session would register its project, so
|
||||
> a change applies to sessions that connect afterwards.
|
||||
> - `auto_watch` takes effect on the next refresh or registration request and
|
||||
> applies globally to session roots and successful `index_repository` targets.
|
||||
> - `watcher_enabled` is read **once, when the daemon starts**, because it decides
|
||||
> whether the watcher is built at all. The daemon is long-lived and outlives
|
||||
> individual MCP sessions, so **reconnecting your client is not enough** — retire
|
||||
|
||||
+39
-35
@@ -1,49 +1,53 @@
|
||||
# CBM Lens Beta README captures
|
||||
|
||||
These are screenshots and browser recordings of the application, captured on 12–13 October 2026. The application data and text were not retouched. Bernhard Jackiewicz captured the recordings and PNG stills on 12 October. The Explorer and Galaxy JPEG stills were refreshed on 13 October. One addition is drawn on top of the recordings: a small mouse pointer and click ring, because a headless browser shows no pointer of its own.
|
||||
These are screenshots and browser recordings of the real application using public source from this repository. The application data and text were not retouched. The GIFs were refreshed on 20 October 2026; the still images preserve the earlier captures from 12–13 October.
|
||||
|
||||
## Original captures: 12 October
|
||||
## High-resolution recordings: 20 October
|
||||
|
||||
- Repository: [DeusData/codebase-memory-mcp](https://github.com/DeusData/codebase-memory-mcp)
|
||||
- Branch: `main`, after [PR #2068](https://github.com/DeusData/codebase-memory-mcp/pull/2068) brought CBM Lens Beta in
|
||||
- Commit: `4d9592b5`
|
||||
- Build: `scripts/build.sh --with-ui`
|
||||
- Browser: headless Chromium (Playwright) on macOS, English locale, viewport 1440 × 900, device scale factor 1
|
||||
- Agents: standard build, experimental agent activity disabled
|
||||
- Source commit: `4cf44147e639ae070ee44d9230244bfb9d9676e0`
|
||||
- Build: `make -f Makefile.cbm cbm-with-ui`, with the standard frontend and experimental agent activity disabled
|
||||
- Capture: built-in browser screenshots on macOS, English locale, native viewport **1600 × 1000**, **12 frames per second**
|
||||
- Encoding: JPEG screenshot frames converted to GIF with one 256-color palette per recording, no dithering, infinite looping; no upscaling, sharpening or pointer overlays
|
||||
|
||||
The `v0.0.1` label in the application is the frontend package version. It is not the backend release version.
|
||||
The `v0.0.1` label is the frontend package version, not the backend release version. Standard native releases include Lens; using a source build for these recordings is a capture-provenance detail, not an installation requirement.
|
||||
|
||||
### Data shown
|
||||
### Data and interaction
|
||||
|
||||
The project `codebase-memory-mcp` is an export of the same public commit (`git archive`), indexed in `full` mode into an isolated local cache. No private repository was used. Because the export has no `.git` folder, Explore reports "Git unavailable" in its file impact line.
|
||||
The project `codebase-memory-mcp` is a clean `git archive` export of the source commit, indexed in `full` mode into an isolated local cache. No private repository was used. Because the export has no `.git` folder, the interface reports "Git unavailable" where applicable.
|
||||
|
||||
The index reported 75,037 nodes and 361,349 edges. These are properties of this source scope, not a benchmark. The interface keeps its coverage and display-limit notices.
|
||||
The index reported 81,190 nodes and 411,072 edges. These counts describe this source scope, not a benchmark or proof of complete repository coverage. The interface retains its coverage and display-limit notices. The clips join recorded interaction segments with pauses shortened between them; their displayed application states and answers are unchanged. Directional pulses represent indexed relationships, not observed execution.
|
||||
|
||||
## Refreshed stills: 13 October
|
||||
| Recording | Duration | What it shows |
|
||||
|-----------|----------|---------------|
|
||||
| [lens-overview.gif](lens-overview.gif) | 12.5 seconds | Architecture overview, opening `src/foundation`, browsing its files, selecting `arena.c` and reading its source beside the map. |
|
||||
| [lens-galaxy.gif](lens-galaxy.gif) | 12 seconds | Expanding outgoing relationships around `cbm_arena_alloc`, switching to the hierarchy and tracing the two-hop call path `cbm_arena_alloc → arena_grow → cbm_alloc`. |
|
||||
| [lens-chat.gif](lens-chat.gif) | 11.5 seconds | `arena_grow` selected in Galaxy, with caller and callee questions answered directly from the indexed graph. |
|
||||
|
||||
All three GIFs are 1600 × 1000. Their frames and playback duration were decoded and checked after export. README and website use these same files.
|
||||
|
||||
### Local chat check
|
||||
|
||||
The optional Qwen2.5 Coder 0.5B model was downloaded and loaded through the application's own setup. Automatic explanations were disabled for this recording. Both displayed answers are deterministic graph answers, labelled "Listed from the indexed graph; not generated by the model." The clip shows one incoming `CALLS` relationship from `cbm_arena_alloc` and two outgoing `CALLS` relationships to `cbm_alloc` and `cbm_free`, alongside the other indexed relationship types. It does not demonstrate model-generated prose.
|
||||
|
||||
## Original still images: 12 October
|
||||
|
||||
Bernhard Jackiewicz captured the PNG stills on 12 October 2026, from commit `4d9592b5` on `main` after [PR #2068](https://github.com/DeusData/codebase-memory-mcp/pull/2068). The build used `scripts/build.sh --with-ui`; headless Chromium on macOS used English locale, a 1440 × 900 viewport and device scale factor 1. Experimental agent activity was disabled.
|
||||
|
||||
The indexed project was a public `git archive` export of that commit in `full` mode, with 75,037 nodes and 361,349 edges. The PNG stills are 1440 × 900, except the chat still at 1440 × 1200 so the explanation and answer fit together. These are historical application views, also used as reduced-motion alternatives on the website; they are not extracted from the new GIFs.
|
||||
|
||||
| Still | What it shows |
|
||||
|-------|---------------|
|
||||
| [lens-architecture.png](lens-architecture.png) | The whole repository on the architecture map. |
|
||||
| [lens-chat.png](lens-chat.png) | A local model explanation of `cbm_pipeline_pass_doclinks` and a caller answer listed from the graph. |
|
||||
| [lens-system-structure.png](lens-system-structure.png) | Component groups and their dependencies in System structure, with `src` selected. |
|
||||
| [lens-behavior.png](lens-behavior.png) | Possible direct calls of `compileCards`, with its declaration. |
|
||||
|
||||
## Refreshed still images: 13 October
|
||||
|
||||
`lens-explore.jpg` and `lens-galaxy.jpg` are unedited browser captures at 1280 × 720 from the locally served CBM Lens Beta UI. The running binary reports `dev`; its exact build commit is unavailable, so these captures do not certify an exact source revision. The local project is named `cbm-triage-main-20260919`; the screenshots show public CBM source and indexed relationships.
|
||||
|
||||
- **Explore:** `src/foundation/limits.c`, its compact file impact summary and direct dependencies (24 nodes, 26 edges). The UI's freshness, sampling and coverage caveats remain visible.
|
||||
- **Galaxy:** `cbm_max_file_bytes`, both directions, all edge types, two layers (160 nodes, 218 edges).
|
||||
- **[Explore](lens-explore.jpg):** `src/foundation/limits.c`, its compact file impact summary and direct dependencies (24 nodes, 26 edges). The UI's freshness, sampling and coverage notices remain visible.
|
||||
- **[Galaxy](lens-galaxy.jpg):** `cbm_max_file_bytes`, both directions, all edge types, two layers (160 nodes, 218 edges).
|
||||
|
||||
These counts describe the displayed index snapshot, not a benchmark or proof of complete repository coverage. The original recordings and other stills are unchanged.
|
||||
|
||||
## Media
|
||||
|
||||
| File | What it shows |
|
||||
|------|---------------|
|
||||
| [lens-overview.gif](lens-overview.gif) | Architecture overview of the repository: zoom and a small orbit, selecting `src/pipeline`, opening that area, selecting `artifact.c` and opening its source. |
|
||||
| [lens-architecture.png](lens-architecture.png) | Still image of the whole repository on the architecture map. |
|
||||
| [lens-galaxy.gif](lens-galaxy.gif) | Galaxy: searching `cbm_pipeline_run`, following its outgoing calls one layer further, the hierarchy view and the path to `cbm_store_check_integrity`. |
|
||||
| [lens-galaxy.jpg](lens-galaxy.jpg) | Two dependency layers around `cbm_max_file_bytes`, with direction and edge-type controls. |
|
||||
| [lens-explore.jpg](lens-explore.jpg) | `src/foundation/limits.c` in the reader with its file impact summary, file tree and direct graph dependencies. |
|
||||
| [lens-chat.gif](lens-chat.gif) | The chat with the local Qwen2.5 Coder 0.5B model: the explanation of `cbm_pipeline_pass_doclinks` and "Who calls cbm_pipeline_pass_doclinks?" answered from the graph. |
|
||||
| [lens-chat.png](lens-chat.png) | Still image of the same explanation and listed answer. |
|
||||
| [lens-system-structure.png](lens-system-structure.png) | Component groups and their dependencies in System structure, `src` selected. |
|
||||
| [lens-behavior.png](lens-behavior.png) | Possible direct calls of `compileCards`, with its declaration. |
|
||||
|
||||
The recordings were captured as browser video, then encoded as GIF at 960 pixels wide and 10 frames per second with a palette per recording. While a search is typed, the Galaxy briefly shows "No matching indexed nodes." until the index search answers; those frames (under one second) were cut. The original PNG stills are 1440 × 900, the chat still 1440 × 1200 so that the explanation and the answer fit together. The refreshed JPEG stills are 1280 × 720. Directional pulses represent indexed relationships, not observed execution.
|
||||
|
||||
## Local chat check
|
||||
|
||||
The chat recording uses the actual browser model, downloaded through the application's own setup. The explanation lists the indexed facts and the declaration of the selected function; the one sentence after them was written by the model and is labelled as such. The caller answer is listed from the indexed graph without the model.
|
||||
These counts describe the displayed index snapshot, not a benchmark or proof of complete repository coverage.
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 700 KiB After Width: | Height: | Size: 2.2 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 3.4 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 1.8 MiB |
+146
-82
@@ -3,55 +3,103 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Codebase Memory — Connect your code, docs and infrastructure</title>
|
||||
<meta name="description" content="Local code intelligence for developers and AI agents. Connect code, documentation and infrastructure in a persistent graph. Explore CBM Lens, query 17 MCP tools, configure agent integrations, and investigate change and test impact.">
|
||||
<title>Codebase Memory — Local Code Intelligence & MCP</title>
|
||||
<meta name="description" content="A local MCP server for AI coding agents. Connect code, docs and infrastructure in a persistent knowledge graph, with 17 tools and native CLI access.">
|
||||
<meta name="author" content="DeusData">
|
||||
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1">
|
||||
<meta name="theme-color" content="#0a0e0d">
|
||||
<meta property="og:title" content="Codebase Memory — Understand the whole repository">
|
||||
<meta property="og:description" content="Connect code, docs and infrastructure. Explore the graph in CBM Lens, give your agent structural context, and follow the impact of a change.">
|
||||
<meta property="og:title" content="Codebase Memory — Local Code Intelligence & MCP">
|
||||
<meta property="og:description" content="A local MCP server for AI coding agents. Connect code, docs and infrastructure in a persistent knowledge graph, with 17 tools and native CLI access.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://deusdata.github.io/codebase-memory-mcp/">
|
||||
<meta property="og:image" content="https://deusdata.github.io/codebase-memory-mcp/images/lens-architecture.png">
|
||||
<meta property="og:image:alt" content="CBM Lens architecture view of the codebase-memory-mcp repository">
|
||||
<meta property="og:image:width" content="1440">
|
||||
<meta property="og:image:height" content="900">
|
||||
<meta property="og:locale" content="en_US">
|
||||
<meta property="og:site_name" content="Codebase Memory">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Codebase Memory — Understand the whole repository">
|
||||
<meta name="twitter:description" content="Local code intelligence for developers and AI agents. Code, docs, infrastructure, CBM Lens and experimental Smart CI.">
|
||||
<meta name="twitter:title" content="Codebase Memory — Local Code Intelligence & MCP">
|
||||
<meta name="twitter:description" content="A local MCP server for AI coding agents. Connect code, docs and infrastructure in a persistent knowledge graph, with 17 tools and native CLI access.">
|
||||
<meta name="twitter:image" content="https://deusdata.github.io/codebase-memory-mcp/images/lens-architecture.png">
|
||||
<meta name="twitter:image:alt" content="CBM Lens architecture view of the codebase-memory-mcp repository">
|
||||
<link rel="canonical" href="https://deusdata.github.io/codebase-memory-mcp/">
|
||||
<link rel="alternate" type="text/plain" href="llms.txt" title="Codebase Memory facts and documentation">
|
||||
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='6' fill='%230a0e0d'/%3E%3Cg stroke='%2333ff99' stroke-width='2'%3E%3Cpath d='M9 9L23 16L10 24Z' fill='none'/%3E%3C/g%3E%3Cg fill='%2333ff99'%3E%3Ccircle cx='9' cy='9' r='3.5'/%3E%3Ccircle cx='23' cy='16' r='3.5'/%3E%3Ccircle cx='10' cy='24' r='3.5'/%3E%3C/g%3E%3C/svg%3E">
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "codebase-memory-mcp",
|
||||
"alternateName": "Codebase Memory",
|
||||
"applicationCategory": "DeveloperApplication",
|
||||
"operatingSystem": "macOS, Linux, Windows",
|
||||
"description": "Local code intelligence connecting source code, documentation and infrastructure in a persistent knowledge graph, with CBM Lens, MCP tools, agent integrations and experimental C/C++ test selection.",
|
||||
"url": "https://deusdata.github.io/codebase-memory-mcp/",
|
||||
"downloadUrl": "https://github.com/DeusData/codebase-memory-mcp/releases/latest",
|
||||
"codeRepository": "https://github.com/DeusData/codebase-memory-mcp",
|
||||
"programmingLanguage": "C",
|
||||
"license": "https://opensource.org/licenses/MIT",
|
||||
"isAccessibleForFree": true,
|
||||
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
|
||||
"featureList": [
|
||||
"Persistent local graph of code, documentation and infrastructure",
|
||||
"Structural, full-text and local semantic search",
|
||||
"Hybrid LSP semantic type resolution for supported language families",
|
||||
"17 MCP tools, CLI access and Cypher graph queries",
|
||||
"CBM Lens source navigation, architecture maps and Galaxy graph",
|
||||
"Documentation sections, PDF text pages and architecture decision records",
|
||||
"Static infrastructure, deployment and configuration relationships",
|
||||
"Cross-service and cross-repository linking",
|
||||
"Change impact, coverage diagnostics and optional runtime trace ingestion",
|
||||
"Experimental C/C++ test selection using static relationships and admitted per-test coverage",
|
||||
"45 automatic/conditional client surfaces with client-specific setup",
|
||||
"Optional browser AI with on-device inference"
|
||||
],
|
||||
"author": { "@type": "Organization", "name": "DeusData", "url": "https://github.com/DeusData" }
|
||||
"@graph": [
|
||||
{
|
||||
"@type": "WebPage",
|
||||
"@id": "https://deusdata.github.io/codebase-memory-mcp/#webpage",
|
||||
"url": "https://deusdata.github.io/codebase-memory-mcp/",
|
||||
"name": "Codebase Memory — Local Code Intelligence & MCP",
|
||||
"description": "A local MCP server for AI coding agents. Connect code, docs and infrastructure in a persistent knowledge graph, with 17 tools and native CLI access.",
|
||||
"inLanguage": "en",
|
||||
"mainEntity": {
|
||||
"@id": "https://deusdata.github.io/codebase-memory-mcp/#software"
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "Codebase Memory",
|
||||
"alternateName": [
|
||||
"codebase-memory-mcp",
|
||||
"CBM"
|
||||
],
|
||||
"applicationCategory": "DeveloperApplication",
|
||||
"operatingSystem": "macOS, Linux, Windows",
|
||||
"description": "A local MCP server for AI coding agents. Connect code, docs and infrastructure in a persistent knowledge graph, with 17 tools and native CLI access.",
|
||||
"url": "https://deusdata.github.io/codebase-memory-mcp/",
|
||||
"downloadUrl": "https://github.com/DeusData/codebase-memory-mcp/releases/latest",
|
||||
"license": "https://opensource.org/licenses/MIT",
|
||||
"isAccessibleForFree": true,
|
||||
"offers": {
|
||||
"@type": "Offer",
|
||||
"price": "0",
|
||||
"priceCurrency": "USD"
|
||||
},
|
||||
"featureList": [
|
||||
"Persistent local graph of code, documentation and infrastructure",
|
||||
"Structural, full-text and local semantic search",
|
||||
"Hybrid LSP semantic type resolution for supported language families",
|
||||
"17 MCP tools, CLI access and Cypher graph queries",
|
||||
"Optional CBM Lens visual companion: source navigation, architecture maps and Galaxy graph (open beta)",
|
||||
"Documentation sections, PDF text pages and architecture decision records",
|
||||
"Static infrastructure, deployment and configuration relationships",
|
||||
"Cross-service and cross-repository linking",
|
||||
"Change impact, coverage diagnostics and optional runtime trace ingestion",
|
||||
"Experimental C/C++ test selection using static relationships and admitted per-test coverage",
|
||||
"45 automatic/conditional client surfaces with client-specific setup",
|
||||
"Optional browser AI with on-device inference"
|
||||
],
|
||||
"author": {
|
||||
"@type": "Organization",
|
||||
"name": "DeusData",
|
||||
"url": "https://github.com/DeusData"
|
||||
},
|
||||
"@id": "https://deusdata.github.io/codebase-memory-mcp/#software",
|
||||
"image": "https://deusdata.github.io/codebase-memory-mcp/images/lens-architecture.png",
|
||||
"mainEntityOfPage": {
|
||||
"@id": "https://deusdata.github.io/codebase-memory-mcp/#webpage"
|
||||
},
|
||||
"isBasedOn": {
|
||||
"@id": "https://deusdata.github.io/codebase-memory-mcp/#source"
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "SoftwareSourceCode",
|
||||
"@id": "https://deusdata.github.io/codebase-memory-mcp/#source",
|
||||
"name": "codebase-memory-mcp",
|
||||
"codeRepository": "https://github.com/DeusData/codebase-memory-mcp",
|
||||
"programmingLanguage": "C",
|
||||
"license": "https://opensource.org/licenses/MIT",
|
||||
"targetProduct": {
|
||||
"@id": "https://deusdata.github.io/codebase-memory-mcp/#software"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
@@ -85,10 +133,16 @@
|
||||
.nav { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 28px; }
|
||||
.brand { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--text); letter-spacing: -.025em; white-space: nowrap; }
|
||||
.brand svg { width: 27px; height: 27px; color: var(--green); }
|
||||
.nav-links { display: flex; gap: 28px; align-items: center; font-size: 13px; }
|
||||
.nav-links { display: flex; gap: 24px; align-items: center; margin-left: auto; font-size: 13px; white-space: nowrap; }
|
||||
.nav-links a { color: var(--muted); }
|
||||
.nav-links a:hover { color: var(--green); }
|
||||
.nav-links .nav-install { border: 1px solid var(--line); border-radius: 6px; padding: 8px 15px; color: var(--text); }
|
||||
.nav-actions, .community-badges { display: flex; align-items: center; gap: 10px; }
|
||||
.community-link, .nav-install { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 8px 13px; border: 1px solid var(--line); border-radius: 6px; font-size: 12px; font-weight: 500; white-space: nowrap; }
|
||||
.community-link { color: var(--muted); background: var(--panel); }
|
||||
.community-link svg { width: 16px; height: 16px; flex: none; color: var(--green); }
|
||||
.nav-install { color: var(--green); background: var(--selected); }
|
||||
.community-link:hover, .nav-install:hover { color: var(--text); border-color: var(--green); text-decoration: none; }
|
||||
@media (max-width: 950px) { .nav-links { display: none; } }
|
||||
.eyebrow { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--green); margin-bottom: 23px; }
|
||||
.hero { padding: 80px 0 0; }
|
||||
.hero-top { display: grid; grid-template-columns: 1fr 270px; gap: 65px; align-items: end; }
|
||||
@@ -203,7 +257,6 @@
|
||||
@media (max-width: 950px) {
|
||||
.hero-top { grid-template-columns: 1fr; gap: 25px; }
|
||||
.hero-aside { display: none; }
|
||||
.nav-links { gap: 17px; }
|
||||
.section-head { align-items: start; gap: 30px; }
|
||||
.section-head p { max-width: 300px; }
|
||||
.connection-grid { gap: 24px; }
|
||||
@@ -215,12 +268,15 @@
|
||||
}
|
||||
@media (max-width: 680px) {
|
||||
.container { width: calc(100% - 36px); }
|
||||
.nav { min-height: 65px; gap: 12px; }
|
||||
html { scroll-padding-top: 140px; }
|
||||
.nav { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 12px 0; }
|
||||
.nav .brand { grid-column: 1; grid-row: 1; }
|
||||
.nav-actions { display: contents; }
|
||||
.nav-install { grid-column: 2; grid-row: 1; }
|
||||
.community-badges { grid-column: 1 / -1; grid-row: 2; }
|
||||
.community-link { flex: 1; }
|
||||
.brand { font-size: 14px; }
|
||||
.brand svg { width: 23px; }
|
||||
.nav-links { gap: 12px; font-size: 12px; }
|
||||
.nav-links .desktop-link { display: none; }
|
||||
.nav-links .nav-install { padding: 7px 12px; }
|
||||
.hero { padding-top: 50px; }
|
||||
h1 { font-size: clamp(42px, 10.5vw, 64px); }
|
||||
.hero-intro { font-size: 17px; }
|
||||
@@ -267,10 +323,15 @@
|
||||
Codebase Memory
|
||||
</a>
|
||||
<div class="nav-links">
|
||||
<a class="desktop-link" href="#features">Capabilities</a>
|
||||
<a class="desktop-link" href="#lens">CBM Lens</a>
|
||||
<a class="desktop-link" href="#smart-ci">Smart CI</a>
|
||||
<a href="https://github.com/DeusData/codebase-memory-mcp">GitHub ↗</a>
|
||||
<a href="#features">Capabilities</a>
|
||||
<a href="#lens">Lens beta</a>
|
||||
<a href="#smart-ci">Smart CI</a>
|
||||
</div>
|
||||
<div class="nav-actions">
|
||||
<div class="community-badges" role="group" aria-label="Community links">
|
||||
<a class="community-link" href="https://discord.gg/KguGXxg2X" title="Join the community on Discord"><svg viewBox="0 0 16 16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 2.5h10v8H7l-3.5 3v-3H3z"/><path d="M5.5 5.5h5M5.5 8h3"/></svg>Discord</a>
|
||||
<a class="community-link" href="https://github.com/DeusData/codebase-memory-mcp" title="Star Codebase Memory on GitHub"><svg viewBox="0 0 16 16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m8 1.5 2 4.1 4.5.7-3.3 3.2.8 4.5L8 11.9 4 14l.8-4.5L1.5 6.3l4.5-.7z"/></svg>Star on GitHub</a>
|
||||
</div>
|
||||
<a class="nav-install" href="#install">Get started</a>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -279,28 +340,29 @@
|
||||
<section class="hero" id="what-is-it">
|
||||
<div class="hero-top">
|
||||
<div>
|
||||
<p class="eyebrow">Local code intelligence · Open source</p>
|
||||
<p class="eyebrow">Local MCP server · Open source</p>
|
||||
<h1>Understand the<br><span>whole repository.</span></h1>
|
||||
<p class="hero-intro">Your code, documentation and infrastructure, connected in one persistent graph. Give your agent structural context. Follow the evidence yourself in CBM Lens.</p>
|
||||
<p class="hero-intro">Codebase Memory (CBM) is an open-source server for the Model Context Protocol (MCP). Give your AI coding agent a persistent knowledge graph of code, documentation and infrastructure. Search symbols, trace relationships and retrieve source evidence through 17 MCP tools.</p>
|
||||
<p>Focused graph queries help reduce repeated code reading and token use. <a href="#token-savings">See the evidence →</a></p>
|
||||
<div class="actions">
|
||||
<a class="button primary" href="#install">Install Codebase Memory <span aria-hidden="true">↗</span></a>
|
||||
<a class="button" href="#lens">Explore CBM Lens <span aria-hidden="true">↓</span></a>
|
||||
<a class="button primary" href="#install">Install the MCP server <span aria-hidden="true">↗</span></a>
|
||||
<a class="button" href="#features">Explore the MCP tools <span aria-hidden="true">↓</span></a>
|
||||
</div>
|
||||
<p class="hero-note">macOS · Linux · Windows / Native C · MIT licensed</p>
|
||||
</div>
|
||||
<div class="hero-aside">
|
||||
<strong>For your agent</strong><p>Precise graph queries, source evidence and coverage checks through MCP.</p>
|
||||
<strong>For you</strong><p>Source navigation, architecture maps and a visible path from question to code.</p>
|
||||
<strong>For your agent</strong><p>17 MCP tools, source evidence and coverage checks, with client-specific skills, profiles and hooks.</p>
|
||||
<strong>For your workflow</strong><p>Native CLI access, persistent indexes and optional visual exploration in Lens.</p>
|
||||
</div>
|
||||
</div>
|
||||
<figure class="product-shot">
|
||||
<div class="shot-bar"><span class="live">CBM LENS BETA</span><span class="shot-path">codebase-memory-mcp / architecture</span><span>LOCAL WORKSPACE</span></div>
|
||||
<a href="images/lens-architecture.png" aria-label="View the full CBM Lens architecture screenshot"><img src="images/lens-architecture.png" alt="CBM Lens architecture map showing the source folders of codebase-memory-mcp" fetchpriority="high"></a>
|
||||
<figcaption>CBM Lens, exploring this repository. Real product captures from October 2026. <a href="https://github.com/DeusData/codebase-memory-mcp/blob/main/docs/images/README.md">Capture details ↗</a></figcaption>
|
||||
<div class="shot-bar"><span class="live">CBM LENS · OPEN BETA v0.0.1</span><span class="shot-path">codebase-memory-mcp / architecture</span><span>LOCAL WORKSPACE</span></div>
|
||||
<a href="images/lens-overview.gif" aria-label="View the full CBM Lens architecture walkthrough"><picture><source media="(prefers-reduced-motion: reduce)" srcset="images/lens-architecture.png" width="1440" height="900"><img src="images/lens-overview.gif" width="1600" height="1000" alt="CBM Lens architecture walkthrough: open src/foundation, select arena.c and read its source beside the map" fetchpriority="high"></picture></a>
|
||||
<figcaption>See the MCP server’s graph through CBM Lens, its optional visual companion. Open beta v0.0.1, captured in October 2026. <a href="https://github.com/DeusData/codebase-memory-mcp/blob/main/docs/images/README.md">Capture details ↗</a></figcaption>
|
||||
</figure>
|
||||
<div class="facts" aria-label="Project at a glance">
|
||||
<div><strong>One connected graph</strong><span>Source, docs and infrastructure</span></div>
|
||||
<div><strong>17 MCP tools</strong><span>Plus a CLI and CBM Lens</span></div>
|
||||
<div><strong>17 MCP tools</strong><span>Plus native CLI access</span></div>
|
||||
<div><strong>45 client surfaces</strong><span>Automatic or conditional setup</span></div>
|
||||
<div><strong>Local processing</strong><span>Your index stays on your machine</span></div>
|
||||
</div>
|
||||
@@ -337,31 +399,10 @@
|
||||
<p class="fine">Relationships come from supported source forms. Dynamic values and unresolved references can leave gaps; PDF extraction requires a text layer and does not perform OCR.</p>
|
||||
</section>
|
||||
|
||||
<section class="section" id="lens">
|
||||
<div class="section-head">
|
||||
<div><p class="eyebrow">CBM Lens Beta</p><h2>A workspace for<br>understanding your code.</h2></div>
|
||||
<p>Included in standard native releases. Open the local browser interface and move from the shape of a system to the source behind a symbol.</p>
|
||||
</div>
|
||||
<div class="lens-grid">
|
||||
<figure><a href="images/lens-explore.jpg" aria-label="View the full CBM Lens source navigation screenshot"><img src="images/lens-explore.jpg" alt="Lens source reader beside the file impact summary and graph dependencies for limits.c" loading="lazy"></a><figcaption>Source navigation with indexed relationships and impact context.</figcaption></figure>
|
||||
<div class="lens-copy">
|
||||
<div><h3>Read code in context</h3><p>Browse files and symbols, inspect callers and dependencies, and keep the relevant source beside the graph.</p></div>
|
||||
<div><h3>See the shape of the system</h3><p>Explore architecture, system structure and the Galaxy graph. Inspect coverage diagnostics and architecture decisions from the same workspace.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gallery">
|
||||
<figure><a href="images/lens-galaxy.jpg" aria-label="View the full Lens Galaxy screenshot"><img src="images/lens-galaxy.jpg" alt="CBM Lens Galaxy graph for exploring symbols and relationships" loading="lazy"></a><figcaption><strong>Follow the connections</strong>Search and expand the Galaxy graph.</figcaption></figure>
|
||||
<figure><a href="images/lens-system-structure.png" aria-label="View the full Lens system structure screenshot"><img src="images/lens-system-structure.png" alt="CBM Lens system structure showing source groups and their dependencies" loading="lazy"></a><figcaption><strong>Inspect system structure</strong>See source groups and dependencies.</figcaption></figure>
|
||||
<figure><a href="images/lens-chat.png" aria-label="View the full Lens local chat screenshot"><img src="images/lens-chat.png" alt="CBM Lens optional local chat explaining selected source using indexed facts" loading="lazy"></a><figcaption><strong>Ask about selected code</strong>Optional browser AI, with on-device inference.</figcaption></figure>
|
||||
</div>
|
||||
<p class="fine">Lens is served on loopback. Browser AI downloads its optional model after you enable it. Its explanations should be checked against the displayed source.</p>
|
||||
<a class="source-link" href="https://github.com/DeusData/codebase-memory-mcp#cbm-lens-beta-code-visualization-and-source-navigation">Read the Lens guide and watch the walkthroughs →</a>
|
||||
</section>
|
||||
|
||||
<section class="section" id="features">
|
||||
<div class="section-head">
|
||||
<div><p class="eyebrow">Code intelligence</p><h2>Ask better questions<br>of your repository.</h2></div>
|
||||
<p>Use the same persistent graph through your coding agent, the CLI or Lens. Open source evidence whenever a result needs verification.</p>
|
||||
<p>Give your coding agent structural context through 17 MCP tools. Query the same graph from the CLI and open source evidence whenever a result needs verification.</p>
|
||||
</div>
|
||||
<article class="feature-row" id="semantic-search"><h3>Find the right starting point</h3><div><p>Search by symbol, structure, text or meaning. Combine regex and graph filters, BM25 full-text search, and local semantic search to find relevant code even when the wording differs.</p><div class="tags"><span class="tag">search_graph</span><span class="tag">search_code</span><span class="tag">get_file_outline</span></div></div></article>
|
||||
<article class="feature-row" id="hybrid-lsp"><h3>Follow actual relationships</h3><div><p>Tree-sitter parsing and Hybrid LSP resolution build call and dependency relationships for supported languages. Trace callers, callees, data flow and supported cross-service links; query more complex patterns with Cypher.</p><p>Language and framework coverage varies. <a href="https://github.com/DeusData/codebase-memory-mcp#language-support">Check the support matrix →</a></p></div></article>
|
||||
@@ -399,8 +440,29 @@
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="section" id="lens">
|
||||
<div class="section-head">
|
||||
<div><p class="eyebrow">CBM Lens · Open beta v0.0.1</p><h2>A visual companion<br>to the MCP server.</h2></div>
|
||||
<p>An optional way to explore the same graph your agent queries. Included in standard native releases, with source navigation, architecture maps and the Galaxy view.</p>
|
||||
</div>
|
||||
<div class="lens-grid">
|
||||
<figure><a href="images/lens-explore.jpg" aria-label="View the full CBM Lens source navigation screenshot"><img src="images/lens-explore.jpg" width="1280" height="720" alt="Lens source reader beside the file impact summary and graph dependencies for limits.c" loading="lazy"></a><figcaption>Source navigation with indexed relationships and impact context.</figcaption></figure>
|
||||
<div class="lens-copy">
|
||||
<div><h3>Read code in context</h3><p>Browse files and symbols, inspect callers and dependencies, and keep the relevant source beside the graph.</p></div>
|
||||
<div><h3>See the shape of the system</h3><p>Explore architecture, system structure and the Galaxy graph. Inspect coverage diagnostics and architecture decisions from the same workspace.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gallery">
|
||||
<figure><a href="images/lens-galaxy.gif" aria-label="View the full CBM Lens Galaxy walkthrough"><picture><source media="(prefers-reduced-motion: reduce)" srcset="images/lens-galaxy.jpg" width="1280" height="720"><img src="images/lens-galaxy.gif" width="1600" height="1000" alt="CBM Lens Galaxy walkthrough: expand cbm_arena_alloc and follow its call path through arena_grow to cbm_alloc" loading="lazy"></picture></a><figcaption><strong>Follow the connections</strong>Expand relationships and trace a call path.</figcaption></figure>
|
||||
<figure><a href="images/lens-system-structure.png" aria-label="View the full Lens system structure screenshot"><img src="images/lens-system-structure.png" width="1440" height="900" alt="CBM Lens system structure showing source groups and their dependencies" loading="lazy"></a><figcaption><strong>Inspect system structure</strong>See source groups and dependencies.</figcaption></figure>
|
||||
<figure><a href="images/lens-chat.gif" aria-label="View the full Lens local chat walkthrough"><picture><source media="(prefers-reduced-motion: reduce)" srcset="images/lens-chat.png" width="1440" height="1200"><img src="images/lens-chat.gif" width="1600" height="1000" alt="CBM Lens local chat walkthrough: callers and callees of arena_grow answered directly from the indexed graph" loading="lazy"></picture></a><figcaption><strong>Ask about selected code</strong>Caller and callee answers from the indexed graph.</figcaption></figure>
|
||||
</div>
|
||||
<p class="fine">Lens is served on loopback. Browser AI downloads its optional model after you enable it. Its explanations should be checked against the displayed source.</p>
|
||||
<a class="source-link" href="https://github.com/DeusData/codebase-memory-mcp#cbm-lens-beta-code-visualization-and-source-navigation">Read the Lens guide and watch the walkthroughs →</a>
|
||||
</section>
|
||||
|
||||
<section class="section" id="install">
|
||||
<div class="section-head"><div><p class="eyebrow">Get started</p><h2>Install. Index. Explore.</h2></div><p>Standard native releases include CBM Lens. The native runtime needs no Docker or language runtime; the core indexer and graph queries need no API key.</p></div>
|
||||
<div class="section-head"><div><p class="eyebrow">Get started</p><h2>Install. Index. Explore.</h2></div><p>Install the MCP server and configure your coding agent. The native runtime needs no Docker or language runtime; indexing and graph queries need no API key. Standard releases also include the optional Lens open beta.</p></div>
|
||||
<div class="split">
|
||||
<div><div class="terminal"><div class="terminal-head">TERMINAL · macOS / Linux</div><pre><code><span class="comment"># Install the native release and agent integrations</span>
|
||||
<span class="command">curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash</span>
|
||||
@@ -408,18 +470,20 @@
|
||||
<span class="comment"># Restart your agent, then ask:</span>
|
||||
"Index this project"
|
||||
|
||||
<span class="comment"># Open CBM Lens in your browser</span>
|
||||
<span class="comment"># Optional: open CBM Lens (open beta)</span>
|
||||
<span class="command">codebase-memory-mcp daemon start --open</span></code></pre></div><div class="install-links"><a href="https://github.com/DeusData/codebase-memory-mcp/blob/main/install.sh">Inspect the installer ↗</a><a href="https://github.com/DeusData/codebase-memory-mcp#quick-start">Windows / PowerShell ↗</a><a href="https://github.com/DeusData/codebase-memory-mcp#installation">Other installation methods ↗</a></div></div>
|
||||
<div class="install-copy"><h3>Your machine. Your index.</h3><p>Source analysis and graph storage run locally. Native releases contain the executable and authenticated release-owned assets, including the Lens frontend and agent integration templates.</p><p>Use native packages or the npm, PyPI and Go wrappers. Package wrappers use their respective runtimes. Nix and source builds also offer builds without the UI.</p><p>Choose the clients you want to configure, restart them after installation, then build your first index.</p><a class="button" href="https://github.com/DeusData/codebase-memory-mcp/releases/latest">Download the latest release <span aria-hidden="true">↗</span></a></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section" id="performance">
|
||||
<div class="evidence" id="benchmark"><div><p class="eyebrow">Performance and research</p><h2>Useful context.<br>Measurable tradeoffs.</h2></div><div><p>Focused graph queries can reduce repeated file exploration. The result depends on the repository, the question, the agent and how much source verification the task needs.</p><p>Published benchmarks describe specific workloads, hardware and answer-quality tradeoffs. They are backend measurements, not a promise of a fixed saving or a benchmark of CBM Lens.</p><div class="evidence-links"><a href="https://github.com/DeusData/codebase-memory-mcp#performance">Results and limitations ↗</a><a href="https://github.com/DeusData/codebase-memory-mcp/blob/main/docs/BENCHMARK.md">Benchmark methodology ↗</a><a href="https://arxiv.org/abs/2603.27277">Research paper ↗</a></div></div></div>
|
||||
<div class="evidence" id="benchmark"><div><p class="eyebrow">Performance and research</p><h2>More useful context.<br>Less repeated work.</h2></div><div><p id="token-savings">Reuse the graph to find relevant symbols, follow relationships and retrieve focused source snippets. Compact, paged results help keep repeated repository exploration out of your agent’s context window.</p><p>Our <a href="https://arxiv.org/abs/2603.27277v1">March 2026 preprint</a> reports <strong>10× lower token use</strong> and <strong>2.1× fewer tool calls</strong> across 31 repositories compared with file-by-file exploration.</p><p>These measurements cover the study’s backend workloads from March 2026. See the paper for the evaluation setup and full results.</p><div class="evidence-links"><a href="https://github.com/DeusData/codebase-memory-mcp#performance">Token-use results ↗</a><a href="https://github.com/DeusData/codebase-memory-mcp/blob/main/docs/BENCHMARK.md">Indexing benchmarks ↗</a><a href="https://arxiv.org/abs/2603.27277">Research paper ↗</a></div></div></div>
|
||||
</section>
|
||||
|
||||
<section class="section" id="faq">
|
||||
<div class="faq"><p class="eyebrow">A few practical details</p><h2>Before you start.</h2>
|
||||
<div class="faq"><p class="eyebrow">Common questions</p><h2>Is Codebase Memory<br>right for your workflow?</h2>
|
||||
<details><summary>When should I use Codebase Memory?</summary><p>Choose CBM when your coding agent needs a persistent local graph of code, docs and infrastructure. The MCP server brings structural search, source evidence, agent integrations and experimental test selection into one open-source package. The CLI provides direct access, and CBM Lens adds an optional visual workspace in open beta. Native releases run on macOS, Linux and Windows without Docker or a language runtime. <a href="#features">Explore the capabilities</a> and <a href="#smart-ci">Smart CI’s current scope</a>.</p></details>
|
||||
<details><summary>How does Codebase Memory reduce AI token use?</summary><p>Your agent can query indexed relationships and retrieve the relevant symbols or source snippets instead of repeatedly exploring whole files. Compact results and pagination control how much context each query returns. The benefit depends on the task; <a href="#token-savings">explore the published token-use measurements</a>.</p></details>
|
||||
<details><summary>Does Codebase Memory send my source code anywhere?</summary><p>The backend indexes source and stores and queries its graph locally. Your coding agent has its own data-handling settings. Lens can optionally download a browser model after you enable it, with inference on-device. Installers and update checks use the network to obtain releases and assets.</p></details>
|
||||
<details><summary>How does the index stay current?</summary><p>Incremental indexing updates changed files. With auto-watch enabled, an eligible active MCP session can watch an already indexed project. Automatic first indexing is a separate opt-in setting. The local UI daemon is not a promise of a permanent background watcher.</p></details>
|
||||
<details><summary>How much language coverage is available?</summary><p>Bundled tree-sitter grammars cover a broad range of languages and formats. Supported language families also have Hybrid LSP semantic resolution. Extraction depth, type resolution and framework relationships vary; the <a href="https://github.com/DeusData/codebase-memory-mcp#language-support">language support matrix</a> describes the details.</p></details>
|
||||
@@ -436,7 +500,7 @@
|
||||
<a class="source-link" href="https://github.com/DeusData/codebase-memory-mcp/releases">View all releases on GitHub →</a>
|
||||
</section>
|
||||
</main>
|
||||
<footer><div class="container footer-inner"><div><a class="brand" href="#main">Codebase Memory</a><p>Local code intelligence. Open source, MIT licensed.</p></div><div class="footer-links"><a href="https://github.com/DeusData/codebase-memory-mcp">GitHub</a><a href="https://github.com/DeusData/codebase-memory-mcp#readme">Documentation</a><a href="https://github.com/DeusData/codebase-memory-mcp/blob/main/SECURITY.md">Security</a><a href="llms.txt">llms.txt</a></div></div></footer>
|
||||
<footer><div class="container footer-inner"><div><a class="brand" href="#main">Codebase Memory</a><p>Local code intelligence. Open source, MIT licensed.</p></div><div class="footer-links"><a href="https://discord.gg/KguGXxg2X">Discord</a><a href="https://github.com/DeusData/codebase-memory-mcp">GitHub</a><a href="https://github.com/DeusData/codebase-memory-mcp#readme">Documentation</a><a href="https://github.com/DeusData/codebase-memory-mcp/blob/main/SECURITY.md">Security</a><a href="llms.txt">llms.txt</a></div></div></footer>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
|
||||
+8
-4
@@ -1,6 +1,6 @@
|
||||
# codebase-memory-mcp
|
||||
|
||||
> Local code intelligence for developers and AI agents. Connect code, documentation, configuration, and infrastructure in a persistent knowledge graph. Search for a feature, follow callers and dependencies, trace services and deployments, inspect change impact, and explore the evidence in CBM Lens. Access the same backend through MCP or the CLI. Indexing, graph queries, and semantic embeddings run locally without a hosted service or API key; Lens optionally downloads a browser model after opt-in for on-device code chat.
|
||||
> Codebase Memory is an open-source local MCP server for AI coding agents. It connects code, documentation, configuration, and infrastructure in a persistent knowledge graph, with 17 MCP tools and native CLI access. Search for a feature, follow callers and dependencies, trace services and deployments, and inspect change impact. Indexing, graph queries, and semantic embeddings run locally without a hosted service or API key. CBM Lens is the optional visual companion, currently in open beta (v0.0.1); its optional browser model supports on-device code chat after an opt-in download.
|
||||
|
||||
## Capabilities
|
||||
|
||||
@@ -13,9 +13,10 @@
|
||||
- Change impact: detect_changes maps diffs to affected symbols and investigates related tests with scope: "tests"; compare_graphs compares indexed snapshots.
|
||||
- Smart CI (experimental): repository-specific changed-file rules select CI jobs; test-impact select combines static reachability, changed tests, and admitted per-test coverage to select tests. Narrowing supports C/C++ family code with supported test-harness conventions and an explicitly configured runner. Missing or doubtful evidence broadens the selection or runs all tests. Other indexed languages are not automatically supported for test narrowing. test-impact publish creates the baseline graph-and-coverage bundle. Start in shadow mode; consult the guide for version requirements.
|
||||
- Architecture decisions and runtime evidence: manage_adr stores the project's decision record; ingest_traces adds separately collected observed call relationships alongside static analysis.
|
||||
- CBM Lens Beta: local browser interface with source exploration, Galaxy graph navigation, architecture and behavior views, ADR editing, index-coverage diagnostics, daemon/system information, and optional local code chat. Static graph animations are not live execution traces. Activity overlays are experimental source-build features, not a standard-release promise.
|
||||
- CBM Lens open beta (v0.0.1): optional visual companion to the MCP server, with a local browser interface with source exploration, Galaxy graph navigation, architecture and behavior views, ADR editing, index-coverage diagnostics, daemon/system information, and optional local code chat. Static graph animations are not live execution traces. Activity overlays are experimental source-build features, not a standard-release promise.
|
||||
- Agent integrations: 45 automatic or conditional client surfaces. Installation configures supported MCP entries, durable instructions, skills, Scout/Verify/Auditor profiles, and applicable session, compaction, search, and read hooks. Coverage and activation vary by client and platform. Hooks provide context without blocking or replacing the user's tool call; some clients require trust or use parent-agent handoff instead.
|
||||
- Persistent operation: a per-account daemon coordinates sessions and indexing. Existing indexes can stay synchronized during eligible active MCP sessions; initial auto-indexing is separately opt-in. Optional team graph artifacts share a baseline while each user keeps a local query database.
|
||||
- Token-efficient retrieval: targeted graph queries, focused source snippets, and compact, paged results can reduce token use and repeated file reads during code exploration.
|
||||
- Distribution: native C backend, MIT license, standard native releases for macOS, Linux, and Windows include CBM Lens; Linux portable archives provide static builds. Nix and development source builds can omit the UI. Package-manager options and release verification are documented in the README.
|
||||
|
||||
## Client coverage
|
||||
@@ -24,7 +25,9 @@
|
||||
|
||||
## Measurement and limits
|
||||
|
||||
Published performance and token comparisons apply to specific workloads, hardware, and agent setups, not a universal percentage saving. The README Performance section preserves the historical comparison and research quality tradeoff. Check index generation, freshness, and exact path/scope coverage before relying on graph results, especially absence claims; read source when coverage is partial, skipped, excluded, stale, or unknown. Infrastructure relationships are static, and test-selection support is narrower than language-indexing support.
|
||||
A March 2026 preprint across 31 real-world repositories reports 10× lower token use and 2.1× fewer tool calls compared with file-by-file exploration. These historical backend measurements cover the study’s workloads and agent setup. The paper documents the full evaluation; the README Performance section links to the research and earlier measurements.
|
||||
|
||||
Graph evidence depends on index generation, freshness, and exact path/scope coverage. Partial, skipped, excluded, stale, or unknown coverage requires source verification, especially for absence claims. Infrastructure relationships are static, and test-selection support is narrower than language-indexing support.
|
||||
|
||||
## Links
|
||||
|
||||
@@ -39,7 +42,8 @@ Published performance and token comparisons apply to specific workloads, hardwar
|
||||
- Smart CI guide: https://github.com/DeusData/codebase-memory-mcp/blob/main/docs/SMART_CI.md
|
||||
- Configuration: https://github.com/DeusData/codebase-memory-mcp/blob/main/docs/CONFIGURATION.md
|
||||
- MCP tools: https://github.com/DeusData/codebase-memory-mcp#mcp-tools
|
||||
- Performance and research limits: https://github.com/DeusData/codebase-memory-mcp#performance
|
||||
- Token savings and evidence: https://deusdata.github.io/codebase-memory-mcp/#token-savings
|
||||
- Performance and research: https://github.com/DeusData/codebase-memory-mcp#performance
|
||||
- Benchmark report: https://github.com/DeusData/codebase-memory-mcp/blob/main/docs/BENCHMARK.md
|
||||
- Research paper: https://arxiv.org/abs/2603.27277
|
||||
- Security and release verification: https://github.com/DeusData/codebase-memory-mcp#security
|
||||
+1
-2
@@ -2,7 +2,6 @@
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://deusdata.github.io/codebase-memory-mcp/</loc>
|
||||
<lastmod>2026-06-12</lastmod>
|
||||
<priority>1.0</priority>
|
||||
<lastmod>2026-10-20</lastmod>
|
||||
</url>
|
||||
</urlset>
|
||||
Reference in new issue
Block a user