# 博查AI

从全网搜索任何网页信息和网页链接，结果准确、摘要完整，更适合AI使用。

详情可查看官网文档 [Web Search API](https://bocha-ai.feishu.cn/wiki/RXEOw02rFiwzGSkd9mUcqoeAnNK) 和 [AI Search API](https://bocha-ai.feishu.cn/wiki/AT9VwqsrQinss7k84LQcKJY6nDh)

## MCP 工具

### web-search（普通搜索）

从全网搜索任何网页信息和网页链接，结果准确、摘要完整，更适合AI使用。 来自博查搜索：

#### 参数

**Header 参数**

* `Authorization`:`Bearer {{YOUR_API_KEY}}`

**Body 参数**

* `query` (string, 必需): 用户的搜索词。 | 示例值：`chatgpt`
* `freshness` (string, 可选): 搜索指定时间范围内的网页。 可填值：

  * noLimit，不限（默认）
  * oneDay，一天内
  * oneWeek，一周内
  * oneMonth，一个月内
  * oneYear，一年内
  * YYYY-MM-DD..YYYY-MM-DD，搜索日期范围，例如：`2025-01-01..2025-04-06`
  * YYYY-MM-DD，搜索指定日期，例如：`2025-04-06`

  推荐使用"noLimit"。搜索算法会自动进行时间范围的改写，效果更佳。如果指定时间范围，很有可能出现时间范围内没有相关网页的情况，导致找不到搜索结果。
* `summary` (boolean, 可选): 是否显示文本摘要。 可填值：
  * true，显示
  * false，不显示（默认）
* `include` (string, 可选): 指定搜索的网站范围。多个域名使用 `|` 或 `,` 分隔，最多不能超过100个。 可填值：根域名、子域名。例如：`qq.com|m.163.com`
* `exclude` (string, 可选): 排除搜索的网站范围。多个域名使用 `|` 或 `,` 分隔，最多不能超过100个。 可填值：根域名、子域名。例如：`qq.com|m.163.com`
* `count` (integer, 可选): 返回结果的条数（实际返回结果数量可能会小于 count 指定的数量）。可填范围：1-50，默认为10。 | 示例值：`10`

### ai-search（AI搜索）

调用AI搜索回答用户问题，返回多模态参考源、总结答案和追问问题。参考源（网页、抖音视频、图片）、总结答案、追问问题。 来自博查搜索：

#### 参数

**Header 参数**

* `Authorization`:`Bearer {{YOUR_API_KEY}}`

**Body 参数**

* `query` (string, 必需): 用户的搜索内容。 | 示例值：`chatgpt`
* `freshness` (string, 可选): 搜索指定时间范围内的网页。 可填值：
  * noLimit，不限（默认）
  * oneDay，一天内
  * oneWeek，一周内
  * oneMonth，一个月内
  * oneYear，一年内
* `include` (string, 可选): 指定搜索的 site 范围。多个域名使用 `|` 或 `,` 分隔，最多不能超过100个。 可填值：根域名、子域名。例如：`qq.com|m.163.com` 也可以在 query 中使用 site 方式来指定搜索范围，例如：`"query" : "site:qq.com|m.163.com 阿里ESG报告"`
* `count` (integer, 可选): 每次搜索返回搜索结果的数量，最多50条。默认10条。（返回的结果数量有可能小于指定的 count 值） | 示例值：`10`
* `answer` (boolean, 可选): 是否使用大模型进行回答。默认为 true。 可填值：
  * true，使用大模型回答，接口返回总结答案、追问问题（默认）
  * false，关闭大模型回答，不再输出总结答案和追问问题
* `stream` (boolean, 可选): 是否启用流式返回。默认为 false。 可填值：
  * false，采用非流式响应，所有响应全部准备好后再返回给客户端，客户端不需要拼接内容（默认）
  * true，采用流式响应，将模型的实时响应提供给客户端，客户端需要根据消息类型组装最终的回复

### MCP Cline 配置

此服务器需要通过您的 MCP 客户端进行配置。以下是不同环境下的示例：

需要替换你的租户ID和API Key（必需）

```
{
  "mcpServers": {
    "bochaai": {
      "type": "streamable_http",
      "url": "https://mcp.ecn.ai/{CID}/bochaai/mcp",
      "headers": {
        "Authorization": "Bearer 你的API Key"
      }
    }
  }
}
```

## API 接口

### web-search（普通搜索）

#### 请求信息

* **Method**: POST
* **Endpoint**: `/bochaai/v1/web-search`

#### 请求参数

**Header 参数**

* `Authorization`:`Bearer {{YOUR_API_KEY}}`

**Body 参数**

* `query` (string, 必需): 用户的搜索词。 | 示例值：`chatgpt`
* `freshness` (string, 可选): 搜索指定时间范围内的网页。 可填值：
  * noLimit，不限（默认）
  * oneDay，一天内
  * oneWeek，一周内
  * oneMonth，一个月内
  * oneYear，一年内
  * YYYY-MM-DD..YYYY-MM-DD，搜索日期范围，例如：`2025-01-01..2025-04-06`
  * YYYY-MM-DD，搜索指定日期，例如：`2025-04-06`

推荐使用"noLimit"。搜索算法会自动进行时间范围的改写，效果更佳。如果指定时间范围，很有可能出现时间范围内没有相关网页的情况，导致找不到搜索结果。

* `summary` (boolean, 可选): 是否显示文本摘要。 可填值：
  * true，显示
  * false，不显示（默认）
* `include` (string, 可选): 指定搜索的网站范围。多个域名使用 `|` 或 `,` 分隔，最多不能超过100个。 可填值：根域名、子域名。例如：`qq.com|m.163.com`
* `exclude` (string, 可选): 排除搜索的网站范围。多个域名使用 `|` 或 `,` 分隔，最多不能超过100个。 可填值：根域名、子域名。例如：`qq.com|m.163.com`
* `count` (integer, 可选): 返回结果的条数（实际返回结果数量可能会小于 count 指定的数量）。可填范围：1-50，默认为10。 | 示例值：`10`

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl --location --request POST 'https://api.ecn.ai/bochaai/v1/web-search' \
 --header 'Content-Type: application/json' \
 --header 'Authorization: Bearer {{YOUR_API_KEY}}' \
 --data-raw '{
  "query": "chatgpt",
  "count": 10
}'
```

#### 响应示例

```json
{}
```

### ai-search（AI搜索）

#### 请求信息

* **Method**: POST
* **Endpoint**: `/bochaai/v1/ai-search`

#### 请求参数

**Header 参数**

* `Authorization`:`Bearer {{YOUR_API_KEY}}`
* `Connection`:`keep-alive` 网络连接在当前请求/响应后是否应保持打开状态或应关闭。
* `Accept`:`*/*` 客户端可以接受的媒体类型。 设置为 */* 接受所有类型。

