使用说明(Markdown 格式)
-
项目简介
- Scrapfly MCP Server 是一个完整的 MCP 服务端实现,使用 Model Context Protocol (MCP) 与 MCP Go SDK 进行通信。它提供资源(Resources)、工具(Tools)以及提示模板(Prompts)的注册、管理和执行能力,支持流式 HTTP 与 STDIO 两种传输方式,具备会话管理、权限控制和多种集成能力,便于 LLM 客户端以标准化方式获取实时网页数据和外部功能。
-
主要功能点
- MCP 服务端实现:完整处理 MCP 请求/响应,注册并暴露工具、资源、提示等能力。
- 流式与 STDIO 两种传输:可通过 HTTP(S) 流式接口对外提供服务,或在本地 STDIO 方式接入。
- 身份认证与跨域请求:提供 Bearer Token / OAuth2 等认证路径的中间件,以及 CORS 支持,确保安全访问。
- 工具与资源的扩展性:通过 ToolProvider 机制注册自定义工具、资源与提示,支持自定义权限元数据与输入/输出校验。
- 安全与错误处理:统一的错误封装、JSON Schema 校验、默认值应用、结构化内容传输等,提升鲁棒性。
- 与 Scrapfly API 深度集成:包含用于网页抓取、页面获取、截图、数据提取等多种工具,并带有进度通知、日志与监控。
-
安装步骤
- 直接编译运行
- 安装 Go 运行环境
- 克隆仓库并进入项目根目录
- 运行命令构建并启动可执行文件(默认会编译成 scrapfly-mcp,可通过构建输出自定义名称)
- 启动示例(需要提供 API Key 或使用流式 HTTP 暴露)
- 使用 Docker 部署
- 构建镜像并运行容器,按需暴露端口
- 容器启动后,MCP 服务将对外提供 HTTP/S 流式接口或 STDIO 入口
- 运行时参数(示例性说明,实际请按需求传入)
- 本地运行示例(stdio 模式,需要将工具链和依赖已安装完毕)
- scrapfly-mcp(无额外参数时,以 STDIO 模式启动)
- HTTP 流式运行示例(需要提供 API Key 或环境变量)
- -http <地址> 指定 HTTP 流式服务器监听地址
- -apikey <key> 指定 Scrapfly API Key 以进行身份验证
- 本地运行示例(stdio 模式,需要将工具链和依赖已安装完毕)
- 直接编译运行
-
服务器配置(MCP 客户端连接配置说明,服务器端实际启动命令与参数另行提供)
-
连接配置(远程 MCP 服务器) { "servers": { "scrapfly-cloud-mcp": { "type": "http", "url": "https://mcp.scrapfly.io/mcp" } } } 说明:
- serverName 取值通常与实际部署名称一致,如 scrapfly-cloud-mcp。
- type 指定为 http,表示通过 MCP HTTP 接口连接。
- url 为 MCP 服务端对外暴露的接口地址(此处示例为 Scrapfly 提供的远程 MCP 入口)。
-
本地/自部署启动命令(供服务器端运行参考,不作为 MCP 客户端配置,客户端通常不需要命令/参数)
- 启动本地 MCP 服务器的常见命令格式示例(需将实际路径与参数替换为你的环境):
- 运行并监听指定端口的场景:将 API Key 传给服务器后,通过 http://localhost:8080/mcp 暴露端点
- 以 Docker 启动时,可通过端口映射暴露端点,例如 8080:8080
- 启动本地 MCP 服务器的常见命令格式示例(需将实际路径与参数替换为你的环境):
-
-
基本使用方法
- MCP 客户端连接:将上述服务器配置添加到你的 MCP 客户端配置中,指向 Scrapfly MCP Server 的地址,即可开始通过 MCP 调用工具、读取资源、获取 Prompts 等能力。
- 调用工具/资源/Prompts:
- 使用 Scrapfly 提供的工具集合(如 info_account、web_get_page、web_scrape、screenshot、info_api_key 等)进行网页数据获取、截图、数据提取等任务。
- 通过 MCP 策略进行任务编排,支持进度通知、错误处理与结构化内容传输。
- 安全与权限:
- 使用 Bearer Token/API Key 验证,确保只有授权客户端能够访问 MCP 服务。
- 服务器端提供 CORS 与鉴权中间件,保护接口安全。
信息
分类
网页与API