Defuddle Fetch

io.github.domdomegg由 GitHub 账号 domdomegg 发布v1.0.4更新于 Oct 24, 2026

Fetch content from the web, cleaned up nicely for LLMs (using Defuddle).

概览

AI 生成的概览

让助手抓取网页,并把正文清理成易读的 Markdown 或原始 HTML,同时附带元数据。

可以做什么
这是一个本地 MCP 服务器,使用 Defuddle 库抓取指定 URL 并提取正文,去除页面杂项。其 fetch 工具接受 url 以及可选的 max_length、start_index 和 raw 参数,因此长页面可以分段读取。返回结果包含标题、作者、发布日期、字数、域名和处理耗时等元数据。它被定位为默认基于 Readability 的抓取服务器的直接替代品。
适用场景
当助手需要以干净的文本而非原始 HTML 阅读网页时适用,例如总结文章、查阅文档或把页面内容引入对话。如果你常用的网站在默认抓取服务器下提取效果不佳,值得添加。
运行要求
以本地进程通过 stdio 运行,可从 npm 包 defuddle-fetch-mcp-server 用 npx 安装,或使用 .mcpb 包。未声明任何认证、环境变量或请求头。需要网络访问以获取目标 URL,并需要桌面版 MCP 客户端。
安装前请注意
该服务器会抓取交给它的任意 URL,因此来自公开网络的页面内容会进入助手上下文,其中可能包含不可信指令。抓取请求会直接发往目标网站,对方可见。未声明任何凭据、支付或写入操作。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Defuddle Fetch,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

defuddle-fetch-mcp-server

A Model Context Protocol server that provides web content fetching capabilities using the Defuddle library. This server enables LLMs to retrieve and process content from web pages, automatically cleaning up the HTML and converting it to clean, readable markdown.

This is a drop-in replacement for the default fetch MCP server that uses Readability. This generally provides better results for most modern webpages.

Comparison

(using this issue)

Default Fetch MCPDefuddle Fetch MCP
Contents of https://github.com/kepano/defuddle/issues/61:

The MCP protocol is a standard for giving AI models access to tools.

There's a default fetch MCP server, which enables AI models to fetch content from websites. This uses Readability.js which is a bit meh, particularly at navigating GitHub (which I try to use it for a lot). I appreciate there is the GitHub MCP, but a more general web browsing solution seems particularly nice here.

Defuddle seems significantly better than Readability.js at processing pages nicely, and the model of having custom extractors to make particular sites work well seems great.

It'd be neat if someone built a defuddle-based fetch MCP server. I might get round to this later if I get frustrated enough with the default fetch MCP 😄
# idea: defuddle-based fetch MCP server · Issue #61 · kepano/defuddle

URL: https://github.com/kepano/defuddle/issues/61

Open

#61

[![@domdomegg](https://avatars.githubusercontent.com/u/4953590?u=c9e631d8135b93c7631d88f2e4bcb6b95e000264&v=4&size=80)](https://github.com/domdomegg)

## Description

The MCP protocol is a standard for giving AI models access to tools.

There's a default fetch MCP server, which enables AI models to fetch content from websites. This uses Readability.js which is a bit meh, particularly at navigating GitHub (which I try to use it for a lot). I appreciate there is the GitHub MCP, but a more general web browsing solution seems particularly nice here.

Defuddle seems significantly better than Readability.js at processing pages nicely, and the model of having custom extractors to make particular sites work well seems great.

It'd be neat if someone built a defuddle-based fetch MCP server. I might get round to this later if I get frustrated enough with the default fetch MCP 😄

Features

  • Better Content Extraction: Uses Defuddle to remove webpage clutter and extract main content: while keeping things like the page title and key metadata
  • Flexible Output: Supports both markdown and raw HTML output
  • Chunked Reading: Supports pagination with start_index and max_length parameters
  • Rich Metadata: Extracts title, author, publication date, word count, and more

Installation

Follow the instructions on install-mcp, which generates the right config for your MCP client (Claude Code, Claude Desktop, Cursor, Cline, VS Code, and more).

Components

Tools

  • fetch
    • Fetches a URL from the internet and extracts its contents as clean, markdown text using Defuddle
    • Input parameters:
      • url (string, required): URL to fetch
      • max_length (number, optional): Maximum number of characters to return. Defaults to 5000.
      • start_index (number, optional): Start content from this character index. Defaults to 0.
      • raw (boolean, optional): Get raw content without markdown conversion. Defaults to false.
    • Returns cleaned content with metadata including title, author, publication date, word count, domain, and processing time

Contributing

Pull requests are welcomed on GitHub! To get started:

  1. Install Git and Node.js
  2. Clone the repository
  3. Install dependencies with npm install
  4. Run npm run test to run tests
  5. Build with npm run build

To add it to Claude Desktop, run npm run build then add the following configuration to your claude_desktop_config.json:

json
{  "mcpServers": {    "defuddle-fetch": {      "command": "node",      "args": [        "/path/to/clone/defuddle-fetch-mcp-server/dist/index.js"      ]    }  }}

Releases

Versions follow the semantic versioning spec.

To release:

  1. Use npm version <major | minor | patch> to bump the version
  2. Run git push --follow-tags to push with tags
  3. Wait for GitHub Actions to publish to the NPM registry.

来源:README.md,提交 08b5f96

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.4最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分