LoveDoLove/dsh-codebase-memory-mcp ↗★ 1
@lovedolove/dsh-codebase-memory-mcp
Codebase Memory MCP bridge plugin for DeepSeek Harness: knowledge-graph code search, snippets, architecture, call-path tracing, and auto-started graph visualization UI.
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:LoveDoLove/dsh-codebase-memory-mcpREADME
Read the full README ↗Usage
Let the agent use it
The plugin injects the knowledge-graph policy into the system prompt and bundles
the codebase-memory skill, so the agent picks the right tool on its own.
Typical workflow:
cbm_projects()— confirm the project is indexed (by default the project is inferred from the workspace).cbm_search(name_pattern=".*auth.*")— find symbols by name/label/path.cbm_trace(symbol="login", direction="both", max_depth=3)— trace callers and callees.cbm_snippet(qualified_name="app.auth.login")— read the exact definition without loading whole files.cbm_arch(directory="src")— get a directory-level component overview.
Quick decision matrix (from the bundled skill):
| Question | Tool call |
|---|---|
| Who calls X? | cbm_trace(symbol="...", direction="inbound") |
| What does X call? | cbm_trace(symbol="...", direction="outbound") |
| Full call context | cbm_trace(symbol="...", direction="both") |
| Find by name pattern | cbm_search(name_pattern="...") |
| Read source snippet | cbm_snippet(qualified_name="...") |
| Directory architecture | cbm_arch(directory="...") |
| Text search in repo | cbm_search_code(query="...") |
| List indexed projects | cbm_projects() |
Check status with /cbm
🔍 **Codebase Memory MCP**
• Executable: `/home/you/.local/bin/codebase-memory-mcp`
• Web UI: http://localhost:9749/
**Indexed Projects:**
```
home-you-my-repo
```
If the binary is missing, /cbm reports:
⚠️ codebase-memory-mcp executable not found. Install codebase-memory-mcp or set CBM_EXE.
Web UI
The daemon is launched with --ui=true, so an HTTP graph-visualization UI is
served at http://localhost:9749/ (the runtime's default port; the upstream
binary accepts --port=N and persists it — the plugin's prompts and /cbm
assume the default 9749).
Configuration
Environment variables
| Variable | Effect |
|---|---|
CBM_EXE | Explicit path to the codebase-memory-mcp binary (must exist; takes priority over every other lookup). |
CBM_DEFAULT_PROJECT | Fallback project slug when neither project nor repo is passed to a tool. |
Project resolution order
When a tool is called, the project is resolved as:
- explicit
projectargument, - slug of the
repoargument, CBM_DEFAULT_PROJECT,- slug of the current working directory.
Slug mapping: /home/user/my-repo → home-user-my-repo; Windows paths keep a
drive prefix, e.g. C:\Users\me\app → C-Users-me-app.
Daemon auto-start
The daemon starts eagerly when the plugin applies (unless the process runs
under node --test), and every tool call ensures it is running, so the child
process is restarted transparently if it dies. On plugin disposal the daemon is
killed together with any pending requests.