/ Directory / Playground / JDocMunch MCP
● Community jgravelle ⚡ Instant

JDocMunch MCP

by jgravelle · jgravelle/jdocmunch-mcp

Documentation retrieval that doesn't drown your context — structured section index lets Claude pull just the section it needs.

JDocMunch is a documentation MCP optimized for token efficiency. It pre-indexes docs into a navigable section tree (TOC + anchors), so Claude can pull a single section, follow cross-refs, and never dump 50KB of unrelated reference material. Designed for the 'I'm reading the AWS SDK docs and Claude keeps fetching the entire page' problem.

Why use it

Key features

Live Demo

What it looks like in practice

jdocmunch-mcp.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "jdocmunch-mcp": {
      "command": "uvx",
      "args": [
        "jdocmunch-mcp"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "jdocmunch-mcp": {
      "command": "uvx",
      "args": [
        "jdocmunch-mcp"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "jdocmunch-mcp": {
      "command": "uvx",
      "args": [
        "jdocmunch-mcp"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "jdocmunch-mcp": {
      "command": "uvx",
      "args": [
        "jdocmunch-mcp"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "jdocmunch-mcp",
      "command": "uvx",
      "args": [
        "jdocmunch-mcp"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "jdocmunch-mcp": {
      "command": {
        "path": "uvx",
        "args": [
          "jdocmunch-mcp"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add jdocmunch-mcp -- uvx jdocmunch-mcp

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use JDocMunch MCP

Pull just the API reference section you need from a giant doc site

👤 Devs working with cloud SDKs ⏱ ~10 min beginner

When to use: AWS SDK docs are 200 pages and Claude wants to fetch them all.

Prerequisites
  • Doc URL or local doc tree — First call: index the doc; subsequent calls hit the cache
Flow
  1. Index
    Use jdocmunch. Index the AWS S3 SDK docs at the URL. Show me top-level sections.✓ Copied
    → TOC tree returned, no full content yet
  2. Drill
    Show only the section on multipart upload — code samples included, intro skipped.✓ Copied
    → Targeted section content
  3. Follow
    Now follow the link to 'Aborting incomplete uploads' from that section.✓ Copied
    → Linked section pulled

Outcome: Answer in 2k tokens instead of 80k.

Pitfalls
  • Doc structure has weird anchors (PDF-only) — Pre-convert to Markdown first; jdocmunch parses Markdown best
Combine with: filesystem

Compare API doc sections across two SDK versions

👤 Devs upgrading dependencies ⏱ ~20 min intermediate

When to use: You're moving from v3 to v4; you want a precise diff of what changed.

Flow
  1. Index both
    Index doc-v3 and doc-v4. List sections that exist only in v4 or have changed.✓ Copied
    → Diff list of sections
  2. Drill into changed
    Show changes in the 'Authentication' section between v3 and v4.✓ Copied
    → Per-section diff

Outcome: Migration guide built from the docs themselves.

Pitfalls
  • Section IDs change between versions — Match by heading text instead of anchor

Combinations

Pair with other MCPs for X10 leverage

jdocmunch-mcp + filesystem

Save retrieved sections to project notes

Pull the multipart-upload section and save it to /docs/notes/s3-multipart.md.✓ Copied
jdocmunch-mcp + git-mcp-idosal

Pair docs with source-of-truth source code

Read the doc section, then GitMCP the actual SDK source for that method.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
index url_or_path First time on a doc set 1 fetch + parse
list_sections doc_id, depth? TOC navigation free (cached)
get_section doc_id, section_path Pull one section free (cached)
follow_link doc_id, from_section, link_target Chase cross-references free (cached)

Cost & Limits

What this costs to run

API quota
Per host's robots policy
Tokens per call
100–800 with structured retrieval
Monetary
Free
Tip
Index once, query many — cache makes follow-ups cheap

Security

Permissions, secrets, blast radius

Minimum scopes: Outbound HTTP for indexing
Credential storage: None for public docs
Data egress: Whatever doc host you index
Never grant: Indexing of private internal docs without auth control

Troubleshooting

Common errors and fixes

Index parse fails on JS-heavy doc site

Some sites need a headless browser; check if a static export exists

Sections missing after re-index

Doc structure changed; bust the cache and re-index

uvx can't find binary

PATH issue under MCP client; use explicit uvx jdocmunch-mcp

Alternatives

JDocMunch MCP vs others

AlternativeWhen to use it insteadTradeoff
Context7Curated library docs surface — known catalogLimited to indexed libraries
GitMCPRepo-as-docs (README + /docs)GitMCP doesn't structure-index large doc sites

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills