原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

dompruner-mcp

作者:dong7812版本 0.5.2i★ –i电脑或云端
注册名称io.github.dong7812/dompruner-mcp

安装

概览

作者提供的说明(英文原文)

Strips layout noise via DOM AST; with a query, BM25 filters to relevant sections. No model or API.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

  • 在云端运行无需安装任何东西,通过互联网连接
  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://dompruner-mcp.vercel.app/api/mcp

或者在你的电脑上运行

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

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

在终端中运行这条命令

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

或者在你的电脑上运行

claude mcp add dompruner -- npx -y dompruner-mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

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

或者在你的电脑上运行

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

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

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "dompruner": {
      "type": "http",
      "url": "https://dompruner-mcp.vercel.app/api/mcp"
    }
  }
}

或者在你的电脑上运行

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

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

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://dompruner-mcp.vercel.app/api/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 dong7812 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    端点有响应

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    使用 OAuth 登录

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 18584 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 18584 个服务器的 23% 更新
  • 基础检查结果等于或优于此分类中其他 18584 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

dompruner-mcp 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

两种方式都可以:安装在你的电脑上,或者连接云端版本。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.5.2)于3个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, aamio rendezvous

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

作者:formulahendry起步阶段↓ 66/周★ 44014个月前更新

在你的电脑上运行

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

作者:desktop-commander正在增长★ 2113天前更新

在云端运行✓ desktopcommander.app

aamio rendezvous

Meet an agent you have not met, exchange messages that expire, and prove it happened. No account.

作者:aamio.at起步阶段今天更新

在云端运行✓ aamio.at

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

dompruner-mcp

한국어 | 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 a web fetch tool, the raw page HTML is converted to text and passed into the model's context — often tens of thousands of tokens of navigation, sidebars, and boilerplate the model doesn't need. DomPruner strips that at the DOM level and passes only 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](https://github.com/dong7812/dompruner-mcp/blob/main/docs/tools.md)


Benchmark Summary

vs WebFetch (live comparison, Claude Haiku)

Measured using Anthropic's web_fetch_20260209 server tool under identical conditions (same model, system prompt, tool definitions). → Full methodology

Metricweb_fetch toolDomPruner
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 fidelityRaw page content (full HTML → text)DOM-extracted original text
Extra API key / infraNoNo
BM25 Section Accuracy (snapshot-based, deterministic)
SetPagesAvg reductionSection preservation
Tuning (MDN, docs.python.org)1098.0%98.0%
Validation (held-out sites)598.7%96.0%

headingBoost=2.0 was selected by running a parameter sweep (1.0–3.0) on the tuning set. The validation set uses five sites not present in the tuning set (react.dev, typescriptlang.org, expressjs.com, doc.rust-lang.org, nextjs.org) to confirm the result is not overfit. The 2 %p gap is within the known heading-bias limitation.

→ [Full benchmark](https://github.com/dong7812/dompruner-mcp/blob/main/docs/benchmark.md) · [Architecture](https://github.com/dong7812/dompruner-mcp/blob/main/docs/architecture.md)


vs Crawl4AI

Crawl4AI is a crawler framework — browser automation, JS rendering, click/scroll interaction, JSON extraction, deep crawl. DomPruner is LLM context middleware — a single-purpose layer that reduces token cost when an agent already knows the URL.

They solve different problems. But both can be used to read a web page inside an MCP agent, so the comparison is real.

Setup
Crawl4AIDomPruner
Installpip install crawl4ai && crawl4ai-setup (Chromium ~300 MB)`npx -y dompruner-mcp`
Browser requiredDefault install includes Chromium; HTTP-only mode availableNo (SSR; Playwright only on CSR detection)
MCP serverRequires running the Crawl4AI Docker server`npx -y dompruner-mcp` — no server
Config to filter tokensPass a filter object in code (BM25ContentFilter(user_query=...))Zero — just pass `query=`
Held-out validation: 5 sites not in DomPruner's tuning set

The most defensible comparison: five sites that were not used to tune DomPruner's parameters (react.dev, typescriptlang.org, expressjs.com, doc.rust-lang.org, nextjs.org). Both tools use the same query.

PageC4AI BM25ContentFilterDomPruner
React useEffect4,2751,257
TypeScript narrowing2,7821,214
Express routing1,9381,799
Rust ownership1,832718
Next.js layouts1,5051,379
Total12,3326,367
Accuracy96%96%

On sites DomPruner was not tuned on: 1.9× fewer tokens with the same accuracy (96%).

Additional reference: 10-page tuning set (MDN, docs.python.org)

On DomPruner's own tuning pages, vs Crawl4AI PruningContentFilter: 13.2× smaller, 8 pp more accurate (90% → 98%). Crawl4AI BM25ContentFilter with the same query returns near-empty output on 5 of 10 pages — a structural issue with / / definition-list pages where a threshold sweep (0.0–0.10) shows a hard cliff at 0.01 with no intermediate optimum.

→ [Full comparison with all tables and threshold sweep data](https://github.com/dong7812/dompruner-mcp/blob/main/docs/benchmark.md#5-vs-crawl4ai)


Related

  • [dompruner-py](https://github.com/dong7812/dompruner-py) — Python port. DomPrunerLoader, DomPrunerSitemapLoader, DomPrunerFetchTool for LangChain. pip install dompruner.
  • [LangChain integrations](https://docs.langchain.com/oss/python/integrations/document_loaders) — dompruner-py listed as a third-party web loader.

Glama Score


License

MIT

问 PopNx