返回 MCP 目录
public公开dns本地运行

Search Engines Proxy

一个基于MCP协议的搜索服务实现,支持多种搜索引擎,为AI工具提供内容获取能力。

article

README

🚀 多核心代理协议(MCP)项目文档

多核心代理协议(Multi-Channel Proxy, MCP)是一项创新技术,它通过整合多个搜索引擎和网络信息源,显著增强了AI助手的信息检索能力。此系统支持Brave、Metaso和博查等多个搜索引擎,还配备了强大的搜索功能和结果分析工具。

🚀 快速开始

多核心代理协议(MCP)能让AI助手在信息的海洋中更高效地“捕鱼”,下面就来看看如何快速搭建和使用它。

✨ 主要特性

  • 多引擎支持:支持Brave、Metaso和博查等多个搜索引擎,让信息检索更全面。
  • 强大API:MCP服务器提供RESTful API接口,方便与其他系统集成。
  • 结果聚合:协调不同搜索引擎的任务分配和结果聚合,提供一站式搜索体验。

📦 安装指南

安装步骤

  1. 克隆代码库:
git clone https://github.com/yourusername/mcp.git
cd mcp
  1. 安装依赖项:
pip install -r requirements.txt
  1. 初始化配置文件:
python setup.py init-config

环境变量设置

创建一个.env文件并添加以下内容:

BRAVE_API_KEY=your_brave_api_key_here
METASO_API_KEY=your_metaso_api_key_here
BOCHA_API_KEY=your_bocha_api_key_here

💻 使用示例

基础用法

启动MCP服务器

python server.py start

调用搜索接口

使用curl命令发送请求:

curl http://localhost:8080/search?q=人工智能&engine=brave,metaso

响应结果示例:

{
  "status": "success",
  "results": [
    {
      "url": "https://example.com/1",
      "title": "AI基础教程",
      "snippet": "介绍机器学习基本概念..."
    }
  ]
}

📚 详细文档

功能模块介绍

核心组件

  1. MCP服务器 (server.py)
    • 提供RESTful API接口,方便外部系统调用。
    • 负责协调不同搜索引擎的任务分配和结果聚合。
  2. 搜索引擎代理 (proxy/)
    • 包括Brave、Metaso和博查三个模块,分别处理各引擎的搜索请求。

搜索引擎实现

  • Brave搜索模块 (brave/)
    • client.py:定义与Brave搜索API交互的核心客户端。
    • config.py:配置参数和速率限制策略。
    • exceptions.py:处理特定于Brave API调用的异常。
  • Metaso搜索模块 (metaso/)
    • client.py:实现与Metaso搜索服务的通信逻辑。
    • config.py:定义配置参数及访问控制规则。
    • exceptions.py:管理Metaso API调用中的错误处理。
  • 博查搜索模块 (bocha/)
    • client.py:提供博查搜索引擎的交互接口。
    • config.py:配置和优化博查API的使用参数。
    • exceptions.py:处理博查API特有的异常情况。

工具配置

  • Brave搜索工具 (brave_search.py)
  • Metaso搜索工具 (metaso_search.py)
  • 博查搜索工具 (bocha_search.py)

操作流程

  1. 启动MCP服务器:
python server.py start
  1. 调用搜索接口:使用curl命令或HTTP客户端发送请求。

🔧 技术细节

项目结构

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   # 错误处理逻辑

接口定义

请求格式

{
  "query": "搜索关键词",
  "engine": ["brave", "metaso", "bocha"],
  "params": {
    // 可选参数,如排序方式、结果数量等
  }
}

响应格式

{
  "status": "success",
  "results": [
    {
      "url": "链接地址",
      "title": "标题",
      "snippet": "简要描述"
    }
  ]
}

⚠️ 注意事项

⚠️ 重要提示

确保API密钥安全,避免泄露。

💡 使用建议

定期更新依赖库以获取最新功能和安全补丁。

通过以上文档,您可以详细了解如何搭建和使用MCP项目来增强AI助手的信息检索能力。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端