使用说明
MCP学习项目:从入门到实践
该存储库包含用于学习和理解的全面材料。 模型上下文协议(MCP) 从简单的实例到复杂的实践项目。
📂 项目结构
mcp/
├── mcp_basic/ # Minimales MCP-Beispiel für Einsteiger (70 Zeilen)
├── mcp_grades/ # Praxisprojekt: Notenverwaltung mit MCP + Ollama
├── mcp-kompakt.md # LiaScript-Kurs: MCP Kompaktkurs (60 Minuten)
└── README.md # Diese Datei
🎯 这个项目是为了谁?
- 学生 和希望从头开始了解MCP的学习者
- 开发者想要实现 MCP 服务器和客户端
- 建筑师想要评估基于MCP架构的优点和缺点
- 教授希望在课程中传授MCP
🚀 快速启动
选项1:最小范例(5分钟)
非常适合初次接触MCP:
cd mcp_basic
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 src/client/simple_client.py
结果: 一个运行中的MCP服务器,有一个工具和一个调用它的客户端。
更多详情请参阅 mcp_basic/README.md
选项2:与Ollama的实践项目(30分钟以上)
使用 MCP 服务器和 Ollama 集成进行记分管理:
cd mcp_grades
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Test ohne Ollama:
python3 src/client/simple_client.py
# Mit Ollama (interaktiv):
ollama pull llama3.2
python3 src/client/ollama_client.py
更多详情请参阅 mcp_grades/README.md
📚 学习路径
课程1:基础知识(1-2小时)
-
学习 LiaScript 课程 (mcp-kompakt.md)
- 了解MCP概念和动机
- 了解信息流和架构
- 工具发现和编排
-
执行最小范例 (mcp-basic/)
- 最简单的服务器和客户端
- 完成任务(见 mcp_basic/AUFGABEN.md)
- 添加自己的工具
课程2:实践深化(2-4小时)
-
理解实践项目 (mcp等级/)
- MCP 服务器,配备 4 个分数管理工具
- PDF处理和数据提取
- 用于自然语言交互的Ollama集成
-
Hands-on 练习
- 添加自己的 MCP 工具
- 扩展PDF解析
- Ollama建议优化
- 实现更多分析功能
-
扩展 (参见mcp_grades/README.md)
- 以PDF格式生成证书
- 数据库后端(SQLite)
- HTTP传输状态
- Claude桌面集成
🔑 核心理念
这是MCP吗?
模型上下文协议 是人工智能应用程序(LLM)与外部工具、数据源和服务之间通信的开放标准。
克尼迪: 标准化接口,类似于用于硬件的 USB 或用于 Web API 的 HTTP。
为什么是MCP?
- 可重复性相同的输入 → 可预测的输出
- 治理可追踪的工具调用审计
- 可重复使用性一旦开发的服务器可以由多个客户端使用
- 可测试性具有明确合约的隔离工具
- 安全方案验证和受控数据访问
- 便携性:传输不可知(stdio、HTTP、WebSocket)
什么时候使用MCP?
| ✅ MCP是有用的: | ❌ MCP超大于: |
|---|---|
| 多个客户端访问相同的功能 | 简单的单一应用程序 |
| 具有清晰界面的团队开发 | 原型和PoC |
| 具有维护要求的生产系统 | 单个开发人员 |
| 需要可重复使用的模块 | 性能绝对关键 |
| 标准化重要 | 不计划重复使用 |
📖 项目概述
1. mcp-basic/ 最小范例
目标: 进入MCP最简单的方法。
内容:
- 一个服务器与一个
add工具(45行) - 调用该工具的客户端(25行)
- 扩展任务(乘法,反向等)
学习时间: 30-60分钟
亮点:
- 最小的代码,最大的理解
- 可逐步扩展
- 详细代码说明
2. mcp等级/ MCP + Ollama音符管理
目标: 具有MCP服务器和Ollama集成的实用大学场景。
Szenario: 从PDF文件访问有关自然语言问题的备忘录。
组件 :
-
MCP服务器 (
grades_server.py)- 4个工具:list_courses、get_grades、get_student_transcript、calculate_gpa
- 使用PyPDF2进行PDF解析
- 结构化数据访问
-
普通客户端 (
simple_client.py)- 直接测试工具
- 不依赖LLM
- 完美理解基础知识
-
Ollama客户 (
ollama_client.py)- 自然语言互动
- LLM翻译问题→工具调用
- 展示智能编排
学习时间: 2-4小时
亮点:
- 5 自动生成带备注数据的示例 PDF
- 与大学相关的场景(数据保护,本地处理)
- Ollama 集成(本地,无云)
- 可扩展的架构,用于自己的想法
3. mcp-kompakt.md LiaScript 课程
目标: 紧凑型60分钟课程,理论和实践。
内容:
- 第1部分:MCP基础知识(15分钟)
- 第二部分:开发服务器(15分钟)
- 第三部分:构建客户端(10分钟)
- 第4部分:LLM编排(15分钟)
- 第5部分:陷阱和最佳实践(5分钟)
格式: LiaScript(交互式Markdown)
使用方式:
- Als Markdown lesen
- AgrIndian全国第10个月-拥有简称 liascript.github.io 上传
- 在课程/研讨会中使用
🛠️ 技术要求
软件
- Python 3.8+ 对于所有的例子
- 点 -Python包管理器
- 奥拉玛 (可选) - 用于实践项目中的LLM编排
curl -fsSL https://ollama.com/install.sh | sh ollama pull llama3.2
Python 库
自动安装:
mcp-模型上下文协议SDKPyPDF2- PDF处理(仅用于实际项目)ollama- LLM集成(仅适用于LLM编排)
📊 项目比较
| 功能 | mcp_basic | mcp_grades |
|---|---|---|
| 目标群体 | 初学者 | 高级 |
| 学习时间 30-60分钟 2-4小时 | ||
| 复杂性 | 最小 | Praxisnah |
| 行代码 | ~70 | ~500 |
| 服务器数量 | 1 | 1 |
| 工具 | 1 (add) | 4 (分数管理) |
| LLM集成 | 没有 | 是的 |
| 外部部门 | Nur MCP | MCP、PyPDF2、Ollama |
| 示例数据 | 无 | 5 PDF (自动生成) |
| 唯一文本 | 否 | 是 (分数管理) |
| 教程 | Inline | Inline + 发布 |
🎓 对于教师和老师
该项目非常适合教学活动:
课程结构建议
会议1(90分钟):介绍
- 理论: LiaScript 课程 mcp-kompakt.md
- 实践:最小范例 mcp-basic/
- 练习:任务 mcp_basic/AUFGABEN.md
第二阶段(90分钟):实践项目
- 理论:PDF处理和数据提取
- 实践:MCP等级服务器版本
- 练习:测试简单客户端,扩展工具
第3课(90分钟):LLM编排
- 理论:Ollama和自然语言接口
- 实践:使用和自定义Ollama客户端
- 项目:开发自己的工具和问题
教师材料
- 演示文稿可直接使用LiaScript格式
- 任务在 AUFGABEN.md 文件中预定义
- 样品解决方案:全面实施
- 时间表所有模块的实时时间
🤝 贡献
我们欢迎改进和扩展!
可能的贡献:
- 其他任务和练习
- 翻译(英文等)
- 额外的示例服务器
- 文档改进
- Bug修复和优化
📚 其他资源
官方文件
社区
- MCP故障 -社区论坛
- GitHub 讨论区 技术讨论
工具
🎉 总结
此存储库提供了MCP的完整学习路径:
- 理论LiaScript 课程概念和最佳实践
- 入门最小范例(mcp_basic)以便快速理解
- 实践MCP + Ollama 评分管理 (mcp_grades)
- 深度任务和扩展理念
核心讯息: MCP标准化了LLM和工具之间的沟通。非常适合具有清晰接口的模块化可重复使用架构。
📝 许可证
该项目用于教育目的,可以自由使用。
✨ 学分
专为希望实际了解MCP的学习者和教师而设计。
祝你学习和实验成功! 🚀
问题或反馈? 打开一个问题或贡献文档!
