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.

Package
@lovedolove/dsh-codebase-memory-mcp
Compatibility
Unverified
Harness peer range
>=0.1.2-rc.1 <0.3.0-0
Cordis peer range
>=4.0.1-rc.1 <5.0.0-0
Version
0.1.3
License
MIT
Last updated
Oct 1, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:LoveDoLove/dsh-codebase-memory-mcp

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:

  1. cbm_projects() — confirm the project is indexed (by default the project is inferred from the workspace).
  2. cbm_search(name_pattern=".*auth.*") — find symbols by name/label/path.
  3. cbm_trace(symbol="login", direction="both", max_depth=3) — trace callers and callees.
  4. cbm_snippet(qualified_name="app.auth.login") — read the exact definition without loading whole files.
  5. cbm_arch(directory="src") — get a directory-level component overview.

Quick decision matrix (from the bundled skill):

QuestionTool call
Who calls X?cbm_trace(symbol="...", direction="inbound")
What does X call?cbm_trace(symbol="...", direction="outbound")
Full call contextcbm_trace(symbol="...", direction="both")
Find by name patterncbm_search(name_pattern="...")
Read source snippetcbm_snippet(qualified_name="...")
Directory architecturecbm_arch(directory="...")
Text search in repocbm_search_code(query="...")
List indexed projectscbm_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

VariableEffect
CBM_EXEExplicit path to the codebase-memory-mcp binary (must exist; takes priority over every other lookup).
CBM_DEFAULT_PROJECTFallback 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:

  1. explicit project argument,
  2. slug of the repo argument,
  3. CBM_DEFAULT_PROJECT,
  4. 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.