MCP 演示项目 - 双实现版本
这个项目包含了 两个不同的 Model Context Protocol (MCP) 实现,用于学习和比较不同的实现方法。
🚀 快速开始
选择版本启动
# 使用启动选择器
.\start_demo.ps1
# 或直接选择版本:
# FastAPI版本 (概念演示)
cd mcp_fastapi_demo && .\setup_and_run.ps1
# MCP SDK版本 (官方实现)
cd mcp_sdk_demo && .\start_mcp_sdk.ps1
运行测试
# 使用测试选择器
.\run_tests_demo.ps1
# 或直接选择测试:
# FastAPI版本测试
cd mcp_fastapi_demo && .\test_with_venv.ps1
# MCP SDK版本测试
cd mcp_sdk_demo && .\test_mcp_sdk.ps1
📂 项目结构
mcpdemo/
├── mcp_fastapi_demo/ # 🔧 v1.0 - FastAPI概念演示版本
│ ├── main.py # FastAPI应用主文件
│ ├── mcp_server.py # MCP功能模拟实现
│ ├── tools.py # 工具定义
│ ├── config.py # 配置文件
│ ├── client_test.py # HTTP客户端测试
│ ├── requirements.txt # FastAPI依赖包
│ └── README.md # FastAPI版本文档
│
├── mcp_sdk_demo/ # 🚀 v2.0 - 官方SDK真实实现版本
│ ├── mcp_server_sdk.py # MCP SDK服务器
│ ├── test_mcp_sdk.py # MCP SDK客户端测试
│ ├── claude_desktop_config_example.json # Claude Desktop配置
│ ├── requirements.txt # MCP SDK依赖包
│ └── README.md # MCP SDK版本文档
│
├── start_demo.ps1 # 🚀 快速启动选择器
├── run_tests_demo.ps1 # 🧪 测试选择器
├── venv/ # 共享虚拟环境
└── README.md # 本文件
🎯 两个版本对比
特性 | FastAPI版本 (v1.0) | MCP SDK版本 (v2.0) |
---|
目的 | 学习MCP概念 | 真正的MCP协议实现 |
协议 | RESTful HTTP API | MCP协议 + JSON-RPC |
传输 | HTTP/HTTPS | STDIO |
客户端 | Web浏览器、HTTP客户端 | Claude Desktop、MCP兼容客户端 |
优势 | 简单易懂、有Web界面 | 真正的MCP协议、Claude Desktop兼容 |
限制 | 无法与真正MCP客户端连接 | 学习曲线稍陡、无Web界面 |
🛠️ 功能特性
两个版本都提供相同的工具功能:
- calculator - 数学计算工具 (
+
, -
, *
, /
, sin
, cos
, sqrt
等) - text_analyzer - 文本分析工具 (字符统计、词频分析、阅读时间)
- file_reader - 文件读取工具 (安全文件访问、多格式支持)
🔌 Claude Desktop 集成
只有 MCP SDK版本 支持与Claude Desktop集成。详细配置请参考 mcp_sdk_demo/README.md
。
📚 学习建议
初学者路径
- 从FastAPI版本开始 - 理解MCP的基本概念
- 查看Web界面 - 访问 http://localhost:8000/docs
- 升级到SDK版本 - 体验真正的MCP协议
开发者路径
- 直接使用SDK版本 - 用于生产环境
- 配置Claude Desktop - 体验真实的AI助手集成
🔧 系统要求
- Python 3.10+
- PowerShell (Windows)
- 虚拟环境支持
选择建议:
- 🎓 学习MCP概念 → 使用
mcp_fastapi_demo
- 🚀 生产环境/Claude Desktop集成 → 使用
mcp_sdk_demo