🧩 模块说明:MCP 基础篇 - 构建多模态协作协议服务器
📌 核心知识点:MCP协议原理|FastMCP框架使用|Stdio通信|Streamable HTTP服务|工具定义与注册
1. stdio_server.py (标准输入输出MCP服务器)
实现基于标准输入输出的MCP服务器,支持本地进程间通信。
-
✅ 掌握点:
- 使用FastMCP创建MCP服务实例
- 定义和注册工具函数
- 异步工具函数的实现方式
- Stdio通信模式的配置与运行
-
功能:
- 创建名为"WeatherService"的MCP服务器
- 提供
get_weather工具,模拟查询指定城市天气 - 支持异步调用,FastMCP自动处理协程
- 采用标准输入输出作为通信通道
💡 这种模式适合本地进程间通信,程序启动后会等待客户端指令,无默认输出。
2. 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应用