使用说明
MCP实践库
一个全面的学习项目,用于理解使用FastMCP和JSON-RPC 2.0的模型上下文协议(MCP)实现。此存储库演示了服务器-客户端通信、错误处理和协议合规性测试。
📋 目录
🎯 概述
该项目使用划分工具实现了一个简单的MCP服务器,并包括对以下内容的全面测试:
- 有效的JSON-RPC 2.0请求
- 错误处理和验证
- 协议合规
- HTTP和JSON响应分析
📁 项目结构
MCP_PRACTICE/
├── main.py # FastMCP server for Divide tool
├── client.py # HTTP client with 23 test requests
├── Resources.py # Resources server (files, web content)
├── prompts.py # Prompts server (Github Profile, format, divide)
├── sampling.py # Sampling server (LLM interaction)
├── logs_progress.py # Logs and progress server
├── roots.py # Roots server (project analysis)
├── transport1.py # Alternative transport implementation
├── statefulHTTP.py # Stateful HTTP example
├── Tools.py # Additional tools (Quiz, Summarize)
├── formula.py # Sample resource file with formulas
├── Instructions.md # Comprehensive testing guide
├── questions.md # Learning questions about MCP
├── answers.md # answer of all questions from question.md
└── reponses.md # Expected responses for all 23 requests
✨ 特性
- 多个MCP服务器:6种不同的服务器实现(工具、资源、提示、采样、日志、根)
- 综合测试:6个测试阶段的23个测试用例
- 工具实施:部门、测验生成、网络摘要
- 资源处理:文件读取、web内容获取、模板化资源
- 及时管理:Github配置文件查找、文档格式化、数字分割提示
- MCP协议特性:采样请求、日志记录、进度跟踪、根分析
- 错误验证:测试格式错误的请求和边缘情况
- 双重测试方法:同时支持Python客户端和Postman
🔧 先决条件
- Python 3.8+
uv包管理器- 邮递员(可选,用于手动测试)
📦 安装
- 克隆存储库:
git clone https://github.com/Tayyaba-Akbar956/MCP-Practice.git
cd "MCP PRACTICE"
- 安装依赖项:
uv pip install fastmcp requests uvicorn
🚀 用法
此项目需要运行不同的服务器,具体取决于要测试的功能。
模式1:工具测试(请求1-11)
对于测试工具(部门、问候语)和错误处理:
uv run uvicorn main:app --reload
服务器将在以下时间启动 http://localhost:8000/mcp/
模式2:资源测试(请求12-15)
对于测试资源(文件读取、Web获取):
uv run uvicorn Resources:app --reload
服务器将在以下时间启动 http://localhost:8000/mcp/
模式3:提示测试(请求16-19)
对于测试提示:
uv run uvicorn prompts:app --reload
模式4:抽样测试(请求20-21)
对于测试采样(LLM交互):
uv run uvicorn sampling:app --reload
模式5:日志测试(请求22)
关于测试日志和进度:
uv run uvicorn logs_progress:app --reload
模式6:根测试(请求23)
测试根:
uv run uvicorn roots:app --reload
模式7:传输(STDIO)测试(请求1-11)
用于测试transport1.py(与main.py相同的工具):
uv run client.py
然后在终端中发送请求。无需管理客户。
📚 学习资源
该项目包括综合学习材料:
问题.md
50个精心策划的问题,涵盖:
- HTTP基础:状态代码、方法、版本(HTTP/1.1、HTTP/2、HTTP/3)
- REST API设计:最佳实践、约束、幂等性
- JSON-RPC协议:请求/响应结构、错误处理、批处理请求
- MCP概念:上下文、图元(工具/资源/提示)、传输、根、采样、日志和进度
- FastMCP:配置选项,有状态与无状态模式
答案.md
所有问题的完整编号答案(1-50),提供:
- 简洁、准确的解释
- 错误代码及其含义
这些资源非常适合:
- 学习MCP协议基础
- 了解JSON-RPC通信
- 准备技术面试
- 开发时快速参考
🧪 测试
有关详细的测试说明,请参阅 说明.md.
📝 备注
- 在执行客户端测试之前,始终运行服务器
- 一次测试一个场景,以进行清晰的输出分析
- 审查
responses.md对于每个请求的预期响应 - 检查
instructions.md了解详细的测试步骤
📧 联系
如有疑问或反馈,请在GitHub上发布问题。
快乐学习! 🚀
