Search Engines Proxy
About
Provides a unified API for accessing multiple search engines including Brave Search, Metaso, and Bocha, handling authentication, rate limiting, and response formatting for each provider.
Details
- Author
- fengin
- Repository
- fengin/search-server
- GitHub stars
- 57
- License
- MIT License
- Categories
- Search, Other, API, AI, Design, Developer Tools, Frontend, Infrastructure
- Tags
- #integration, #web
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Search Engines ProxyCommand (node, npx, python, etc.)uvArguments-
Argument 1
--directory -
Argument 2
D:\code\search-server -
Argument 3
run -
Argument 4
search
Environment-
BRAVE_API_KEY
你申请的API KEY
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
search
Execute a web search, supporting pagination and filtering. Parameters: query (string), count (number, optional): number of results per page (max 20), offset (number, optional): pagination offset (max 9)
location_search
Search for location-related information (businesses, restaurants, etc.). Parameters: query (string), count (number, optional): number of results (max 20). Automatically switches to web search if no relevant results.
scholar_search
Perform an academic search specifically for academic resources. Parameters: query (string), mode (string, optional): search mode.
search (Bocha)
Execute a web search, supporting time range filtering and detailed summaries. Parameters: query (string), count (number, optional): number of results (1-10, default 10), page (number, optional): page number, freshness (string, optional): time range, summary (boolean, optional): whether to show detailed summary, default false.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"search engines proxy": {
"env": {
"BRAVE_API_KEY": "\u4f60\u7533\u8bf7\u7684API KEY"
},
"args": [
"--directory",
"D:\\code\\search-server",
"run",
"search"
],
"command": "uv"
}
}
}
Linux
{
"env": {
"BRAVE_API_KEY": "\u4f60\u7533\u8bf7\u7684API KEY"
},
"args": [
"--directory",
"D:\\code\\search-server",
"run",
"search"
],
"command": "uv"
}
Macos
{
"env": {
"BRAVE_API_KEY": "\u4f60\u7533\u8bf7\u7684API KEY"
},
"args": [
"--directory",
"D:\\code\\search-server",
"run",
"search"
],
"command": "uv"
}
Windows
{
"env": {
"BRAVE_API_KEY": "\u4f60\u7533\u8bf7\u7684API KEY"
},
"args": [
"--directory",
"D:\\code\\search-server",
"run",
"search"
],
"command": "uv"
}
一个基于MCP协议的搜索服务实现,提供多种搜索引擎支持,Cursor和Claude Desktop能与之无缝集成。
更多MCP知识,见AI全书(一文看懂什么是MCP(大模型上下文)?用来干什么的?怎么用它?)
- 多搜索引擎支持:
- Brave Search: 提供网络搜索和位置搜索
- Metaso搜索: 提供网络搜索和学术搜索,支持简洁和深入两种模式
- 博查搜索: 提供网络搜索,支持时间范围过滤、详细摘要和图片搜索
运行时只能生效一种搜索引擎<!-- -->,为了方便大家选择配置哪个上线,我列了下大致的对比:
- Python 3.10+
- uv 0.24.0+
- node.js v20.15.0
- cursor >=0.45.10 (低于该版本mcp server配置老是连不上)
- 科学上网(仅使用Brave Search需要)
# 安装Playwright框架 pip install playwright>=1.35.0 # 安装浏览器驱动,仅安装chromium playwright install chromium
git clone https://github.com/fengin/search-server.git
# 搜索引擎配置 SEARCH_ENGINE = os.getenv("SEARCH_ENGINE", "bocha")
其中值分别对应有brave、metaso、bocha,也可以通过配置环境变量SEARCH_ENGIN
# 检查API密钥 BRAVE_API_KEY = os.getenv("BRAVE_API_KEY") if not BRAVE_API_KEY: BRAVE_API_KEY = "你申请的 brave_api_key"
在Claude Desktop里面使用的话,也可以在Claude Desktop里配置通过环境变量传这个参数,但是Cursor目前不支持环境变量,只能在这文件里修改
信用卡(可以用虚拟的:https://cardgenerator.org/)
# 认证信息 METASO_UID = os.getenv("METASO_UID") METASO_SID = os.getenv("METASO_SID") if not METASO_UID or not METASO_SID: METASO_UID = "你获取的 metaso_uid" METASO_SID = "你获取的 metaso_sid"
同样Claude Desktop使用可以通过 MCP Servers配置里环境变量;
你可以通过提供多个账号的uid-sid并使用,修改下相关的使用代码,每次请求服务会从中挑选一个,本人后续再考虑。
BOCHA_API_KEY = os.getenv("BOCHA_API_KEY", "") if not BOCHA_API_KEY: BOCHA_API_KEY="你申请的 bocha_api_key"
调用按次数收费,不便宜,但是搜索质量确实比较好,我这有少量的免费试用码,有需要的微信联系我;
command: uv --directory D:\code\search-server run search
# widnows C:\Users\{用户}\AppData\Roaming\Claude\claude_desktop_config.json # mac/linux 应该在用户家目录下找
打开Claude Desktop应用进入查看: Claude Desktop—>菜单—>Settings—>Developer—>Edit Config
{ "mcpServers": { "search": { "command": "uv", "args": [ "--directory", "D:\\code\\search-server", "run", "search" ], "env": { "BRAVE_API_KEY": "你申请的API KEY" } } } }
Cursor会弹出一个黑窗口,不要关闭,不要关闭<!-- -->,这是启动的MCP Server进程,目前没办法解决不弹出来。
配置Cursor后很多人遇到,MCP Servers里面配置完,还是显示状态红点,Tools Not Found,使用时也不会去调用,这是因为根本没配置好。
准备的环境不对,像windows有cmd终端、powershell终端、还有可能装了gitbash终端,你打开cmd终端(cursor一般是这个)检查下环境,直接运行下uv --directory D:\code\search-server run search
配置路径/命令不对,可以打开终端运行命令看下:uv --directory D:\code\search-server run search
错误:搜索执行错误:BrowserType.launch persistent context:Executable doesn't exist atC:\Users\fengi\AppDatalLocal\ms-playwright\chromium headless shell-1155\chrome-winlheadless shell.exe
在你的Claude Desktop 或者 Cursor 里直接你正常的工作就行了,必要时它会自动调用搜索接口获取内容<!-- -->,比如说,你整理下网络上2025年技术发展方向作为软件什么内容,它就会去调用搜索工具获取网络信息:
有一点需要注意的,<!-- -->在Cursor里面,必须启用composer的agent模式工作才会生效<!-- -->,调用工具时,也需要你点下执行;
search/ ├── __init__.py ├── server.py # MCP服务器实现 └── proxy/ # 搜索引擎代理 ├── brave/ # Brave搜索模块 │ ├── __init__.py │ ├── client.py # 核心客户端实现 │ ├── config.py # 配置和速率限制 │ └── exceptions.py # 异常定义 ├── metaso/ # Metaso搜索模块 │ ├── __init__.py │ ├── client.py # 核心客户端实现 │ ├── config.py # 配置和速率限制 │ └── exceptions.py # 异常定义 ├── bocha/ # 博查搜索模块 │ ├── __init__.py │ ├── client.py # 核心客户端实现 │ ├── config.py # 配置和速率限制 │ └── exceptions.py # 异常定义 ├── brave_search.py # Brave MCP工具实现 ├── metaso_search.py # Metaso MCP工具实现 └── bocha_search.py # 博查搜索MCP工具实现
- 执行网络搜索,支持分页和过滤
- 输入参数:
- query(string): 搜索关键词
- count(number, 可选): 每页结果数量(最大20)
- offset(number, 可选): 分页偏移量(最大9)
- 搜索地理位置相关信息(商家、餐厅等)
- 输入参数:
- query(string): 位置搜索关键词
- count(number, 可选): 结果数量(最大20)
- 执行网络搜索,支持多种模式
- 输入参数:
- query(string): 搜索关键词
- mode(string, 可选): 搜索模式
- concise: 简洁模式,回答简短精炼
- detail: 深入模式,回答详细全面(默认)
- research: 研究模式,回答深度分析(<!-- -->目前暂不支持,逆向没有成功<!-- -->)
- 执行学术搜索,专门用于查找学术资源
- 输入参数:
- query(string): 学术搜索关键词
- mode(string, 可选): 搜索模式,同上
- search
- 执行网络搜索,支持时间范围过滤和详细摘要
- 输入参数:
- query(string): 搜索关键词
- count(number, 可选): 结果数量(1-10,默认10)
- page(number, 可选): 页码,从1开始
- freshness(string, 可选): 时间范围
- noLimit: 不限时间(默认)
- oneDay: 一天内
- oneWeek: 一周内
- oneMonth: 一月内
- oneYear: 一年内
- 搜索统计信息(总结果数、当前页/总页数、本页结果数)
- 网页搜索结果(标题、URL、来源、摘要、发布时间)
- 相关图片信息(尺寸、来源、URL)
Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.
Search the web using Kagi's search API
Multi-provider search broker for AI agents. Routes across SearXNG, Brave, Serper, Tavily, and Exa with automatic fallback, RRF ranking, content extraction, and budget enforcement.
A search server for the Model Context Protocol (MCP) that uses the Baidu Wenxin API.
Perform web, news, and image searches using the Microsoft Bing Search API.
An MCP server for web and local search using the Brave Search API.
Integrates the Brave Search API for both web and local search capabilities. Requires a BRAVE_API_KEY.
An MCP server for the Brave Search API, providing web and local search capabilities via a streaming SSE interface.
An MCP server for the Brave Search API, providing both web and local search capabilities.
Search for cocktail recipes using the cezzis.com API.
Free search API for AI agents — 105 engines, 22 profiles, 94.3% SimpleQA accuracy, MCP server with 5 tools
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




