mcpField
W
Web2MD

Web2MD

本地服务
rapidapi.com浏览器自动化02 周前更新

关于 Web2MD

Web2MD 是一个 MCP 服务,可提取网页内容并转换为 Markdown、纯文本或按令牌数限制的分块,面向需要网页内容、元数据或 RAG 素材的客户端;请求通过 RapidAPI 上的 Web2MD API 处理。

主要功能

  1. 01提取网页为 Markdown 或文本
  2. 02按标题拆分令牌数受限的内容块
  3. 03转换提供的 HTML
  4. 04获取网页元数据

适用场景

  1. 01为 RAG 和嵌入准备网页内容
  2. 02去除导航与广告文本后读取页面
  3. 03将已有 HTML 转成 Markdown 或文本

MCP 相关

向 MCP 客户端提供 `read_url`、`chunk_url`、`convert_html` 和 `page_metadata` 工具。使用 Web2MD API 需要 RapidAPI 密钥。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"kanavsingla28-web2md": {
"command": "npx",
"args": [
"-y",
"web2md-rag-mcp"
],
"env": {
"RAPIDAPI_KEY": "<RAPIDAPI_KEY>"
}
}
}
}
启动命令npx -y web2md-rag-mcp
需要配置的环境变量
RAPIDAPI_KEY密钥Your RapidAPI key, subscribed to Web2MD (free BASIC plan available).

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

安装包
npmweb2md-rag-mcp0.1.0

工具

4

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

参数类型必填说明
urlstring是绝对 http(s) URL,最多 2048 个字符。
formatenum否输出格式。默认值为 markdown。markdown | text | json
include_linksboolean否将链接保留为 [text](url)。默认 true。
include_imagesboolean否将图片保留为 ![alt](url)。默认 false。
include_tablesboolean否将表格保留为 Markdown 表格。默认 true。

详细介绍

Web2MD MCP 服务

一个 MCP 服务,使用 RapidAPI 上的 Web2MD API,将任意网页转换为简洁的 Markdown、纯文本或受令牌数限制的 RAG 分块。

npm CI

功能

  • read_url:获取网页并将其主要内容以 Markdown 或纯文本形式返回,不含导航、广告或冗余内容。
  • chunk_url:获取网页,并按标题将其拆分为令牌数受限的分块,用于 RAG 和嵌入。
  • convert_html:将已有的原始 HTML 转换为 Markdown 或纯文本。
  • page_metadata:获取网页的标题、作者、发布日期、描述等字段,不包含完整内容。

3 步完成设置

  1. 在 RapidAPI 上订阅 Web2MD。BASIC 套餐免费,每月包含 500 次请求。
  2. 从该 API 页面上的 Endpoints 选项卡复制你的 X-RapidAPI-Key。
  3. 将此服务添加到你的客户端。

需要 Node.js 22 或更高版本。

Claude Code:

claude mcp add web2md -e RAPIDAPI_KEY=your-key -- npx -y web2md-rag-mcp

Claude Desktop(claude_desktop_config.json)和 Cursor(~/.cursor/mcp.json)使用相同的 JSON:

{
  "mcpServers": {
    "web2md": {
      "command": "npx",
      "args": ["-y", "web2md-rag-mcp"],
      "env": { "RAPIDAPI_KEY": "your-key" }
    }
  }
}

Windsurf:将相同的代码块放入 ~/.codeium/windsurf/mcp_config.json。

工具

工具功能参数返回值
read_url将网页作为简洁的 Markdown 或文本获取url(最多 2048 个字符);format:markdown、text 或 json;include_links、include_images、include_tables标题、令牌数和内容;format: "json" 返回完整的 JSON 文档
chunk_url将网页拆分为 RAG 分块url;max_tokens 64-8192(默认值为 512);overlap_tokens 0-1024(默认值为 50);include_links、include_images、include_tables包含 total_tokens 和 chunks 的 JSON;每个分块均包含标题路径和令牌数
convert_html转换原始 HTMLhtml(最多 5,000,000 个字符);可选的 url,用于解析相对链接;format;include_links、include_images、include_tables与 read_url 相同
page_metadata获取网页元数据url包含标题、作者、日期、描述、站点名称、语言、规范 URL、图片、字数和阅读时间的 JSON

限额和套餐

套餐价格每月请求数
BASIC$0500
PRO$910,000
ULTRA$2960,000
MEGA$79250,000
  • RapidAPI 速率限制:每小时 1,000 次请求。
  • 支持最大 5 MB 的网页。
  • 遵循 robots.txt 规则。
  • JavaScript 较多的网页可能返回 no_content。计划支持页面渲染。

错误

工具错误的格式为 Web2MD error [code]: message。输入验证失败(URL 错误、数字超出范围)则由 MCP SDK 返回,格式为 MCP error -32602: Input validation error ...。

代码含义
missing_key未设置 RAPIDAPI_KEY
invalid_keyRAPIDAPI_KEY 包含 HTTP 标头中不允许的字符,通常是粘贴时带入了换行符
rapidapi_authRapidAPI 拒绝了该密钥,或你尚未订阅
rapidapi_quota套餐配额或速率限制已用尽
invalid_request请求未通过验证(HTTP 422)
invalid_url400:不是 http/https 地址、包含凭据、缺少主机、端口无效,或长度超过 2048 个字符
blocked_destination400:主机解析到私有、环回、链路本地或元数据地址;端口不是 80/443;主机为 localhost/.local/.internal。适用于每次重定向
dns_error400:主机无法解析
robots_disallowed403:该网站的 robots.txt 禁止 web2md 用户代理访问此路径
page_too_large413:页面大于 5 MB
unsupported_content_type415:不是 HTML
no_content422:主要内容少于 10 个单词,通常是仅包含 JavaScript 的页面
host_rate_limited429:针对目标网站的限制,用于保护被抓取的网站。这不是你的配额
target_blocked502:网站返回了 401/403/429/503,通常是遇到了反机器人拦截
target_error502:网站返回了其他 4xx/5xx 状态码
fetch_failed502:无法连接或 TLS 失败
too_many_redirects502:重定向次数超过 5 次
fetch_timeout504:抓取耗时超过 15 秒
timeoutWeb2MD 请求超时
network_error请求无法连接到 API
bad_responseAPI 返回了非 JSON 格式的成功响应
http_<status>其他任何 HTTP 错误,附带响应内容的简短片段
internal_errorMCP 服务内部发生意外错误

隐私

你的密钥仅会发送到 RapidAPI 网关(web2md-webpage-to-markdown-rag-chunks.p.rapidapi.com),且绝不会被记录。

开发

npm ci
npm test
npm run lint
npm run build
RAPIDAPI_KEY=your-key npm run smoke

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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