JohnXu22786/docs-retriever
docs-retriever
doctrove: versioned library documentation retrieval MCP server for coding agents — zero runtime dependencies, installable as a dsh plugin bundle.
Install
npx @deepseek-ai/dsh plugin --profile web add .Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/docs-retriever)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from JohnXu22786/docs-retriever, cleaned of badges and images.
doctrove — Versioned library documentation retrieval (agent toolset)
doctrove is a versioned documentation retrieval plugin for coding agents: it maintains a "library documentation catalog index", letting agents fetch accurate, versioned, traceable API documentation snippets on demand while writing code — instead of guessing API usage from training memory — and thereby avoiding "APIs that don't exist in the docs", "outdated signatures", and "fabricated parameters".
- Zero runtime dependencies: uses only Node.js built-ins (
fetch,node:test), runs without installing any package; - Standard MCP stdio server: any MCP-capable client (dsh, Claude Code, Codex, opencode, etc.) can connect;
- Built for dsh: ships a dsh bundle (
cordis.patch.yml+ a self-built bridge plugin), one-step integration viadsh plugin add, tools automatically appear in the model's tool list (mcp__doctrove__*); - Versioned: every entry carries multiple documentation volumes, supporting "latest stable / exact version / prefix version (
4→ 4.21.x)" selection; - Scored, ranked results: entry retrieval and documentation snippets both carry 0–1 relevance scores and hit signals, so the model can verify "why it ranked first";
- Offline-capable: ships with a built-in local demo index (
data/index.json), runs without networking or remote sources; - Self-hostable remote index: the index is an open JSON format that can be hosted on any static hosting (a zero-dependency hosting script is included);
- Smart caching: TTL + LRU in-memory cache, remote index and query results expire automatically per configuration,
--no-cachedisables it in one shot; - Graceful degradation: when the remote index is unreachable, falls back to the local index automatically, results are tagged with
sourceso the agent can tell data provenance.
Quick start
Method A: connect directly from any MCP client
# Requires Node.js >= 18.17; no arguments means offline mode (built-in index)
node src/entry.js
Example config line using the official dsh bridge (also applies to Claude Code / Codex MCP config):
# dsh: insert into $DSH_HOME/profiles/<profile>/cordis.patch.yml
- insert:
- id: mcp-doctrove
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: doctrove
transport: stdio
command: node
args: ['/absolute/path/src/entry.js']
Once connected, the model sees 3 tools: catalog_lookup, catalog_releases, doc_extract
(generic MCP clients see the bare names; in the dsh scenario they carry the mcp__doctrove__ prefix, see below).
Method B: install as a dsh plugin bundle (recommended)
This plugin is declared as a dsh bundle (the dsh.bundle field in package.json). Run the following in the plugin checkout directory:
dsh plugin --profile web add .
- On first use it automatically initializes the
webprofile and adds this package todsh.profile.bundles; - The
doctrove/bridgeplugin defined incordis.patch.ymlspawns this MCP server inside the dsh process, and after the handshake registers all tools intoctx.tools, no manual config changes needed; - Offline-capable: the built-in index is loaded by default; to use a remote index, configure
args: ['--index-url', ...]on the bridge line (see below); - Uninstall:
dsh plugin --profile web remove doctrove.
Installing in DSH
…
