Files

61 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

# 🧩 模块说明:MCP 基础篇 - 构建多模态协作协议服务器
> 📌 核心知识点:MCP协议原理|FastMCP框架使用|Stdio通信|Streamable HTTP服务|工具定义与注册
---
### 1. `s01_stdio_server.py` (标准输入输出MCP服务器)
实现基于标准输入输出的MCP服务器,支持本地进程间通信。
- ✅ 掌握点:
- 使用FastMCP创建MCP服务实例
- 定义和注册工具函数
- 异步工具函数的实现方式
- Stdio通信模式的配置与运行
- 功能:
- 创建名为"WeatherService"的MCP服务器
- 提供`get_weather`工具,模拟查询指定城市天气
- 支持异步调用,FastMCP自动处理协程
- 采用标准输入输出作为通信通道
> 💡 这种模式适合本地进程间通信,程序启动后会等待客户端指令,无默认输出。
---
### 2. `s02_streamable_http_server.py` HTTP协议MCP服务器)
实现基于HTTP协议的MCP服务器,支持远程网络调用。
- ✅ 掌握点:
- FastMCP服务器的网络配置
- HTTP通信模式的实现
- 监听地址和端口的设置
- Streamable HTTP运行模式的使用
- 功能:
- 创建名为"WeatherService"的网络MCP服务器
- 配置监听地址(0.0.0.0)和端口(8001)
- 提供与stdio_server相同的`get_weather`工具
- 自动启动uvicorn服务器,支持远程调用
> 💡 这种模式适合构建可远程访问的MCP服务,便于分布式系统集成。
---
### 🔔 全局注意事项
- **学习路径建议**
`1.`stdio_server`2.`streamable_http_server
- 两个文件均实现了相同的天气查询服务,仅通信方式不同
- Stdio模式下,服务器启动后无输出,需通过MCP客户端连接
- HTTP模式下,服务器启动后会监听指定端口,可通过网络访问
---
### 💡 **扩展建议**
- 尝试添加更多工具函数,扩展服务能力
- 集成真实的天气API,替代模拟数据
- 探索FastMCP的其他配置选项和功能
- 结合m11_mcp_advanced中的客户端实现,构建完整的MCP应用