DSH Hub

JohnXu22786/docs-retriever

docs-retriever

ToolWorkflow0 GitHub stars· updated 2026-08-23

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

docs-retriever DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/docs-retriever.svg)](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 via dsh 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-cache disables it in one shot;
  • Graceful degradation: when the remote index is unreachable, falls back to the local index automatically, results are tagged with source so 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 web profile and adds this package to dsh.profile.bundles;
  • The doctrove/bridge plugin defined in cordis.patch.yml spawns this MCP server inside the dsh process, and after the handshake registers all tools into ctx.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

Related plugins