Skip to main content
Glama
README.md3.27 kB
# MCP FastAPI 演示项目 (v1.0) 这是一个基于 **FastAPI** 的 Model Context Protocol (MCP) 概念演示项目。**注意:这不是真正的MCP协议实现,而是使用RESTful API模拟MCP的功能。** ## ⚠️ 重要说明 这个版本是**概念演示版本**,使用FastAPI构建RESTful API来模拟MCP协议的功能。如果您需要真正的MCP协议实现,请使用 `../mcp_sdk_demo/` 目录中的MCP SDK版本。 ## 🚀 快速开始 ### 使用PowerShell脚本 (推荐) ```powershell # 启动服务器 .\setup_and_run.ps1 # 运行测试 .\test_with_venv.ps1 ``` ### 手动操作 ```bash # 1. 创建虚拟环境 python -m venv venv # 2. 激活虚拟环境 venv\Scripts\activate # 3. 安装依赖 pip install -r requirements.txt # 4. 启动服务器 uvicorn main:app --reload --host 0.0.0.0 --port 8000 # 5. 运行测试 (新终端) python client_test.py ``` ## 🛠️ 功能特性 ### RESTful API 端点 - `GET /` - 健康检查和服务器信息 - `POST /mcp/tools/list` - 获取可用工具列表 - `POST /mcp/tools/call` - 调用工具 - `POST /mcp/resources/list` - 获取可用资源列表 - `POST /mcp/resources/read` - 读取资源 ### 模拟的MCP工具 - **calculator** - 数学计算工具 - **text_analyzer** - 文本分析工具 - **file_reader** - 文件读取工具 ### 模拟的MCP资源 - **config://server** - 服务器配置信息 - **status://server** - 服务器状态信息 - **logs://server** - 服务器日志信息 ## 🌐 访问方式 - **Web界面**: http://localhost:8000 - **API文档**: http://localhost:8000/docs (Swagger UI) - **替代文档**: http://localhost:8000/redoc (ReDoc) ## 📁 文件结构 ``` mcp_fastapi_demo/ ├── main.py # FastAPI 应用主文件 ├── mcp_server.py # MCP 功能模拟实现 ├── tools.py # 工具定义 ├── config.py # 配置文件 ├── client_test.py # HTTP 客户端测试 ├── requirements.txt # 依赖包列表 ├── setup_and_run.ps1 # 启动脚本 ├── test_with_venv.ps1 # 测试脚本 ├── start_server.ps1 # 简单启动脚本 ├── run_tests.ps1 # 简单测试脚本 └── README.md # 本文件 ``` ## 🔧 技术栈 - **FastAPI**: 高性能异步Web框架 - **Uvicorn**: ASGI服务器 - **Pydantic**: 数据验证和模型定义 - **HTTPX**: 异步HTTP客户端 (用于测试) - **Python**: 3.8+ ## ⚡ 优势与限制 ### ✅ 优势 - 简单易懂,学习MCP概念的好起点 - 完整的Web界面和API文档 - 支持热重载开发 - 容易扩展和修改 ### ⚠️ 限制 - **不是真正的MCP协议** - 使用HTTP而非STDIO - **无法与Claude Desktop连接** - 不支持真正的MCP客户端 - **功能模拟** - 仅用于概念演示 ## 🔗 升级到真正的MCP 如果您需要真正的MCP协议实现,请查看: - `../mcp_sdk_demo/` - 基于官方MCP SDK的真实实现 - 支持与Claude Desktop等真正的MCP客户端连接 - 使用STDIO传输和JSON-RPC协议 ## 📚 学习资源 - [MCP 官方文档](https://modelcontextprotocol.io/) - [FastAPI 文档](https://fastapi.tiangolo.com/) - [Claude Desktop MCP指南](https://docs.anthropic.com/claude/docs/mcp)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/keosu/mcpdemo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server