mcpField
L
lean-reader

lean-reader

本地服务
github.com/AIMento浏览器自动化018 周前更新

关于 lean-reader

lean-reader 是面向 LLM 工作流的 MCP 服务和库,可从 URL 提取精简文本。每次调用都会附带令牌用量和预计节省量的收据。

主要功能

  1. 01从 URL 提取清洁文本
  2. 02返回 Markdown 或清洁文本
  3. 03报告令牌数与节省量
  4. 04组合两种文章提取器
  5. 05静态 HTML 限制时标记部分提取

适用场景

  1. 01为 LLM 上下文准备网页文章
  2. 02处理网页前查看令牌节省量

MCP 相关

其 `lean_read` 工具接收 URL 和可选格式,并返回清理后的文本及令牌节省收据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"aimento-lean-reader": {
"command": "npx",
"args": [
"-y",
"lean-reader"
]
}
}
}
启动命令npx -y lean-reader

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmlean-reader0.1.0

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是取得并清理的 URL
formatenum否输出格式(默认:markdown)markdown | text

详细介绍

Lean Reader

将任意 URL 转换为精简 token、适合大模型的纯文本,并在每次调用时附上 token 节省凭证。MCP 服务 + 库。

大模型不需要导航栏、Cookie 横幅、<script> 标签或 200 KB 的内嵌 SVG,但原始网页 HTML 会让它们为所有这些内容付费。Lean Reader 会将网页精简为文章内容,并准确告知你节省了多少 token(以及多少钱)。

231,276 → 15,735 tokens (93% saved · 14.7× vs raw HTML · ~$0.54 on gpt-4o) · cleaned by lean reader

用作 MCP 服务

添加到客户端的 MCP 配置中(Claude Desktop/Code、Cursor 等):

{
  "mcpServers": {
    "lean-reader": { "command": "npx", "args": ["-y", "lean-reader"] }
  }
}

然后,lean_read(url, format?) 工具会返回纯文本和节省凭证。

用作库

import { leanRead } from 'lean-reader/lib/core.js';

const r = await leanRead('https://example.com/article', { format: 'markdown' });
console.log(r.content);   // token-minimized text
console.log(r.receipt);   // { beforeTokens, afterTokens, savedPct, ratio, estCostSavedUsd, ... }

能节省多少?

以实测为准,而非宣传——公开基准测试提供测试语料、分词器和所有原始输出,并标出 Lean Reader 表现较差的情况:

  • 与标准提取器 Mozilla Readability 相比,中位数 token 数减少约 29%,同时保留约 99% 的正文。坦诚地说,这一优势来自 minimize 后处理(剔除链接、图片、脚注和空白),而非提取更智能——两者都经过 minimize 处理后,结果大致相当。Lean 实际上也将 Readability 用作两个提取器之一(见“坦诚说明局限”),因此它不会输给 Readability。
  • 与原始网页 HTML相比,缩减幅度大得多(中位数约为 8.7 倍;对于已经整洁的博客正文,缩减至约 3.1 倍;对于脚本繁多的文档,则超过 100 倍)——但没人会把这种 HTML 输入大模型,因此应将其理解为“不要直接倾倒原始网页”,而不是竞争优势。
  • 与 Jina Reader 相比(实测,匿名层级):在正文内容相同的情况下,token 数减少约 1.6 倍;若将 Jina 还会返回的导航和引用内容也计算在内,则减少约 4.3 倍。Firecrawl 尚未实测(需要 API 密钥)。

凭证使用 o200k_base 分词器(GPT-4o/4.1 级别);始终会显示模型和分词器,且计数以原始网页 HTML 为基准,方便你核对计算结果。

坦诚说明局限

  • 仅支持静态 HTML(v1)。 对于正文由客户端渲染的网页(部分 SPA、GitHub 仓库主页),返回的内容会很少——Lean Reader 会标记为 partial,而不是输出空文本。Jina/Firecrawl 会渲染 JS,在这类网页上表现会更好。
  • 两个提取器,选择正文最多的结果。 Defuddle 和 Mozilla Readability 都会在不同网页上悄悄丢弃正文(Defuddle 会在部分篇幅较长的 Wikipedia 文章上出现此情况,Readability 则会在部分文档/SPA 上出现)。Lean 会同时运行两者,并保留正文内容更多的结果,因此两者的盲点都不会导致内容悄悄丢失。已对 14 个手工标注样本完成 ROUGE-L 真实内容对照测试:参考正文召回率为 0.99,与 Readability 在相同真实内容对照测试中的结果相同,因此字数差距来自噪声清理,而非正文丢失(见基准测试仓库)。
  • token 计数使用 o200k_base;Claude/Gemini 的分词方式不同。

开放核心

提取和 token 精简核心(lib/)以及 MCP 服务(src/)采用 MIT 许可。托管服务、分享界面和计量功能则单独提供。

MIT © 2026

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。