使用说明
项目简介
local-web-search MCP服务器是一个基于Model Context Protocol (MCP) 的后端服务,旨在通过标准化的方式为大型语言模型 (LLM) 客户端提供本地网络搜索能力。它允许LLM通过调用工具来执行网络搜索,并获取结构化的搜索结果和网页内容,从而增强LLM的上下文理解和信息检索能力。
主要功能点
- 本地网络搜索: 提供 'local_web_search' 工具,允许LLM客户端发送搜索查询并获取相关的网页链接和摘要。
- 可定制的搜索参数: 支持自定义搜索查询关键词、排除域名、结果数量限制和内容截断长度等参数。
- 网页内容提取: 自动访问搜索结果中的网页,并使用Readability库提取页面的主要内容,去除广告和导航等干扰信息。
- 结构化结果: 返回包含标题、URL和描述的结构化搜索结果,以及提取的网页内容(可选)。
- Markdown格式转换: 将提取的网页内容转换为Markdown格式,方便LLM理解和处理。
- 轻量级实现: 使用Happy DOM和undici模拟浏览器环境,无需启动完整的浏览器实例,资源消耗较低。
安装步骤
- 安装 Bun: 确保你的系统已安装 Bun JavaScript 运行时环境。如果未安装,请按照 Bun 官网的指引进行安装。
- 克隆仓库: 将 'mcp-server-local-web-search' 仓库克隆到本地:
git clone https://github.com/FradSer/mcp-server-local-web-search.git cd mcp-server-local-web-search - 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
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' 中的路径。
基本使用方法
-
启动服务器: 配置完成后,MCP 服务器会在客户端需要时自动启动。你也可以在仓库根目录下手动运行以下命令启动服务器:
bun run index.ts服务器成功启动后,会在控制台输出 "Local Web Search MCP Server running on stdio"。
-
在 MCP 客户端中使用: 在支持 MCP 协议的客户端(如 Claude)中,你可以指示 LLM 调用 'local_web_search' 工具来执行网络搜索。例如,你可以向 Claude 发送指令:
请使用 "local_web_search" 工具搜索 "最新的自然语言处理技术"。LLM 客户端会将指令转换为 MCP 请求发送给 'local-web-search' 服务器,服务器执行搜索并将结果返回给客户端,最终LLM会根据搜索结果进行后续处理。
-
工具参数: '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