dsh-codebase-chat-mcp
Click on "Deploy 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., "@dsh-codebase-chat-mcpexplain how auth is handled in my codebase, with file and line citations"
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.
Get started
npx dsh-codebase-chat-mcp setupThe wizard detects Claude, Cursor, Windsurf, VS Code, Zed, Gemini CLI, Kiro, Cline and Roo Code, asks how you want answers (host model, API key, or offline local model), writes the MCP config, done.
No JSON to edit — and no API key: in promptOnly mode your host model does the thinking,
or go fully offline with the embedded local model (localLlm) — no key, no host, no cloud.
Other paths — DeepSeek Harness plugin · CLI · from source · manual config: Reference.
Related MCP server: Ferret MCP
What a real session looks like
Run on this repository — the exact text the tools return:
$ 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
…$ 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 | ❌ | ✅ | ✅ |
| ❌ | ~ | ✅ |
Code stays on your machine | ❌ | ❌ | ✅ |
Inside Claude / Cursor / Windsurf | ❌ | ~ | ✅ |
Deterministic health score, no LLM | ❌ | ❌ | ✅ |
Answers fully offline (embedded LLM) | ❌ | ❌ | ✅ |
Free — no API key, no account | ~ | ❌ | ✅ |
How it works
/codebase-apply writes safely — dry-run · .dsh-backups/ before overwrite · protected paths · never outside the project.
The 13 tools
Understand | Decide | Act | Explore |
|
|
|
|
|
|
|
|
|
| ||
|
| ||
|
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, localLlm, maxTokens.
Reference
DeepSeek Harness plugin
dsh plugin --profile web add dsh-codebase-chatThen restart dsh web → http://127.0.0.1:3080 → Codebase Pro button.
CLI
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 LLMFrom source
git clone https://github.com/shinzarou-eng/dsh-codebase-chat.git
cd dsh-codebase-chat && pnpm install && pnpm buildManual MCP config
{
"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.
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'{
"lang": "en",
"maxTokens": 60000,
"ignoreDirs": ["generated", "fixtures"],
"ignoreFiles": ["bundle.js"],
"ignoreGlobs": ["src/vendor/**", "*.snap"],
"protectedPaths": ["src/locked", "migrations"]
}Key | Effect |
| Default prompt language ( |
| Context budget when the caller passes none |
| Extra names skipped by indexing, |
| Globs on project-relative paths — |
| Paths the apply pipeline can never patch |
Variable | Default | Purpose |
| OS cache dir | Where the index cache lives |
| — | Extra |
| — | Override the built-in |
| built-in list | Extra paths that can never be patched |
| — | Direct-LLM mode only |
|
| Custom endpoint |
|
| Model for direct-LLM mode |
| — |
|
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 from your code — same input, same result, every time. |
├── lib/ DeepSeek Harness plugin (index.js) + Codebase Pro UI (client.js)
├── src/ TypeScript engine — indexer, extractor, retriever, tokenizer, context, CLI
├── mcp/ Standalone MCP server package (dsh-codebase-chat-mcp)
├── test/ Vitest suites (extractor, retriever, tasks pipeline)
├── docs/ Landing page (GitHub Pages) + assets
└── dist/ Build output (tsup)pnpm install && pnpm build && pnpm test && pnpm typecheckDoes it send my code to the cloud?
Indexing, retrieval, and prompt building all run on your machine. In prompt-only mode the server makes no network calls itself — the assembled context is read by your host model (cloud or local, your choice). For zero-network answers end to end, enable the embedded local model (localLlm).
Do I need an API key?
No — three ways to get answers: the host model (promptOnly, best quality), a DeepSeek/OpenAI key, or the embedded local model (localLlm, fully offline). The local model is small — great for quick lookups, prefer a hosted model for full reports. Inside DeepSeek Harness, the plugin uses your configured model.
Which languages are supported?
French and English via lang on every tool. Source-side, AST covers JS/TS, Python, Go, Rust, Java, C#, PHP — the rest is indexed line by line.
Is applying patches safe? Yes. Dry-run, backups before overwrite, protected paths, writes stay inside the project.
EADDRINUSE on port 3080?
Get-NetTCPConnection -LocalPort 3080 | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }Then restart dsh --profile web.
Shipped | tree-sitter AST (7 languages), deterministic health score, MCP setup wizard, |
Next | GitHub Issues export from TASKS.md, prompt language packs (ES/DE/PT) |
Planned | VS Code extension, HTTP/SSE transport, PR review mode, report export |
Exploring | multi-repo workspaces, shared team index cache, CI bot |
Full detail: ROADMAP.md
This server cannot be deployed
Maintenance
Related MCP Connectors
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.
Repository knowledge graph MCP server for codebase understanding and debugging.
An MCP server that gives your AI access to the source code and docs of all public github repos
Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnterprise-grade (40m+ lines) codebase intelligence in a zero-setup, private and local MCP: managed indexing, hybrid semantic search, polyglot code dependency graphs, and DB/API/infra knowledge. Benchmark: 61% less tokens, 84% fewer calls, 37x faster than standard AI grep.265,182 npm3,313AGPL 3.0
- AlicenseAqualityCmaintenanceAn MCP server that extracts complete knowledge from any codebase — architecture, patterns, dependencies, API surface. Combines static analysis with AI-powered deep interpretation.8MIT
- AlicenseNot gradedqualityAmaintenanceLocal repository intelligence MCP server that builds a reusable graph of code structure for AI coding agents, providing 34 network-free tools for understanding, searching, and analyzing repositories without data leaving the machine.54 npmMIT

Vibgrate AI Contextofficial
AlicenseNot gradedqualityBmaintenanceLocal-first MCP server that gives AI assistants codebase intelligence—code graph, drift analysis, vulnerability attribution, and version-correct library docs—all from the user's machine.1,569 npm4Apache 2.0