**Body 参数**

* `query` (string, 必需): 用户的搜索内容。 | 示例值：`chatgpt`
* `freshness` (string, 可选): 搜索指定时间范围内的网页。 可填值：
  * noLimit，不限（默认）
  * oneDay，一天内
  * oneWeek，一周内
  * oneMonth，一个月内
  * oneYear，一年内
* `include` (string, 可选): 指定搜索的 site 范围。多个域名使用 `|` 或 `,` 分隔，最多不能超过100个。 可填值：根域名、子域名。例如：`qq.com|m.163.com` 也可以在 query 中使用 site 方式来指定搜索范围，例如：`"query" : "site:qq.com|m.163.com 阿里ESG报告"`
* `count` (integer, 可选): 每次搜索返回搜索结果的数量，最多50条。默认10条。（返回的结果数量有可能小于指定的 count 值） | 示例值：`10`
* `answer` (boolean, 可选): 是否使用大模型进行回答。默认为 true。 可填值：
* true，使用大模型回答，接口返回总结答案、追问问题（默认）
* false，关闭大模型回答，不再输出总结答案和追问问题
* `stream` (boolean, 可选): 是否启用流式返回。默认为 false。 可填值：
* false，采用非流式响应，所有响应全部准备好后再返回给客户端，客户端不需要拼接内容（默认）
* true，采用流式响应，将模型的实时响应提供给客户端，客户端需要根据消息类型组装最终的回复

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl --location --request POST 'https://api.ecn.ai/bochaai/v1/ai-search' \
 --header 'Content-Type: application/json' \
 --header 'Authorization: Bearer {{YOUR_API_KEY}}' \
 --data-raw '{
  "query": "chatgpt",
  "stream": false
}'
```

#### 响应示例

```json
{}
```
