MCP plugin that fetches documentation from Dash docsets or any URL, converted to clean markdown
doc-fetcher
Claude Code plugin that fetches documentation and converts it to markdown. Integrates with Dash for instant access to 200+ docsets, or fetches any URL directly.
Features
- Dash integration - Search your installed Dash docsets by name (react, typescript, python, etc.)
- Direct URL fetch - Grab docs from any URL and convert to clean markdown
- Section extraction - Pull just the section you need (e.g., "Parameters", "Usage")
- Token limiting - Control response size for quick lookups
Installation
As a Claude Code plugin (recommended)
# Add the marketplace
/plugin marketplace add Robdel12/doc-fetcher-mcp
# Install the plugin
/plugin install doc-fetcher@doc-fetcher
Or via CLI:
claude plugin marketplace add Robdel12/doc-fetcher-mcp
claude plugin install doc-fetcher@doc-fetcher
Requirements
- Claude Code 1.0.33+
- Node.js 18+
- Dash (optional, for docset search)
- Enable API Server: Dash > Settings > Integration > Enable API Server
Usage
Once installed, Claude can fetch documentation automatically. Just ask:
"Look up the useEffect hook in React docs"
"Get the Parameters section from useState documentation"
"Fetch https://docs.anthropic.com/en/docs/claude-code/overview"
Tool parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| query | string | Search query for Dash docsets |
| docset | string | Docset to search - platform name (react, typescript, node) or Dash identifier |
| url | string | Direct URL to fetch (bypasses Dash) |
| section | string | Extract only a specific section by heading |
| maxTokens | number | Max tokens to return (default: 20000) |
Examples
// Search React docs
{ "query": "useEffect", "docset": "react" }
// Search all docsets
{ "query": "async await" }
// Get a specific section
{ "query": "useEffect", "docset": "react", "section": "Parameters" }
// Fetch any URL
{ "url": "https://docs.anthropic.com/en/docs/claude-code/overview" }
// Limit response size
{ "query": "useState", "docset": "react", "maxTokens": 2000 }
How it works
- Dash search: Queries the local Dash API to find matching documentation
- Fetch: Retrieves the HTML content from Dash's local server or any URL
- Convert: Uses Readability + Turndown to extract clean markdown
- Extract: Optionally pulls just the section you need
- Return: Markdown content with title, truncation status, and alternative results
Development
# Clone and install
git clone https://github.com/Robdel12/doc-fetcher-mcp.git
cd doc-fetcher-mcp
npm install
# Test locally with Claude Code
claude --plugin-dir .
# Test the MCP server directly
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_doc_content","arguments":{"query":"useState","docset":"react"}}}' | node src/index.js
License
MIT