Skip to content

Commit 4e4ad08

Browse files
committed
docs:更新 MCP 服务
1 parent 6330615 commit 4e4ad08

6 files changed

Lines changed: 101 additions & 1 deletion

File tree

docs/img/dify_mcp.png

565 KB
Loading

docs/img/dify_mcp_effect.png

497 KB
Loading

docs/img/maxkb_ai_effect.png

722 KB
Loading

docs/img/maxkb_effect.png

1.56 MB
Loading

docs/mcp_server.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
!!! Tip ""
2+
SQLBot 支持通过 MCP 进行服务端图表渲染与智能问数处理。
3+
4+
## 1 服务配置
5+
!!! Tip ""
6+
SQLBot MCP Server 默认监听端口为 8001,使用 SSE 协议进行通信。基本配置如下:
7+
8+
```
9+
{
10+
"sqlbot_mcp": {
11+
"url": "http://<your-server-ip>:8001/mcp", // 将 IP 替换为部署机器的地址
12+
"transport": "sse"
13+
}
14+
}
15+
```
16+
17+
!!! Tip ""
18+
修改 SQLBot 的 .env 配置文件:
19+
20+
```
21+
# MCP 服务图片路径,默认路径
22+
MCP_IMAGE_PATH=/opt/sqlbot/images
23+
24+
# MCP 后端图表渲染服务地址
25+
MCP_IMAGE_HOST=http://localhost:3000
26+
27+
# 图片访问 URL:{MCP 服务地址}/images/
28+
SERVER_IMAGE_HOST=https://<your-server-ip>/images/
29+
30+
```
31+
## 2 MCP 工具说明
32+
!!! Tip ""
33+
SQLBot 的 MCP Server 提供两个内置工具:mcp_start 和 mcp_question,分别用于初始化对话和提交问题。
34+
35+
### 2.1 mcp_start 工具
36+
!!! Tip ""
37+
用于启动一次智能问数对话,获取 access_token 和 chat_id。
38+
39+
| 参数名 | 说明 |
40+
| -------- | ----------- |
41+
| username | SQLBot 用户名 |
42+
| password | SQLBot 用户密码 |
43+
44+
45+
返回示例:
46+
```
47+
{
48+
"code": 0,
49+
"data": {
50+
"access_token": "<JWT_TOKEN>",
51+
"chat_id": 1330
52+
},
53+
"msg": null
54+
}
55+
```
56+
- access_token:身份验证使用;
57+
58+
- chat_id:唯一对话上下文 ID,后续问数保持一致可维持上下文状态。
59+
60+
61+
### 2.2 mcp_question 工具
62+
!!! Tip ""
63+
用于在已初始化的问数上下文中提交用户问题,并返回对应 SQL、可视化结果及图表图片地址。
64+
65+
| 参数名 | 说明 |
66+
| -------- | ------------------------------ |
67+
| token | `mcp_start` 返回的 `access_token` |
68+
| chat\_id | `mcp_start` 返回的 `chat_id` |
69+
| question | 用户的提问问题 |
70+
71+
!!! Tip ""
72+
返回结果示例(Markdown 格式):
73+
74+
```
75+
```sql SELECT "s"."区域", COUNT(*) AS "count" FROM "public"."Sheet1_c27345b66e" "s" GROUP BY "s"."区域" ORDER BY "s"."区域" ``` | 区域 | 数量 | |:-----|-----:| | 东区 | 269 | | 北区 | 321 | | 南区 | 275 | | | 4 | ### generated chart picture ![column](https://sqlbot.fit2cloud.cn/images/c_1330_r_2976.png)
76+
```
77+
### 2.3 对接流程说明
78+
!!! Tip ""
79+
对接步骤:
80+
81+
- 步骤 1:调用 mcp_start 工具。 获取初始化问数所需的 access_token 和 chat_id。
82+
- 步骤 2:调用 mcp_question 工具使用上一步返回的 access_token 和 chat_id,传入用户自然语言问题 question,提交问题请求。
83+
84+
建议:
85+
86+
- 每次调用 mcp_start 会生成新的 chat_id;
87+
- 对话过程中保持 chat_id 一致,才能维持上下文;
88+
- 建议缓存 access_token 和 chat_id,在一次对话中只调用一次 mcp_start。
89+
90+
## 3 使用示例
91+
92+
### 3.1 MaxKB 集成示例
93+
![集成示例](img/maxkb_effect.png)
94+
95+
![集成示例](img/maxkb_ai_effect.png)
96+
97+
### 3.2 Dify 集成示例
98+
![集成示例](img/dify_mcp.png)
99+
100+
![集成示例](img/dify_mcp_effect.png)

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ nav:
6666
- 工作空间: system/workspace.md
6767
- AI 模型配置: system/model.md
6868
- 嵌入式管理: system/embedding.md
69-
69+
- MCP 服务 : mcp_server.md
7070
- 联系我们: contact.md
7171

7272
markdown_extensions:

0 commit comments

Comments
 (0)