模型上下文协议学习项目

一个包含从基础到实践的完整学习路径的项目,旨在帮助用户理解和实现Model Context Protocol(MCP)标准,适用于学生、开发者和教师。

  • by SebastianZug
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 SebastianZug/MCP_tutorial

使用说明

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小时)

  1. 学习 LiaScript 课程 (mcp-kompakt.md)

    • 了解MCP概念和动机
    • 了解信息流和架构
    • 工具发现和编排
  2. 执行最小范例 (mcp-basic/)

课程2:实践深化(2-4小时)

  1. 理解实践项目 (mcp等级/)

    • MCP 服务器,配备 4 个分数管理工具
    • PDF处理和数据提取
    • 用于自然语言交互的Ollama集成
  2. Hands-on 练习

    • 添加自己的 MCP 工具
    • 扩展PDF解析
    • Ollama建议优化
    • 实现更多分析功能
  3. 扩展 (参见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文件访问有关自然语言问题的备忘录。

组件 :

  1. MCP服务器 (grades_server.py)

    • 4个工具:list_courses、get_grades、get_student_transcript、calculate_gpa
    • 使用PyPDF2进行PDF解析
    • 结构化数据访问
  2. 普通客户端 (simple_client.py)

    • 直接测试工具
    • 不依赖LLM
    • 完美理解基础知识
  3. 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 -模型上下文协议SDK
  • PyPDF2 - 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分钟):介绍

第二阶段(90分钟):实践项目

  • 理论:PDF处理和数据提取
  • 实践:MCP等级服务器版本
  • 练习:测试简单客户端,扩展工具

第3课(90分钟):LLM编排

  • 理论:Ollama和自然语言接口
  • 实践:使用和自定义Ollama客户端
  • 项目:开发自己的工具和问题

教师材料

  • 演示文稿可直接使用LiaScript格式
  • 任务在 AUFGABEN.md 文件中预定义
  • 样品解决方案:全面实施
  • 时间表所有模块的实时时间

🤝 贡献

我们欢迎改进和扩展!

可能的贡献:

  • 其他任务和练习
  • 翻译(英文等)
  • 额外的示例服务器
  • 文档改进
  • Bug修复和优化

📚 其他资源

官方文件

社区

工具

🎉 总结

此存储库提供了MCP的完整学习路径:

  1. 理论LiaScript 课程概念和最佳实践
  2. 入门最小范例(mcp_basic)以便快速理解
  3. 实践MCP + Ollama 评分管理 (mcp_grades)
  4. 深度任务和扩展理念

核心讯息: MCP标准化了LLM和工具之间的沟通。非常适合具有清晰接口的模块化可重复使用架构。

📝 许可证

该项目用于教育目的,可以自由使用。

✨ 学分

专为希望实际了解MCP的学习者和教师而设计。

祝你学习和实验成功! 🚀


问题或反馈? 打开一个问题或贡献文档!