GhostFetch MCP Server
使用说明
-
项目简介 GhostFetch MCP 服务器是一套基于 Model Context Protocol (MCP) 的实现,旨在将 GhostFetch 的网页抓取能力通过 MCP 接口暴露给支持 MCP 的 AI 客户端。它通过标准的 JSON-RPC 媒介(使用 STDIO 传输)接收请求、执行工具调用并返回结果。核心工具为 ghostfetch,能够读取网页元数据并转换为可用于 LLM 的 Markdown 内容。
-
主要功能点
- MCP 核心协议支持:实现 initialize、tools/list、tools/call、notifications/initialized 等 MCP 交互模式。
- 暴露 GhostFetch 工具:提供名为 ghostfetch 的工具,输入包含 url、context_id、timeout 等字段,输出包含 metadata 与 markdown。
- 异步与同步执行能力:通过 JSON-RPC 调用触发内容抓取,支持在后台队列中运行,结果可通过回调、GitHub 注释等方式获取。
- 与后端 Scraper 的整合:在后台启动 StealthScraper 实例并执行抓取、渲染、解析,返回结构化数据。
- 资源管理与容错:对请求进行超时、重试、错误处理,提供响应,支持扩展的错误信息回传。
-
安装与运行步骤
- 获取源码并进入目录
- 将仓库完整克隆到本地环境,并确保 Python 解释器可用。
- 运行 MCP 服务器
- 以标准 MCP 服务器启动方式运行:python -m ghostfetch.mcp_server
- 服务器将以 STDIO 传输打开,等待来自 MCP 客户端的 JSON-RPC 请求。MCP 客户端应通过配置将该服务器作为工具接入。
- 依赖与环境
- 服务器端会在需要时动态加载 GhostFetch 的 Scraper 模块并启动浏览器实例,可能需要 Chromium 浏览器及 Playwright 的依赖环境。请确保 Python 环境可安装并有网络访问来获取依赖。
- 获取源码并进入目录
-
服务器配置(MCP 客户端需要的最小连接信息,JSON 格式,包含服务器名称、启动命令和参数说明) { "server_name": "ghostfetch", "command": "python", "args": ["-m", "ghostfetch.mcp_server"], "description": "GhostFetch MCP 服务器,用于通过 MCP 客户端以 JSON-RPC STDIO 方式调用 GhostFetch 功能", "start_parameters": [ "--no-cleanup" // 备注:如需要可添加其他运行时参数,具体请结合部署环境调整 ], "notes": "该配置用于 MCP 客户端在启动阶段注册并连接到 GhostFetch 的 MCP 服务器。MCP 客户端不需要请求该配置本身,而是通过此信息知道如何启动并与服务器建立通信." }
-
基本使用方法
- 启动后,MCP 客户端通过 initialize 请求告知服务器、请求工具列表、并通过 tools/call 调用 ghostfetch 工具来获取网页内容。请求/响应均为 JSON-RPC 2.0 规范格式,通信通过标准输入输出(stdio),可集成到 Claude Desktop 等 MCP 客户端环境中。
- 使用示例(概念性描述,客户端使用方式请参照 MCP 客户端实现):
- initialize: 客户端发送初始化请求,服务器返回协议版本与能力信息。
- tools/list: 客户端查询 GhostFetch 提供的工具信息(名称、输入 schema 等)。
- tools/call: 客户端发送工具调用请求,传入 tool 名称(ghostfetch)及参数,服务器执行并返回 content(包含 metadata 与 markdown)。
- 处理结果:客户端可基于返回的 metadata 与 markdown 进行后续处理或展示给最终用户。