网页内容抓取服务器

一个多功能的网页内容抓取服务器,支持HTML、JSON、纯文本、Markdown、可读文章内容和YouTube字幕的提取。

  • by zcaceres
  • TypeScript
  • 本地部署
  • 835 星标
  • 更新于
在 GitHub 查看 zcaceres/fetch-mcp

使用说明

获取MCP服务器

一个MCP服务器,用于获取多种格式的web内容——HTML、JSON、纯文本、Markdown、可读文章内容和YouTube转录本。

工具

所有工具都接受以下通用参数:

参数 类型 必填 说明
url string 是 要获取的URL
headers object 否 要包含在请求中的自定义标头
max_length number 否 返回的最大字符数(默认值:5000)
start_index number 否 从此字符索引开始(默认值:0)
proxy string 否 代理URL(例如。 http://proxy:8080)
  • fetch_html --获取一个网站并返回其原始HTML内容。

  • fetch_markdown --获取一个网站并返回转换为Markdown的内容。

  • fetch_txt --获取一个网站并返回删除了HTML标签、脚本和样式的纯文本。

  • fetch_json --获取一个URL并返回JSON响应。

  • fetch_readable --使用以下命令获取网站并提取主要文章内容 Mozilla可读性,返回为Markdown。剥离导航、广告和样板。非常适合发表文章和博客文章。

  • fetch_youtube_transcript --获取YouTube视频的字幕/文字记录。用途 yt-dlp 如果可用,则直接从页面中提取。接受额外 lang 参数(默认值: "en")选择字幕语言。

安装

作为MCP服务器

添加到MCP客户端配置中:

{
  "mcpServers": {
    "fetch": {
      "command": "npx",
      "args": ["mcp-fetch-server"]
    }
  }
}

作为CLI

npx mcp-fetch <command> <url> [flags]

或全局安装:

npm install -g mcp-fetch-server
mcp-fetch <command> <url> [flags]

CLI使用情况

mcp-fetch <command> <url> [flags]

命令

命令 描述
html 获取URL并返回原始HTML
markdown 获取一个URL并返回Markdown
readable 获取一个URL并将文章内容作为Markdown返回(通过可读性)
txt 获取URL并返回纯文本
json 获取URL并返回JSON
youtube 获取YouTube视频记录

旗帜

标志 描述
--max-length <N> 要返回的最大字符数
--start-index <N> 从这个字符索引开始
--proxy <URL> 代理URL
--lang <code> YouTube成绩单的语言代码(默认值: en)
--help 显示帮助消息
--version 显示版本

例子

# Fetch a page as markdown
mcp-fetch markdown https://example.com

# Extract article content without boilerplate
mcp-fetch readable https://example.com/blog/post

# Get a YouTube transcript in Spanish
mcp-fetch youtube https://www.youtube.com/watch?v=dQw4w9WgXcQ --lang es

# Fetch with a length limit
mcp-fetch html https://example.com --max-length 10000

# Fetch through a proxy
mcp-fetch json https://api.example.com/data --proxy http://proxy:8080

环境变量

变量 描述
DEFAULT_LIMIT 响应的默认字符限制(默认值: 5000,设置为 0 无限制)
MAX_RESPONSE_BYTES 最大响应正文大小(以字节为单位)(默认值: 10485760 /10 MB)

自定义限制示例:

{
  "mcpServers": {
    "fetch": {
      "command": "npx",
      "args": ["mcp-fetch-server"],
      "env": {
        "DEFAULT_LIMIT": "50000"
      }
    }
  }
}

特性

  • 获取HTML、JSON、纯文本或Markdown格式的web内容
  • 使用Mozilla可读性提取文章内容(条形广告、导航、样板)
  • 提取YouTube视频转录(通过 yt-dlp 或直接提取)
  • 防火墙后请求的代理支持
  • 分页与 max_length 和 start_index
  • 自定义请求标头
  • SSRF保护(阻止私有/本地主机地址和DNS重新绑定)
  • 响应大小限制以防止内存耗尽

发展

bun install
bun run dev     # start with watch mode
bun test        # run tests
bun run build   # build for production

许可证

该项目根据MIT许可证获得许可。