MCP Streamable HTTP 快速入门指南
文章目录
- MCP Streamable HTTP 快速入门指南
- 🚀 5分钟快速上手
- 第一步:环境准备
- 第二步:下载代码
- 第三步:启动服务器
- 第四步:运行客户端
- 📖 核心概念
- 1. MCP协议基础
- 2. 工具状态生命周期
- 3. 进度令牌(ProgressToken)
- 🔧 基本使用
- 启动服务器
- 使用客户端
- 命令行使用
- 🛠️ 自定义工具开发
- 创建支持进度通知的工具
- 注册新工具
- 📊 监控和调试
- 检查服务器状态
- 调试工具
- 查看日志
- 🚨 常见问题
- Q1: 服务器启动失败,提示"Address already in use"
- Q2: 客户端连接失败,提示"Connection refused"
- Q3: 没有收到进度通知
- Q4: 进度显示不更新
- 🎯 实际应用场景
- 场景1: AI数据处理流水线
- 场景2: 文件批量处理
- 📈 进阶功能
- 1. 添加认证
- 2. 添加速率限制
- 3. 添加数据库支持
- 🔗 相关资源
- 官方文档
- 示例项目
- 社区支持
- 🎉 恭喜!
- 下一步学习路径
- 获取帮助
- MCP Streamable HTTP 协议实现 - 优化版文档
- 目录
- 概述
- 主要特性
- MCP协议简介
- 什么是MCP?
- Streamable HTTP传输
- 进度通知规范
- 快速开始
- 环境要求
- 安装依赖
- 启动服务器
- 运行客户端测试
- 服务器实现详解
- 核心架构
- 完整服务器代码(带详细注释)
- 客户端实现详解
- 客户端架构
- 完整客户端代码(带详细注释)
- 工具状态实时推送
- 实现原理
- 状态流转图
- 自定义工具开发指南
- API参考
- 服务器API
- `POST /message`
- `GET /health`
- `GET /`
- 客户端API
- `MCPStreamableClient`类
- 部署指南
- 开发环境部署
- 生产环境部署
- 使用Gunicorn(推荐)
- 使用Docker
- 监控和日志
- 日志配置
- 性能监控
- 故障排除
- 常见问题
- 1. 服务器无法启动
- 2. 客户端连接失败
- 3. 进度通知不显示
- 4. 性能问题
- 调试技巧
- 启用详细日志
- 使用curl测试
- 最佳实践
- 1. 工具设计
- 2. 性能优化
- 3. 安全性
- 4. 可维护性
- 5. 扩展性
- 总结
- 核心价值
- 下一步
- simple_mcp_server.py
🚀 5分钟快速上手
第一步:环境准备
# 1. 确保已安装Python 3.8+python3 --version# 2. 安装必要依赖pipinstallfastapi uvicorn httpx第二步:下载代码
# 下载服务器代码wgethttps://raw.githubusercontent.com/example/mcp-server/main/mcp_server.py# 下载客户端代码wgethttps://raw.githubusercontent.com/example/mcp-server/main/mcp_client.py或者直接复制以下代码:
mcp_server.py(简化版):