Token导航 LogoToken导航

MCP Server · 浏览器工具

MCP Fetch Go

gofetch是一款专为LLM编码助手设计的服务器,能够将HTML转换为干净的Markdown,并提供结构化元数据和智能截断功能。

未说明官方级别未说明来源级核验工具 1
结构化数据GoClaude浏览器自动化Claude DesktopCursorWindsurf

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
arawak
提供方
arawak

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Fetch Go 属于浏览器工具类 MCP Server,公开资料标注 1 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude、Cursor,没有现成的安装命令;接入前要先准备 会话凭据。

分类

浏览器工具

传输方式

未说明

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

gofetch

一个模型上下文协议(MCP)服务器,它获取URL并将HTML转换为干净的Markdown。专为基于LLM的编码助手而设计。

为什么是gofetch?

与通用的web抓取器不同,gofetch知道LLM最适合:

  • 清除Markdown --不是原始HTML或单词包装文本
  • 结构化元数据 --截断状态、重定向后的最终URL、内容类型
  • 智能截断 --段落边界,而不是句子中间的删减
  • 清除分页 --下一个字节位置,继续通知

目标

  1. 提取内容,而不是噪音 --自动删除导航、侧边栏、页脚和UI元素
  2. 提供结构化输出 --返回Markdown+JSON元数据以供编程使用
  3. 处理真实世界的场景 --检测重定向、阻止尝试、不支持的内容类型
  4. 针对LLM环境进行优化 --在段落边界处智能截断以保持可读性
  5. 启用分页 --支持字节范围获取,并为连续的多页文档提供清晰的指示符

比较:gofetch与pyfetch

特性gofetchpyfetch
Markdown质量优秀仅限纯文本
降噪同类最佳基本
重定向检测显示最终URL静默
元数据完整JSON无
截断段落感知任意字节边界
分页通知清除([Continued from byte X])无
站点兼容性高(适用于大多数开发站点)低(被许多站点阻止)
robots.txt忽略尊重

判决: gofetch是专为LLM编码工作流而构建的;pyfetch是一个道德通用的刮刀。

安装

源自

git clone https://github.com/arawak/mcp-fetch-go.git
cd mcp-fetch-go
go build -o gofetch ./cmd/mcp-fetch-go

使用Go安装

go install github.com/arawak/mcp-fetch-go/cmd/mcp-fetch-go@latest

用法

MCP配置

添加到您的MCP客户端配置(Claude Desktop、Cursor、Windsurf等):

{
  "mcpServers": {
    "fetch": {
      "command": "gofetch"
    }
  }
}

工具: fetch

获取URL并将其内容作为Markdown(或原始文本)返回。

参数:

参数类型默认值说明
url字符串*必需的*要获取的URL
maxBytesint30000返回的最大字节数
startBytesint0要跳过的字节数(用于分页)
rawboolfalse返回未经Markdown转换的原始内容
timeoutint30超时(秒)

例子:

{
  "url": "https://go.dev/doc/effective_go",
  "maxBytes": 5000
}

答复:

该工具返回两个内容块:

  1. Markdown内容 --转换后的内容(或原始内容,如果 raw: true)
  2. 元数据JSON --关于获取的信息:
{
  "url": "https://go.dev/doc/effective_go",
  "statusCode": 200,
  "contentType": "text/html",
  "contentBytes": 45123,
  "returnedBytes": 5000,
  "truncated": true,
  "nextStartBytes": 5000,
  "fetchedAt": "2026-02-21T10:30:00Z"
}

重定向处理

当URL重定向时,gofetch会在内容前添加一条通知:

[Note: Redirected to https://final-url.example.com/path]

...content...

这允许LLM知道内容的实际来源。

分页

对于大型文档,请使用 startBytes 继续阅读:

// First request
{"url": "https://example.com/large-doc", "maxBytes": 10000}

// Response includes: "nextStartBytes": 10000
// Continue from where you left off:
{"url": "https://example.com/large-doc", "maxBytes": 10000, "startBytes": 10000}

截断的内容包括一条通知:

...content...

---
[Truncated: 10000 of 50000 bytes. Use startBytes=10000 to continue.]

内容处理

gofetch通过多阶段管道从HTML中提取干净的内容:

  1. 查找主要内容 --寻找 ` 或

` 要素先行;回退到完整文档

  1. 条形结构噪声 --删除 `, , , , , , , , `
  2. 条形ARIA噪声 --删除元素 role="navigation", role="banner", role="contentinfo", role="button"等等。
  3. 按类别分组 --删除类包含以下内容的元素: sidebar, breadcrumb, cookie, advertisement, navbar, toc
  4. 剥去UI铬 --删除按钮、图像和元素 aria-hidden="true"
  5. 清洁web组件 --解开未知的自定义元素,删除已知的噪声组件(GitHub的 tool-tip, action-menu, copy-button;Reddit的 faceplate-*, shreddit-*)
  6. 转换为Markdown --用途 html到markdown 带有CommonMark输出

支持的内容类型

  • text/html --转换为Markdown
  • application/xhtml+xml --转换为Markdown
  • text/plain --按原样返回
  • text/markdown --按原样返回

其他内容类型返回错误。使用 raw: true 绕过内容类型检查并返回原始字节。

安全配置

环境变量

变量默认值描述
MCP_FETCH_ALLOWED_DOMAINS*(空)*逗号分隔的域列表。空=全部允许
MCP_FETCH_ALLOW_PRIVATEfalse允许私有/环回IP(SSRF保护)
MCP_FETCH_MAX_REDIRECTS5要遵循的最大重定向数

SSRF保护

默认情况下,服务器会阻止以下请求:

  • 私有IP地址(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • 环回地址(127.0.0.0/8, ::1)
  • 链接本地地址(169.254.0.0/16, fe80::/10)

允许私有IP(用于开发或内部网络):

MCP_FETCH_ALLOW_PRIVATE=true gofetch

要限制到特定域,请执行以下操作:

MCP_FETCH_ALLOWED_DOMAINS=example.com,docs.example.com gofetch

建筑

# Using Make (recommended)
make build    # Build binary to bin/gofetch
make test     # Run tests with coverage
make install  # Install to $GOPATH/bin

# Or directly with Go
go build -o gofetch ./cmd/mcp-fetch-go

# Static binary for containers
CGO_ENABLED=0 go build -ldflags="-s -w" -o gofetch ./cmd/mcp-fetch-go

测试

# Run all tests with race detection and coverage
make test

# Or directly with Go
go test -race -cover ./...

# Run integration tests only
go test ./tests/... -v

许可证

MIT许可证——见 许可证 了解详情。

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

HTML转换Go本地部署Markdown生成LLM工具网页抓取结构化数据

支持客户端

Claude DesktopClaudeCursorWindsurf

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到会话凭据的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Fetch Go

MCP World · 本页

1未说明未标注1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Fetch Go 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

MCP Fetch Go 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Fetch Go 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Fetch Go 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Fetch Go 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor、Windsurf;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP