🚀 MCP服务器实战营:从零基础到高手
这是一个完全免费的综合实战营,旨在帮助你精通MCP服务器的创建。通过7周的学习,你将从基础概念出发,逐步掌握高级企业架构,成为MCP服务器领域的专家。
🚀 快速开始
先决条件
- 安装 Node.js 18+ 和 pnpm 8+
- 安装 Python 3.11+(用于FastAPI示例)
- 安装 Docker 和 Docker Compose
- 安装 Git 用于版本控制
- 推荐使用 VS Code 作为代码编辑器(包含配置文件)
快速安装
git clone https://github.com/tu-usuario/mcp-server-bootcamp.git
cd mcp-server-bootcamp
pnpm install
pnpm run setup
pnpm run verify-setup
cd ejemplos/modulo-01/calculadora-basica
pnpm run dev
🐳 使用Docker进行开发
初始配置
- 复制环境变量:
cp .env.example .env
- 启动服务:
docker compose up -d
docker compose ps
- 进入开发环境:
docker compose exec bootcamp-dev bash
pnpm install
pnpm run verify-setup
Docker常用命令
docker compose logs -f
docker compose logs -f bootcamp-dev
docker compose logs -f db
docker compose restart
docker compose down
docker compose down -v
连接数据库
在本地机器上,你可以使用以下信息连接到PostgreSQL:
- 主机:
localhost
- 端口:
5432
- 用户:
bootcamp_user(在 .env 中定义)
- 密码:
supersecretpassword(在 .env 中定义)
- 数据库:
mcp_bootcamp_db(在 .env 中定义)
在容器中开发
docker compose exec bootcamp-dev pnpm install
docker compose exec bootcamp-dev pnpm run dev
docker compose exec bootcamp-dev pnpm test
docker compose exec bootcamp-dev bash
🛠️ 本地安装(可选)
如果你不想使用Docker,可以直接在本地机器上安装依赖来配置环境。请确保已经安装了 Node.js、Python 和 PostgreSQL。
npm install
pip install -r requirements.txt
npm run dev
✨ 主要特性
在7周的时间里,你将从基础概念逐步深入到高级企业架构,全面掌握 Model Context Protocol (MCP) Servers:
- 🔧 扎实的基础:学习架构、配置并搭建第一个功能服务器
- ⚡ 高级工具:掌握动态资源、智能提示和API集成
- 🗄️ 数据持久化:了解数据库、ORM和性能优化
- 🔐 安全保障:学习认证、授权和企业审计
- 🧪 质量保证:掌握测试、CI/CD和可观测性
- 🏗️ 架构设计:了解微服务、可扩展性和弹性设计
- 🎯 实战项目:完成一个完整的可投入生产的应用
📦 安装指南
快速安装
git clone https://github.com/tu-usuario/mcp-server-bootcamp.git
cd mcp-server-bootcamp
pnpm install
pnpm run setup
pnpm run verify-setup
cd ejemplos/modulo-01/calculadora-basica
pnpm run dev
使用Docker进行开发
初始配置
- 复制环境变量:
cp .env.example .env
- 启动服务:
docker compose up -d
docker compose ps
- 进入开发环境:
docker compose exec bootcamp-dev bash
pnpm install
pnpm run verify-setup
Docker常用命令
docker compose logs -f
docker compose logs -f bootcamp-dev
docker compose logs -f db
docker compose restart
docker compose down
docker compose down -v
连接数据库
在本地机器上,你可以使用以下信息连接到PostgreSQL:
- 主机:
localhost
- 端口:
5432
- 用户:
bootcamp_user(在 .env 中定义)
- 密码:
supersecretpassword(在 .env 中定义)
- 数据库:
mcp_bootcamp_db(在 .env 中定义)
在容器中开发
docker compose exec bootcamp-dev pnpm install
docker compose exec bootcamp-dev pnpm run dev
docker compose exec bootcamp-dev pnpm test
docker compose exec bootcamp-dev bash
本地安装(可选)
如果你不想使用Docker,可以直接在本地机器上安装依赖来配置环境。请确保已经安装了 Node.js、Python 和 PostgreSQL。
npm install
pip install -r requirements.txt
npm run dev
📚 详细文档
📋 模块介绍
📖 模块1:基础概念
第1周 • 概念理解、配置和搭建第一个服务器
- 🎯 第1 - 2天:学习MCP架构和使用案例
- 🛠️ 第3 - 4天:搭建环境并开发智能计算器
- 🔍 第5 - 7天:深入了解MCP服务器的完整架构
⚡ 模块2:高级工具和资源
第2周 • 动态资源和智能上下文
- 📊 第8 - 10天:学习资源系统和数据管理
- 🧠 第11 - 12天:掌握动态提示和自适应上下文
- 🌐 第13 - 14天:集成外部API
🗄️ 模块3:数据持久化和数据库
第3周 • 数据存储和优化
- 💾 第15 - 17天:学习SQLite、PostgreSQL和数据访问模式
- 🔄 第18 - 19天:掌握Prisma ORM和数据建模
- ⚡ 第20 - 21天:了解分布式缓存和性能优化
🔐 模块4:安全和认证
第4周 • 企业级安全
- 🛡️ 第22 - 24天:学习基础安全知识和强大的认证机制
- 👥 第25 - 26天:掌握基于角色的访问控制(RBAC)/基于属性的访问控制(ABAC)和细粒度控制
- 📋 第27 - 28天:了解审计和结构化日志记录
🧪 模块5:测试和质量保证
第5周 • 质量控制和自动化
- ✅ 第29 - 31天:学习全面测试和模拟技术
- 🔄 第32 - 33天:掌握CI/CD和自动部署
- 📊 第34 - 35天:了解监控和可观测性
🏗️ 模块6:高级架构
第6周 • 企业级可扩展性
- 🔗 第36 - 38天:学习微服务和分布式系统
- 🚀 第39 - 40天:了解性能优化和极致可扩展性
- 🛡️ 第41 - 42天:掌握弹性设计和高可用性
🎯 模块7:最终项目
第7周 • 应用所学知识
- 📋 第43 - 45天:设计完整的架构
- 💻 第46 - 47天:在导师指导下进行项目实现
- 🚀 第48 - 49天:部署项目并进行展示
🛠️ 主要技术
| 技术 |
用途 |
版本 |
 |
主要开发语言 |
5.0+ |
 |
JavaScript运行时 |
18+ |
 |
FastAPI示例 |
3.11+ |
 |
容器化技术 |
最新版 |
 |
数据库 |
15+ |
 |
对象关系映射(ORM) |
5.0+ |
🤖 自动化系统
本实战营包含一个完整的自动化系统,以确保质量并简化开发过程:
⚡ 智能自动提交
- 智能检测每个模块的更改
- 按照Conventional Commits标准进行提交
- 自动更新CHANGELOG.md
- 详细日志记录并自动轮转
特性:
- 🧠 智能检测:按类型和模块对更改进行分类
- 📝 规范提交:自动生成语义化的提交信息
- 📋 自动更新日志:根据提交记录生成变更日志
- 🔒 安全执行:具备锁机制和错误处理
- 📊 完整日志:详细审计并自动轮转日志
🔧 自动化脚本
| 脚本 |
用途 |
使用方法 |
scripts/setup.sh |
完整的初始配置 |
./scripts/setup.sh |
scripts/autocommit.sh |
智能自动提交 |
通过cron定时执行 |
scripts/update-changelog.sh |
更新变更日志 |
./scripts/update-changelog.sh |
scripts/build-all.sh |
构建所有模块 |
./scripts/build-all.sh |
scripts/lint.sh |
代码检查和格式化 |
./scripts/lint.sh |
📋 控制和配置
./scripts/setup-autocommit.sh
./scripts/remove-autocommit.sh
./scripts/autocommit-config.sh
tail -f .autocommit/autocommit.log
tail -f .autocommit/changelog-generator.log
📑 GitHub模板和配置
本项目配备了一套完整的模板和配置文件,以规范贡献流程、简化管理并确保代码和文档的高质量。
📂 .github 目录结构
.github 目录集中管理与GitHub社区和贡献相关的所有配置。
🔧 项目配置
| 文件 |
用途 |
位置 |
|
定义Git忽略规则 |
项目根目录 |
|
工作区配置文件 |
项目根目录 |
|
TypeScript全局配置 |
项目根目录 |
|
GitHub Copilot使用指南 |
.github/ |
📋 问题模板
| 模板 |
用途 |
位置 |
| 🐛 错误报告 |
报告技术错误 |
.github/ISSUE_TEMPLATE/ |
| ✨ 功能请求 |
请求新功能 |
.github/ISSUE_TEMPLATE/ |
| ❓ 技术问题 |
提出技术或概念性问题 |
.github/ISSUE_TEMPLATE/ |
| 📚 教学改进 |
改进教学内容 |
.github/ISSUE_TEMPLATE/ |
| 📖 文档改进 |
改进或添加文档 |
.github/ISSUE_TEMPLATE/ |
| ⚙️ 模板配置 |
模板配置文件 |
.github/ISSUE_TEMPLATE/ |
🔄 拉取请求模板
| 模板 |
用途 |
位置 |
| 📝 拉取请求模板 |
高质量贡献指南 |
.github/ |
📋 项目治理
| 文件 |
用途 |
位置 |
| 🤝 行为准则 |
社区行为规范 |
.github/ |
| 📋 贡献指南 |
完整的贡献指南 |
.github/ |
| 📊 变更日志 |
项目变更历史记录 |
项目根目录 |
| 🔒 安全策略 |
安全策略和漏洞处理规则 |
项目根目录 |
🏗️ 开发模板
| 模板 |
用途 |
位置 |
|
新MCP服务器的基础架构 |
plantillas/ |
|
完整的测试配置 |
plantillas/ |
|
Docker Compose模板 |
plantillas/ |
|
部署配置文件 |
plantillas/ |
🐳 Docker配置
| 文件 |
用途 |
位置 |
|
Node.js基础镜像 |
herramientas/docker/ |
|
Python基础镜像 |
herramientas/docker/ |
|
Docker Compose模板 |
herramientas/docker/ |
🔍 验证工具
| 工具 |
用途 |
位置 |
|
代码验证脚本 |
herramientas/ |
📊 评估和认证
每个模块都包含:
- ✅ 详细的评分标准,明确评估标准
- 🎯 实践练习,并提供解决方案
- 🏆 渐进式项目,逐步积累专业知识
- 📈 自我评估 和 同行评审
🤝 贡献指南
你的贡献将使这个实战营变得更好!
贡献方式
- 🐛 报告错误 或提出内容改进建议
- 📝 改进文档 和示例代码
- 💡 提出新模块 或练习建议
- 🌍 将内容翻译成其他语言
- ⭐ 分享项目 并给仓库点赞
贡献流程
- Fork 仓库
- 创建新分支:
git checkout -b feature/nueva-funcionalidad
- 提交描述性的Commit:
git commit -m 'feat: agregar ejercicio de WebSockets'
- 推送到你的Fork:
git push origin feature/nueva-funcionalidad
- 发起Pull Request,并提供详细描述
请阅读我们的 以获取更多详细信息。
📄 许可证
本项目采用 MIT许可证,详细信息请查看 LICENSE 文件。
💬 社区
[](https://discord.gg/tu-server)
[](https://github.com/tu-usuario/mcp-server-bootcamp/discussions)
[](https://twitter.com/tu-handle)
有问题? 加入我们的讨论或创建一个Issue。
想了解最新动态? 关注我们并给仓库点赞。