Token导航 LogoToken导航

MCP Server · 浏览器工具

250908 Html MCP Server Go

一个高性能的Go实现MCP服务器,用于从网页(包括JavaScript渲染内容和Docsify文档站点)中提取内容,支持JSON-RPC和REST API双模式。

stdio官方级别未说明来源级核验工具 1
浏览器自动化Go内容提取

快速开始

作者 / 组织
MauricioZapata00
提供方
MauricioZapata00
运行时
Docker

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

250908 Html MCP Server Go 属于浏览器工具类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

浏览器工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run -p 8085:8085 html-mcp-server-go

客户端配置示例

{
  "mcpServers": {
    "250908-html-mcp-server-go": {
      "command": "docker",
      "args": [
        "run",
        "-p",
        "8085:8085",
        "html-mcp-server-go"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

HTML MCP服务器Go

MCP(模型上下文协议)服务器的高性能Go实现,用于从网页中获取和提取内容,包括JavaScript渲染的内容和Docsify文档网站。使用Go Fiber v2的清洁架构原则构建。

特性

  • 双模式操作:同时用作MCP服务器(JSON-RPC)和REST API服务器
  • HTML内容提取:从静态HTML页面提取文本内容
  • JavaScript渲染:支持SPA和使用Chrome/Chromium动态渲染的内容
  • 文档支持:Docsify文档网站的专业解析
  • 清洁建筑:具有独立关注点的领域驱动设计
  • 高性能:使用Go Fiber v2和异步处理构建
  • Docker就绪:带有健康检查的容器化部署
  • CORS支持:为API模式启用交叉原始请求

快速开始

先决条件

  • 转到1.21或更高版本
  • Chrome/Chromium(用于JavaScript渲染)
  • Docker(可选,用于容器化部署)

地方发展

  1. 克隆和构建:
   git clone 
   cd html-mcp-server-go
   go mod download
   go build -o html-mcp-server ./cmd
  1. 作为REST API服务器运行:
   ./html-mcp-server -mode=api -port=8085
  1. 测试API:
   # Health check
   curl http://localhost:8085/health

   # Fetch regular webpage
   curl -X POST http://localhost:8085/api/fetch \
     -H "Content-Type: application/json" \
     -d '{"url": "https://example.com"}'

   # Fetch with JavaScript rendering
   curl -X POST http://localhost:8085/api/fetch \
     -H "Content-Type: application/json" \
     -d '{"url": "https://docs.example.com", "use_js_rendering": true}'

   # Fetch Docsify site
   curl -X POST http://localhost:8085/api/fetch \
     -H "Content-Type: application/json" \
     -d '{"url": "https://docsify.js.org", "use_js_rendering": true, "parse_docsify": true}'
  1. 以MCP服务器运行:
   ./html-mcp-server -mode=mcp

Docker部署

  1. 使用Docker构建和运行:
   docker build -t html-mcp-server-go .
   docker run -p 8085:8085 html-mcp-server-go
  1. 或者使用Docker Compose:
   docker-compose up -d

api参考

REST API

GET/健康

返回服务器运行状况。

答复:

{
  "status": "healthy",
  "version": "1.0.0"
}
POST/api/fetch

从网页中获取和提取内容。

请求正文:

{
  "url": "https://example.com",
  "extract_text_only": true,
  "use_js_rendering": false,
  "parse_docsify": false,
  "timeout_seconds": 30,
  "wait_for_selector": ".content"
}

参数:

  • url (必填):要获取的URL
  • extract_text_only:仅提取文本内容(默认值:true)
  • use_js_rendering:使用Chrome进行JavaScript渲染(默认值:false)
  • parse_docsify:解析Docsify特定内容(默认:自动检测)
  • timeout_seconds:请求超时(默认值:30,最大值:300)
  • wait_for_selector:要等待的CSS选择器(仅限JS渲染)

答复:

{
  "url": "https://example.com",
  "title": "Example Domain",
  "text_content": "Example Domain This domain is for use...",
  "raw_html": "...",
  "metadata": {
    "content_type": "text/html; charset=utf-8",
    "status_code": 200,
    "content_length": 1256,
    "is_js_rendered": false,
    "is_docsify": false
  },
  "docsify_data": {
    "sidebar_content": "...",
    "navbar_content": "...",
    "main_content": "...",
    "config_data": {...}
  }
}

MCP协议

服务器使用以下工具实现MCP(模型上下文协议):

fetch_html

从网页中提取内容。

参数:

  • url (必填):要获取的URL
  • extract_text_only:仅提取文本内容
  • use_js_rendering:使用JavaScript渲染
  • parse_docsify:解析Docsify内容
  • timeout_seconds:请求超时
  • wait_for_selector:要等待的CSS选择器

MCP客户端配置

将以下配置之一添加到MCP客户端设置中:

本地开发(已安装Go)
{
  "mcpServers": {
    "html-mcp-server-go": {
      "command": "go",
      "args": ["run", "./cmd", "-mode=mcp"],
      "cwd": "/path/to/html-mcp-server-go"
    }
  }
}
二进制执行(编译二进制)
{
  "mcpServers": {
    "html-mcp-server-go": {
      "command": "/path/to/html-mcp-server",
      "args": ["-mode=mcp"]
    }
  }
}
Docker容器
{
  "mcpServers": {
    "html-mcp-server-go": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "html-mcp-server-go", "-mode=mcp"]
    }
  }
}

注: 替换 /path/to/html-mcp-server-go 和 /path/to/html-mcp-server 分别显示项目目录和二进制文件的实际路径。

建筑

该项目遵循清洁建筑原则:

├── cmd/                    # Application entry point
├── domain/                 # Core business logic
│   ├── model/             # Domain entities and value objects
│   └── port/              # Interfaces for external dependencies
├── application/           # Business logic and use cases
│   ├── service/           # Application services
│   └── usecase/           # Use case implementations
├── infrastructure/        # External adapters
│   ├── adapter/           # HTML parser adapter
│   ├── api/               # Fiber REST API server
│   ├── client/            # HTTP client with Chrome support
│   └── mcp/               # MCP server implementation
└── docker-compose.yaml   # Container orchestration

配置

环境变量

  • CHROME_BIN:Chrome/Chromium二进制文件的路径
  • CHROME_PATH:Chrome的替代路径

命令行标志

  • -mode:服务器模式(mcp、api、auto)-默认值:auto
  • -port:API服务器端口-默认值:8085

Docker配置

Docker镜像包括:

  • Alpine Linux基础映像
  • Chrome/Chromium浏览器
  • 非root用户安全
  • 健康检查
  • 资源限制(1GB内存,1个CPU核)

发展

添加新功能

  1. 在中定义域模型 domain/model/
  2. 在中创建接口 domain/port/
  3. 在中实现业务逻辑 application/service/
  4. 在中创建适配器 infrastructure/
  5. 导线依赖关系 cmd/main.go

测试

# Run tests
go test ./...

# Run specific package tests
go test ./domain/model
go test ./application/service

# Integration testing with Docker
docker-compose up -d
curl http://localhost:8085/health
docker-compose down

建筑

# Development build
go build -o html-mcp-server ./cmd

# Production build
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o html-mcp-server ./cmd

# Docker build
docker build -t html-mcp-server-go .

文档支持

服务器为Docsify文档站点提供专门支持:

特性

  • 自动检测:自动检测Docsify站点
  • 内容提取:将侧边栏、导航栏和主要内容分开
  • 配置解析:提取Docsify配置数据
  • JavaScript渲染:处理动态内容加载

用法示例

curl -X POST http://localhost:8085/api/fetch \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://docsify.js.org/#/quickstart",
    "use_js_rendering": true,
    "parse_docsify": true,
    "wait_for_selector": ".markdown-section"
  }'

Docsify响应结构

{
  "docsify_data": {
    "sidebar_content": "Quick start\nWriting content...",
    "navbar_content": "GitHub\nGitee",
    "main_content": "Quick start\nIt is recommended...",
    "config_data": {
      "name": "docsify",
      "repo": "https://github.com/docsifyjs/docsify/",
      "loadSidebar": true
    }
  }
}

错误处理

服务器提供全面的错误处理:

HTTP状态代码(API模式)

  • 200 OK:请求成功
  • 400 Bad Request:请求参数无效
  • 408 Request Timeout:请求超时
  • 500 Internal Server Error:服务器端错误

错误响应格式

{
  "error": "ERROR_CODE",
  "message": "Human-readable error description"
}

常见错误代码

  • INVALID_URL:URL为空或格式错误
  • FETCH_ERROR:网络或HTTP错误
  • PARSE_ERROR:HTML解析失败
  • TIMEOUT:请求超时
  • JS_RENDERING_ERROR:JavaScript渲染失败
  • DOCSIFY_PARSE_ERROR:文档解析失败

演出

  • 并发处理:基于Goroutine的异步处理
  • 连接池:HTTP客户端重用连接
  • 内存效率高:流式HTML处理
  • 资源限制:可配置的超时和限制
  • 浏览器优化:Chrome以最低的资源使用率推出

安全

  • 非根容器:Docker以非root用户身份运行
  • 资源限制:Docker中的内存和CPU限制
  • 输入验证:URL验证和净化
  • 超时保护:请求和浏览器超时
  • CORS配置:可配置的跨来源政策

许可证

这个项目是开源的,可以在MIT许可证下使用。

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

网页抓取Go本地部署内容提取JavaScript渲染Docsify解析高性能服务器

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

典型使用场景

自动操作网页

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

抓结构化数据

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

走一遍关键流程

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

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP World · 本页

1stdio有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 条

250908 Html MCP Server Go 怎么安装?

公开资料给出的安装命令是 docker run -p 8085:8085 html-mcp-server-go,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

250908 Html MCP Server Go 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

250908 Html MCP Server Go 收费吗?

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

250908 Html MCP Server Go 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

250908 Html MCP Server Go 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP