update
Browse files
博客.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
| 5 |
在当前大模型智能体快速发展的背景下,如何有效地管理和调用各种外部工具(Tool)成为了一个关键问题。Model Context Protocol (MCP) 提供了一种标准化的方式来解决这个问题。本项目旨在利用 MCP 的 Python SDK,构建一个**单端口服务,能够加载并管理多个独立的 MCP 应用**。
|
| 6 |
|
| 7 |
核心目标如下:
|
| 8 |
-
- **构建基于 Python SDK 的 MCP 服务**
|
| 9 |
|
| 10 |
- **实现单端口多应用架构**: 核心目标是创建一个可以在单个网络端口上托管多个独立 MCP 应用的服务。通过 FastAPI 和 FastMCP 实现这一架构,服务监听在 7860 端口。
|
| 11 |
|
|
@@ -137,6 +137,8 @@ class App02:
|
|
| 137 |
|
| 138 |
**重要说明**: 当前的 MCP 服务使用了 Server-Sent Events (SSE) 作为传输协议。SSE 调用需要一个能够建立 SSE 连接并发送/接收 MCP 消息的客户端(如Cursor、Cline等)。此处使用 Cline 作为客户端进行测试。
|
| 139 |
|
|
|
|
|
|
|
| 140 |
**测试1:1+1=?**
|
| 141 |
使用 `app01` 的 `app01_add_integers` 工具计算:
|
| 142 |
```xml
|
|
@@ -153,6 +155,8 @@ class App02:
|
|
| 153 |
```
|
| 154 |
结果:2
|
| 155 |
|
|
|
|
|
|
|
| 156 |
**测试2:2*2=?**
|
| 157 |
使用 `app02` 的 `app02_multiply_integers` 工具计算:
|
| 158 |
```xml
|
|
@@ -169,6 +173,8 @@ class App02:
|
|
| 169 |
```
|
| 170 |
结果:4
|
| 171 |
|
|
|
|
|
|
|
| 172 |
**测试3:1+1=? 2*2=?**
|
| 173 |
分别调用 `app01_add_integers` 和 `app02_multiply_integers` 工具:
|
| 174 |
```xml
|
|
@@ -198,6 +204,8 @@ class App02:
|
|
| 198 |
```
|
| 199 |
结果:4
|
| 200 |
|
|
|
|
|
|
|
| 201 |
**测试4:1+1+2*2=?**
|
| 202 |
根据数学运算顺序,先计算乘法,再计算加法。
|
| 203 |
首先计算 2*2:
|
|
@@ -243,7 +251,7 @@ class App02:
|
|
| 243 |
```
|
| 244 |
结果:6
|
| 245 |
|
| 246 |
-
这些测试表明,我们可以通过Cline成功调用不同MCP应用中的工具,并进行复杂的计算。
|
| 247 |
|
| 248 |
## 6. 总结与展望
|
| 249 |
|
|
|
|
| 5 |
在当前大模型智能体快速发展的背景下,如何有效地管理和调用各种外部工具(Tool)成为了一个关键问题。Model Context Protocol (MCP) 提供了一种标准化的方式来解决这个问题。本项目旨在利用 MCP 的 Python SDK,构建一个**单端口服务,能够加载并管理多个独立的 MCP 应用**。
|
| 6 |
|
| 7 |
核心目标如下:
|
| 8 |
+
- **构建基于 Python SDK 的 MCP 服务**: 项目使用 MCP Python SDK 构建MCP 服务。
|
| 9 |
|
| 10 |
- **实现单端口多应用架构**: 核心目标是创建一个可以在单个网络端口上托管多个独立 MCP 应用的服务。通过 FastAPI 和 FastMCP 实现这一架构,服务监听在 7860 端口。
|
| 11 |
|
|
|
|
| 137 |
|
| 138 |
**重要说明**: 当前的 MCP 服务使用了 Server-Sent Events (SSE) 作为传输协议。SSE 调用需要一个能够建立 SSE 连接并发送/接收 MCP 消息的客户端(如Cursor、Cline等)。此处使用 Cline 作为客户端进行测试。
|
| 139 |
|
| 140 |
+
---
|
| 141 |
+
|
| 142 |
**测试1:1+1=?**
|
| 143 |
使用 `app01` 的 `app01_add_integers` 工具计算:
|
| 144 |
```xml
|
|
|
|
| 155 |
```
|
| 156 |
结果:2
|
| 157 |
|
| 158 |
+
---
|
| 159 |
+
|
| 160 |
**测试2:2*2=?**
|
| 161 |
使用 `app02` 的 `app02_multiply_integers` 工具计算:
|
| 162 |
```xml
|
|
|
|
| 173 |
```
|
| 174 |
结果:4
|
| 175 |
|
| 176 |
+
---
|
| 177 |
+
|
| 178 |
**测试3:1+1=? 2*2=?**
|
| 179 |
分别调用 `app01_add_integers` 和 `app02_multiply_integers` 工具:
|
| 180 |
```xml
|
|
|
|
| 204 |
```
|
| 205 |
结果:4
|
| 206 |
|
| 207 |
+
---
|
| 208 |
+
|
| 209 |
**测试4:1+1+2*2=?**
|
| 210 |
根据数学运算顺序,先计算乘法,再计算加法。
|
| 211 |
首先计算 2*2:
|
|
|
|
| 251 |
```
|
| 252 |
结果:6
|
| 253 |
|
| 254 |
+
这些测试表明,我们可以通过Cline成功调用不同MCP应用中的工具,并进行复杂的计算。同时也印证了大模型在接到用户指令后,可以自主实现对多工具的组合调用。
|
| 255 |
|
| 256 |
## 6. 总结与展望
|
| 257 |
|