使用说明

项目简介

local-web-search MCP服务器是一个基于Model Context Protocol (MCP) 的后端服务,旨在通过标准化的方式为大型语言模型 (LLM) 客户端提供本地网络搜索能力。它允许LLM通过调用工具来执行网络搜索,并获取结构化的搜索结果和网页内容,从而增强LLM的上下文理解和信息检索能力。

主要功能点

  • 本地网络搜索: 提供 'local_web_search' 工具,允许LLM客户端发送搜索查询并获取相关的网页链接和摘要。
  • 可定制的搜索参数: 支持自定义搜索查询关键词、排除域名、结果数量限制和内容截断长度等参数。
  • 网页内容提取: 自动访问搜索结果中的网页,并使用Readability库提取页面的主要内容,去除广告和导航等干扰信息。
  • 结构化结果: 返回包含标题、URL和描述的结构化搜索结果,以及提取的网页内容(可选)。
  • Markdown格式转换: 将提取的网页内容转换为Markdown格式,方便LLM理解和处理。
  • 轻量级实现: 使用Happy DOM和undici模拟浏览器环境,无需启动完整的浏览器实例,资源消耗较低。

安装步骤

  1. 安装 Bun: 确保你的系统已安装 Bun JavaScript 运行时环境。如果未安装,请按照 Bun 官网的指引进行安装。
  2. 克隆仓库: 将 'mcp-server-local-web-search' 仓库克隆到本地:
    git clone https://github.com/FradSer/mcp-server-local-web-search.git
    cd mcp-server-local-web-search
  3. 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
    bun install

服务器配置

要将 'local-web-search' MCP 服务器配置到 MCP 客户端(例如 Claude),你需要提供服务器的启动命令和参数。'setup.ts' 脚本已经为你生成了配置,以下是配置信息示例,你可以手动添加到你的 MCP 客户端配置中。

MCP 服务器配置 (JSON 格式):

{
  "mcpServers": {
    "local-web-search": {
      "command": "/path/to/bun",  // 替换为你的 bun 运行时可执行文件路径,例如 /usr/local/bin/bun
      "args": [
        "/path/to/mcp-server-local-web-search/index.js" // 替换为你的 index.js 文件绝对路径,例如 /Users/yourname/mcp-server-local-web-search/index.js
      ]
    }
  }
}

配置参数注释:

  • '"local-web-search"': 服务器名称,在客户端配置中用于标识该服务器。
  • '"command"': 启动服务器的命令,这里是 'bun' 运行时。你需要将其替换为你的 'bun' 可执行文件的绝对路径。你可以通过在终端运行 'which bun' 或 'where bun' 找到 'bun' 的路径。
  • '"args"': 传递给 'bun' 命令的参数,这里是服务器入口文件 'index.js' 的绝对路径。你需要将其替换为你的 'index.js' 文件的绝对路径

注意:

  • 运行 'bun run setup.ts' 脚本会自动将配置添加到 Claude 桌面应用的配置文件中 ( '~/Library/Application Support/Claude/claude_desktop_config.json' )。如果你使用的是其他 MCP 客户端,你需要手动将上述 JSON 配置添加到客户端的 MCP 服务器配置中。
  • 请根据你的实际 Bun 安装路径和仓库位置,修改 'command' 和 'args' 中的路径。

基本使用方法

  1. 启动服务器: 配置完成后,MCP 服务器会在客户端需要时自动启动。你也可以在仓库根目录下手动运行以下命令启动服务器:

    bun run index.ts

    服务器成功启动后,会在控制台输出 "Local Web Search MCP Server running on stdio"。

  2. 在 MCP 客户端中使用: 在支持 MCP 协议的客户端(如 Claude)中,你可以指示 LLM 调用 'local_web_search' 工具来执行网络搜索。例如,你可以向 Claude 发送指令:

    请使用 "local_web_search" 工具搜索 "最新的自然语言处理技术"。

    LLM 客户端会将指令转换为 MCP 请求发送给 'local-web-search' 服务器,服务器执行搜索并将结果返回给客户端,最终LLM会根据搜索结果进行后续处理。

  3. 工具参数: 'local_web_search' 工具接受以下参数:

    • 'query' (必填): 搜索查询关键词。
    • 'excludeDomains' (可选): 要排除的域名列表,例如 '["reddit.com", "twitter.com"]'。
    • 'limit' (可选): 返回的最大结果数量,默认为 20。
    • 'truncate' (可选): 每个结果返回的最大内容长度,用于限制返回内容的大小。

    你可以在 LLM 指令中通过自然语言描述或特定格式(取决于 MCP 客户端的具体实现)来指定这些参数。

示例请求 (JSON-RPC 格式,仅供参考,MCP 客户端会自动生成):

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "name": "local_web_search",
    "arguments": {
      "query": "自然语言处理最新进展",
      "limit": 5
    }
  },
  "id": "some-request-id"
}

通过以上步骤,你就可以成功安装、配置和使用 'local-web-search' MCP 服务器,为你的 LLM 应用提供强大的本地网络搜索能力。

信息

分类

网页与API