dompruner-mcp

MCP serverAI & models

Dompruner cleans up web page content before your AI reads it. It strips layout noise from a page's structure, and when you give it a query it keeps only the sections relevant to that question. It does this without calling any AI model or external API.

Use dompruner-mcp in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add dompruner-mcp and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the dompruner fetch tool from dompruner-mcp

Details

Available today. Use it from your connected AI after setup.

Add Dompruner, then run page content through it before handing it to your AI. When you only need part of a page, include a query so just the relevant sections come through.

dompruner-mcpStart free

What your AI can do with it

  • Strip layout noise from page content before your AI reads it
  • Filter a page down to the sections that match a query you provide
  • Rank page sections by how relevant they are to your query
  • Run without any AI model or external API

Install dompruner-mcp

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user dompruner-mcp 'https://dompruner-mcp.vercel.app/api/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://dompruner-mcp.vercel.app/api/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=dompruner-mcp&config=eyJ1cmwiOiJodHRwczovL2RvbXBydW5lci1tY3AudmVyY2VsLmFwcC9hcGkvbWNwIn0=

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://dompruner-mcp.vercel.app/api/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add dompruner-mcp --url 'https://dompruner-mcp.vercel.app/api/mcp'

    Run it once, then sign in with codex mcp login dompruner-mcp if the server asks for an account.

From the project's README

As published by dong7812/dompruner-mcp in README.md.

한국어 | English

DOM AST middleware for LLM web pipelines — strips layout noise (nav, scripts, sidebars) and passes original text directly. Add a query to filter to relevant sections with BM25.

When an LLM uses the built-in WebFetch, a smaller model pre-processes the HTML and hands back a summarized result — adding latency, cost, and interpretation you didn't ask for. DomPruner skips that entirely: DOM AST parsing strips noise and passes the original content directly to the model.

CallBehavior
dompruner_fetch(url)Strips layout noise → returns full extracted content
dompruner_fetch(url, query)Strips layout noise → BM25 filters to relevant sections (falls back to full content if no match)
> [DomPruner] docs.python.org
> | Raw HTML  | 44,316 tokens |
> | DomPruner |  1,328 tokens |
> | Reduction |        97.0%  |
> Fetch: 194ms · Parse: 11.2ms

93.5% fewer context tokens than WebFetch on average. 45% faster end-to-end. → Full benchmark


Quick Start

No installation, no API key:

npx -y dompruner-mcp

Claude Code

{
  "mcpServers": {
    "dompruner": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "dompruner-mcp"]
    }
  }
}

Add to .mcp.json in your project root, or ~/.claude/.mcp.json for global. Run /mcp to verify.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "dompruner": {
      "command": "npx",
      "args": ["-y", "dompruner-mcp"]
    }
  }
}

Cursor / Windsurf / other MCP clients

{
  "mcpServers": {
    "dompruner": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "dompruner-mcp"]
    }
  }
}

Remote HTTP (no install, always up to date)

For clients that support HTTP transport — no Node.js install required, always runs the latest version:

{
  "mcpServers": {
    "dompruner": {
      "url": "https://dompruner-mcp.vercel.app/api/mcp"
    }
  }
}

LangChain / LangGraph

langchain-mcp-adapters wraps any MCP stdio server as LangChain tools automatically:

from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({
    "dompruner": {
        "command": "npx",
        "args": ["-y", "dompruner-mcp"],
        "transport": "stdio",
    }
})
tools = await client.get_tools()

Ensuring Your AI Always Uses DomPruner

DomPruner's tool description already tells clients to prefer dompruner_fetch over WebFetch. If your client still falls back, add this to its instruction file:

When retrieving a URL, always use dompruner_fetch instead of WebFetch.
- URL known → dompruner_fetch(url, query?)
- URL unknown → search for the URL first, then dompruner_fetch(url)
ClientInstruction file
Claude CodeCLAUDE.md (project) or ~/.claude/CLAUDE.md (global)
Cursor.cursorrules
Windsurf.windsurfrules
Cline.clinerules
GitHub Copilot.github/copilot-instructions.md

Tools

ToolDescription
dompruner_fetchFetch a URL → DOM-refined Markdown. Optional query enables BM25+ section filtering.
dompruner_sitemapFetch all pages in a sitemap.xml → one refined Document per page.
dompruner_analyzeToken-reduction report for a URL without full content.

→ Full tool reference


Benchmark Summary

MetricWebFetchDomPruner
Avg context tokens~15,735~1,019 (93.5% less)
Answer quality (10 queries)9 / 108 / 10
Avg response time5,811 ms3,168 ms (45% faster)
Content fidelitySummarized by small modelOriginal text preserved
Extra API key / infraNoNo

→ Full benchmark · Architecture


Related

  • dompruner-py — Python port. DomPrunerLoader, DomPrunerSitemapLoader, DomPrunerFetchTool for LangChain. pip install dompruner.
  • LangChain integrations — dompruner-py listed as a third-party web loader.

Glama Score


License

MIT

Tools it offers (2)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • dompruner_fetch
  • dompruner_analyze

Signals

GitHub stars
2
Last commit
Aug 2026
Weekly downloads
34
Advanced
Delivery
dompruner-mcp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-dong7812-dompruner-mcp
Source
github.com/dong7812/dompruner-mcp
Hosted endpoint
https://dompruner-mcp.vercel.app/api/mcp