Multi-language codebase intelligence for DeepSeek Harness and MCP IDEs. Chat, search, audit, refactor, and board-ready reports from local code.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add dsh-codebase-chat -- npx -y dsh-codebase-chat-mcp{
"mcpServers": {
"dsh-codebase-chat": {
"command": "npx",
"args": ["-y", "dsh-codebase-chat-mcp"]
}
}
}Resumen de MCP Servers
<p align="center">
<a href="https://shinzarou-eng.github.io/dsh-codebase-chat">
<img src="https://raw.githubusercontent.com/shinzarou-eng/dsh-codebase-chat/main/docs/assets/social-preview.png" alt="dsh-codebase-chat — Your codebase, fully understood" width="100%">
</a>
</p>
<p align="center">
<a href="https://www.npmjs.com/package/dsh-codebase-chat"><img src="https://img.shields.io/npm/v/dsh-codebase-chat?logo=npm&label=plugin&color=6ec2ff" alt="npm plugin"></a>
<a href="https://www.npmjs.com/package/dsh-codebase-chat-mcp"><img src="https://img.shields.io/npm/v/dsh-codebase-chat-mcp?logo=npm&label=mcp&color=a78bfa" alt="npm mcp"></a>
<a href="https://github.com/shinzarou-eng/dsh-codebase-chat/blob/main/LICENSE"><img src="https://img.shields.io/github/license/shinzarou-eng/dsh-codebase-chat?color=93a1b5" alt="license"></a>
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-4ade80?logo=nodedotjs" alt="node >= 20"></a>
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-22d3ee" alt="MCP compatible"></a>
</p>
<p align="center">
<a href="https://shinzarou-eng.github.io/dsh-codebase-chat"><strong>Website</strong></a> ·
<a href="mcp/README.md">MCP docs</a> ·
<a href="ROADMAP.md">Roadmap</a> ·
<a href="CHANGELOG.md">Changelog</a> ·
<a href="CONTRIBUTING.md">Contributing</a>
</p>
<br>
## Get started
```bash
npx dsh-codebase-chat-mcp setup
```
The wizard detects **Claude, Cursor, Windsurf, VS Code, Zed, Gemini CLI, Kiro, Cline and Roo Code**, asks how you want answers (host model or API key), writes the MCP config, done.
No JSON to edit — and **no API key**: in `promptOnly` mode your host model does the thinking,
or get a **fully offline** answer with the deterministic report (`--no-llm`) — no model, no key, no cloud.
Other paths — DeepSeek Harness plugin · CLI · from source · manual config: **[Reference](#reference)**.
<p align="center">
<img src="docs/assets/demo-conv.gif" alt="dsh-codebase-chat real MCP session on a 422-file codebase" width="840"><br>
<em>Real MCP session on a real 422-file codebase — <code>codebase_health</code> finds 324 circular deps, <code>codebase_chat</code> answers with <code>[source: file:line]</code> receipts · <a href="docs/assets/demo-power.gif">PR review (--diff + --watch)</a> · <a href="docs/assets/demo.gif">CLI tour</a> · <a href="docs/assets/demo-mcp.gif">MCP stdio</a> · <a href="docs/assets/demo-fr.gif">French mode</a></em>
</p>
## What a real session looks like
Run on this repository — the exact text the tools return:
```console
$ npx dsh-codebase-chat --project . --health
== STATIC ANALYSIS — dsh-codebase-chat ==
Health score: 52/100 (D) · 33 files analyzed · 65 local imports
● Circular dependencies (0)
none
● Unused files (candidates) (1)
lib/client.js
● Unused exports (candidates) (45)
lib/cache.js:21 — cachePath
lib/index.js:2952 — normalizeLabels
lib/index.js:2952 — getProjectName
…
● Duplicate code blocks (2)
12 lines × 2 files — lib/index.js, src/project.ts
6 lines × 2 files — src/indexer.ts, src/retriever.ts
● Complexity hotspots (13)
lib/index.js — score 418
src/analysis.ts — score 81
lib/client.js — score 55
…
```
```console
$ npx dsh-codebase-chat --project . --search "health score computation"
--- src/analysis.ts :: formatHealthReportMd (FUNCTION) [source: src/analysis.ts:285-353] ---
--- src/analysis.ts :: analyzeProject (FUNCTION) [source: src/analysis.ts:149-232] ---
--- src/analysis.ts :: HealthReport (TYPE) [source: src/analysis.ts:15-26] ---
$ npx dsh-codebase-chat --project . --ask "how is the index cached?"
> dsh-codebase-chat · prompt-only mode (no API key)
> Chunks: 81 · Tokens: 59,934 → handed to the host model
> Cite every technical claim with [source: relative/path:line].
```
`codebase_health` runs fully offline — deterministic, no LLM, same input → same score.
Every answer from `codebase_chat` arrives with `[source: file:line]` receipts you can verify in seconds.
## Why it wins
| | Paste into a chat | Hosted assistant | **dsh-codebase-chat** |
| --- | :-: | :-: | :-: |
| Sees your **whole** repo, not one file | ❌ | ✅ | ✅ |
| `[source: file:line]` citations | ❌ | ~ | ✅ |
| Code stays on your machine | ❌ | ❌ | ✅ |
| Inside Claude / Cursor / Windsurf | ❌ | ~ | ✅ |
| Deterministic health score, no LLM | ❌ | ❌ | ✅ |
| Deterministic report, zero model (`--no-llm`) | ❌ | ❌ | ✅ |
| Free — no API key, no account | ~ | ❌ | ✅ |
## How it works
<p align="center">
<img src="docs/assets/how-it-works.png" alt="Pipeline: source → AST index → retrieval → briefing → host model → cited answer, all local-first" width="100%">
</p>
`/codebase-apply` writes safely — **dry-run** · **`.dsh-backups/`** before overwrite · **protected paths** · never outside the project.
## The 13 tools
| Understand | Decide | Act | Explore |
| --- | --- | --- | --- |
| `codebase_chat` | `codebase_intelligence` | `codebase_refactor` | `codebase_player` |
| `codebase_search` | `codebase_audit` | `codebase_tasks` | `codebase_crea` |
| `codebase_explain` | `codebase_report` | | |
| `codebase_health` | `codebase_ceo` | | |
| `codebase_impact` | | | |
Same engine, three surfaces: **MCP tools** in your IDE, **slash commands** in DeepSeek Harness, **CLI flags** anywhere. Every tool takes `lang` (`fr`/`en`), `embed`, `promptOnly`, `maxTokens`.
## Reference
<details>
<summary><strong>Install — all paths</strong></summary>
<br>
**DeepSeek Harness plugin**
```bash
dsh plugin --profile web add dsh-codebase-chat
```
Then restart `dsh web` → `http://127.0.0.1:3080` → **Codebase Pro** button.
**CLI**
```bash
npx dsh-codebase-chat --project C:\my-app --ask "how is auth handled?"
npx dsh-codebase-chat --project C:\my-app --health # offline, no LLM
npx dsh-codebase-chat --project C:\my-app --health --diff main # only what changed
npx dsh-codebase-chat --project C:\my-app --watch # index stays hot while you code
npx dsh-codebase-chat --project C:\my-app --prompt intelligence # same banner brief the IDE gets — pipe to any LLM
npx dsh-codebase-chat --project C:\my-app --prompt intelligence --call # DeepSeek/OpenAI answers directly (API key)
npx dsh-codebase-chat --project C:\my-app --prompt intelligence --no-llm # deterministic report — zero model, zero key
npx dsh-codebase-chat --project C:\my-app --prompt intelligence --no-llm # deterministic report — zero LLM, zero key
```
**From source**
```bash
git clone https://github.com/shinzarou-eng/dsh-codebase-chat.git
cd dsh-codebase-chat && pnpm install && pnpm build
```
**Manual MCP config**
```json
{
"mcpServers": {
"dsh-codebase-chat": {
"command": "npx",
"args": ["dsh-codebase-chat-mcp"]
}
}
}
```
Without `DEEPSEEK_API_KEY` / `OPENAI_API_KEY` the server runs `promptOnly`. Set either key for direct-LLM calls — see [`mcp/README.md`](mcp/README.md).
</details>
<details>
<summary><strong>Slash commands (DeepSeek Harness)</strong></summary>
<br>
```powershell
dsh --profile headless '/codebase "how is auth handled?" --project C:\my-app'
dsh --profile headless '/codebase-search "usePetStore" --project C:\my-app'
dsh --profile headless '/codebase-explain "storage.ts" --project C:\my-app'
dsh --profile headless '/codebase-refactor "split this hook" --file storage.ts --project C:\my-app'
dsh --profile headless '/codebase-intel --project C:\my-app'
dsh --profile headless '/codebase-audit --project C:\my-app --lang en'
dsh --profile headless '/codebase-tasks --project C:\my-app'
dsh --profile headless '/codebase-apply-tasks --project C:\my-app'
dsh --profile headless '/codebase-build --project C:\my-app'
dsh --profile headless '/codebase-git --project C:\my-app'
```
</details>
<details>
<summary><strong><code>.codebase-chat.json</code> — per-project settings</strong></summary>
<br>
```json
{
"lang": "en",
"maxTokens": 60000,
"ignoreDirs": ["generated", "fixtures"],
"ignoreFiles": ["bundle.js"],
"ignoreGlobs": ["src/vendor/**", "*.snap"],
"protectedPaths": ["src/locked", "migrations"]
}
```
| Key | Effect |
| --- | --- |
| `lang` | Default prompt language (`en`/`fr`) — CLI, MCP tools, slash commands |
| `maxTokens` | Context budget when the caller passes none |
| `ignoreDirs` / `ignoreFiles` | Extra names skipped by indexing, `codebase_health`, file tree |
| `ignoreGlobs` | Globs on project-relative paths — `**` spans dirs, `*` one segment |
| `protectedPaths` | Paths the apply pipeline can never patch |
</details>
<details>
<summary><strong>Environment variables</strong></summary>
<br>
| Variable | Default | Purpose |
| --- | --- | --- |
| `CODEBASE_CACHE_DIR` | OS cache dir | Where the index cache lives |
| `DSH_PROJECT_ALIASES` | — | Extra `name=path` aliases (`;`-separated) |
| `DSH_DAKO_PROJECT` | — | Override the built-in `dako` alias |
| `DSH_PROTECTED_PATHS` | built-in list | Extra paths that can never be patched |
| `DEEPSEEK_API_KEY` / `OPENAI_API_KEY` | — | Direct-LLM mode only |
| `DEEPSEEK_BASE_URL` / `OPENAI_BASE_URL` | `https://api.deepseek.com/v1` | Custom endpoint |
| `CODEBASE_MODEL` | `deepseek-chat` | Model for direct-LLM mode |
</details>
<details>
<summary><strong>Plain words — 🇫🇷 inside</strong></summary>
<br>
Point it at a folder of code. Ask questions like a human — *"How does login work?"*, *"What should I fix first?"* — in French or English. Every answer cites the exact file and line it came from. **Nothing is uploaded anywhere.**
*Pointez-le vers un dossier de code. Posez vos questions en langage clair. Chaque réponse cite le fichier et la ligne exacts. **Rien n'est envoyé sur internet.***
| Term | Meaning |
| --- | --- |
| **MCP server** | A plug format that lets AI assistants use extra tools. Install once — your IDE can "see" your code. |
| **Prompt-only** | The tool prepares the context; your existing AI writes the answer. No extra key, no extra cost. |
| **Deterministic** | Computed directly fromLo que la gente pregunta sobre dsh-codebase-chat
¿Qué es shinzarou-eng/dsh-codebase-chat?
+
shinzarou-eng/dsh-codebase-chat es mcp servers para el ecosistema de Claude AI. Multi-language codebase intelligence for DeepSeek Harness and MCP IDEs. Chat, search, audit, refactor, and board-ready reports from local code. Tiene 2 estrellas en GitHub y su última actualización registrada es del 2026-09-12.
¿Cómo se instala dsh-codebase-chat?
+
Puedes instalar dsh-codebase-chat clonando el repositorio (https://github.com/shinzarou-eng/dsh-codebase-chat) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar shinzarou-eng/dsh-codebase-chat?
+
Nuestro agente de seguridad ha analizado shinzarou-eng/dsh-codebase-chat y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene shinzarou-eng/dsh-codebase-chat?
+
shinzarou-eng/dsh-codebase-chat es mantenido por shinzarou-eng. La última actividad registrada en GitHub es del 2026-09-12, con 0 issues abiertos.
¿Hay alternativas a dsh-codebase-chat?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega dsh-codebase-chat en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/shinzarou-eng-dsh-codebase-chat)<a href="https://claudewave.com/repo/shinzarou-eng-dsh-codebase-chat"><img src="https://claudewave.com/api/badge/shinzarou-eng-dsh-codebase-chat" alt="Featured on ClaudeWave: shinzarou-eng/dsh-codebase-chat" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
The fastest path to AI-powered full stack observability, even for lean teams.