使用说明(Markdown 格式):

  • 项目简介

    • 本仓库实现了一个基于 MCP 的服务器,提供对外暴露的工具集,包括搜索网络、抓取网页、以及通过 MCP 标准接口进行工具调用的功能。服务通过 JSON-RPC/HTTP 及 MCP 相关接口与客户端交互,支持会话管理、能力声明和多种传输场景,适用于将搜索与内容提取能力整合到 AI 助手中。
  • 主要功能点

    • MCP 核心能力:注册工具、列出工具、调用工具,响应 MCP 客户端的请求。
    • 资源与工具:内置 search_web(基于 SearXNG 的联邦搜索)与 scrape_url(网页抓取与内容提取)工具,并提供相应的输入/输出定义。
    • HTTP/_stdio 服务:提供基于 HTTP 的 MCP 服务端接口,以及用于与 AI 助手对接的标准输出(stdio)服务。
    • 高性能特性:请求缓存、并发控制、重试与回退策略,确保稳定性与吞吐。
    • 内容提取能力:可抽取标题、元信息、OpenGraph、作者、发布时间、文本清洗、正文提取等,输出结构化结果(包括链接、图片、段落、标题等)。
  • 安装步骤

    • 安装 Rust 编译环境(建议版本与库与本仓库要求兼容)。
    • 构建 MCP 服务器二进制(Release 模式):
      • 在 mcp-server 目录下执行 cargo build --release
    • 运行 MCP 服务器(二进制名通常为 search-scrape-mcp,路径示例为 target/release/search-scrape-mcp):
      • 运行前可设置环境变量,例如 SEARXNG_URL 指向 SearXNG 实例地址,SEARXNG_ENGINES 指定默认引擎,MAX_LINKS 控制来源链接数量等。
    • MCP 客户端需要配置服务器信息(详见下方的“服务器配置”段落)。
  • 服务器配置(MCP 客户端所需,JSON 配置示例说明,非代码) { "serverName": "search-scrape", "command": "/path/to/mcp-server/target/release/search-scrape-mcp", "args": [], "env": { "SEARXNG_URL": "http://localhost:8888", "SEARXNG_ENGINES": "google,bing,duckduckgo", "MAX_LINKS": "100" }, "description": "用于将 Search-Scrape MCP 服务器接入到你的 AI 助手中,命名为 search-scrape,执行二进制并通过 MCP 协议与客户端通信。" } 注释说明:

    • serverName 为 MCP 服务的名称,需在客户端配置中唯一标识。
    • command 指向已编译好的 MCP 服务器执行文件,在生产环境通常为 release 版本。
    • env 中的变量用于初始化服务运行时参数,确保 MCP 客户端在启动时可正确加载对应配置。
  • 基本使用方法

    • 启动 MCP 服务器后,MCP 客户端通过配置将该服务器作为工具提供方接入,客户端即可通过 MCP 的 /mcp/call 等端点对 search_web、scrape_url 等工具发起请求,获取结构化的结果并用于对话或推理任务。
    • 如需浏览调试或查看状态,可访问服务器的健康接口(如 /health)进行健康检查。

信息

分类

网页与API