项目简介
Search MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器应用,旨在为大型语言模型(LLM)客户端提供强大的上下文信息和功能扩展。该服务器专注于提供网页搜索和相似内容查找能力,特别为 Claude Desktop 等 MCP 客户端设计,能够显著增强 LLM 在信息检索和处理方面的能力。
主要功能点
- 网页搜索 (Web Search): 允许 LLM 客户端通过工具调用执行网页搜索,并抓取搜索结果页面内容,为 LLM 提供最新的网络信息。
- 相似内容查找 (Similarity Search): 支持从之前的搜索结果中提取相关信息,通过相似性搜索帮助 LLM 快速回顾和利用历史搜索数据。
安装步骤
-
克隆仓库
git clone https://github.com/DeepSpringAI/search_mcp_server cd search_mcp_server -
创建并激活虚拟环境
uv venv .venv\Scripts\activate # Windows source .venv/bin/activate # macOS/Linux -
安装依赖
uv pip install -e . -
配置环境变量
创建 '.env' 文件,并根据需要配置以下环境变量:
EMBEDDING_URL=http://sample-url.com/api/embed # 嵌入服务URL OLLAMA_URL=http://sample-url.com/ # Ollama 服务器URL EMBEDDING_MODEL=sample-model # 嵌入模型名称 SEARCHAPI_API_KEY=your_searchapi_api_key # searchapi.io API 密钥 FIRECRAWL_API_KEY=your_firecrawl_api_key # firecrawl.com API 密钥注意: 'AZURE_OPENAI_ENDPOINT' 和 'AZURE_OPENAI_API_KEY' 环境变量虽然在仓库中有提及,但服务器核心功能似乎未使用 Azure OpenAI,主要使用了 Ollama 和 Embedding 服务。请根据实际使用情况配置。
服务器配置
对于 MCP 客户端(例如 Claude Desktop),您需要配置 MCP 服务器的启动命令。以下是一个典型的 'claude_desktop_config.json' 配置文件示例,展示了如何配置 Search MCP Server:
{ "mcpServers": { "search-mcp-server": { "command": "uv", "args": [ "--directory", "/path/to/search_mcp_server/src/parquet_mcp_server", // 请替换为您的 search_mcp_server 仓库中 src/parquet_mcp_server 目录的绝对路径 "run", "main.py" ] } } }
配置参数说明:
- 'server name': 'search-mcp-server' (服务器名称,客户端用以识别和调用)
- 'command': 'uv' (启动命令,这里使用 uv 运行器)
- 'args': 启动参数列表,包括:
- '--directory': '/path/to/search_mcp_server/src/parquet_mcp_server' (指定服务器代码所在的目录,请务必替换为实际路径)
- 'run': 运行命令
- 'main.py': 服务器主程序文件名
请务必根据您的实际环境修改 '/path/to/search_mcp_server/src/parquet_mcp_server' 为服务器代码所在的真实路径。
基本使用方法
配置完成后,MCP 客户端即可通过 JSON-RPC 协议与 Search MCP Server 通信,并调用其提供的工具。
可用工具:
-
search-web: 执行网页搜索并抓取结果。
- 必需参数:
- 'queries': 搜索查询列表 (字符串数组)
- 可选参数:
- 'page_number': 搜索结果页码 (整数,默认为 1)
- 必需参数:
-
extract-info-from-search: 从之前的搜索结果中提取相关信息。
- 必需参数:
- 'queries': 用于合并的搜索查询列表 (字符串数组)
- 必需参数:
示例 Prompt:
- 网页搜索: '请使用 search-web 工具搜索 "macbook" 和 "笔记本电脑",并抓取第 1 页的结果。'
- 提取信息: '请使用 extract-info-from-search 工具,从之前关于 "macbook" 的搜索中提取相关信息。'
更多使用细节和测试方法,请参考仓库 'README.md' 文件和 'src/tests' 目录下的测试代码。
信息
分类
网页与API