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 实例并执行抓取、渲染、解析,返回结构化数据。
    • 资源管理与容错:对请求进行超时、重试、错误处理,提供响应,支持扩展的错误信息回传。
  • 安装与运行步骤

    1. 获取源码并进入目录
      • 将仓库完整克隆到本地环境,并确保 Python 解释器可用。
    2. 运行 MCP 服务器
      • 以标准 MCP 服务器启动方式运行:python -m ghostfetch.mcp_server
      • 服务器将以 STDIO 传输打开,等待来自 MCP 客户端的 JSON-RPC 请求。MCP 客户端应通过配置将该服务器作为工具接入。
    3. 依赖与环境
      • 服务器端会在需要时动态加载 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 进行后续处理或展示给最终用户。

服务器信息