# 博查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
{}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/api/cn/compute/mcpg/web-search/bochaai.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
