新接触MCP? 从这里开始!本指南将在几分钟内让你上手。
如需详细文档,请参阅 PROJECT_WALKTHROUGH.md。
一个完整的全栈旅行预订应用程序,包括:
在开始之前,请确保你拥有:
推荐但非必需:
travel-mcp-server/
│
├── BACKEND MCP SERVER
│ ├── index.ts # 主MCP服务器(工具定义及处理器)
│ ├── database.ts # 业务逻辑及数据管理
│ ├── package.json # 依赖项及脚本
│ ├── tsconfig.json # TypeScript配置
│ ├── api-server.js # 可选的独立API服务器
│ │
│ ├── data/ # 模拟数据文件
│ │ ├── flights.json # 航班数据
│ │ └── bookings.json # 预订记录
│ │
│ └── dist/ # 构建输出(由`npm run build`生成)
│ ├── index.js # 编译后的MCP服务器(供AI客户端使用)
│ ├── database.js # 编译后的数据库函数
│ └── data/ # 复制的数据文件
│ ├── flights.json
│ └── bookings.json
│
└── FRONTEND WEB APP
├── src/ # React应用程序
│ ├── App.jsx # 主React组件
│ ├── main.jsx # React入口点
│ ├── App.css # 样式
│ ├── FlightSearch.jsx # 搜索界面
│ ├── FlightList.jsx # 航班显示
│ ├── BookingForm.jsx # 预订表单
│ ├── BookingsList.jsx # 预订显示
│ └── MockEmailModal.jsx # 邮件确认模态框
│
├── index.html # HTML入口点
└── vite.config.js # Vite构建配置
# 导航到项目目录
cd travel-mcp-server
# 安装所有依赖项
npm install
这会做什么: 安装TypeScript、MCP SDK、React、Vite以及所有所需包。
# 将TypeScript编译为JavaScript
npm run build
这会做什么: 将index.ts和database.ts编译成dist/index.js和dist/database.js,供AI客户端使用。
预期输出:
✓ 构建成功
你有三种选项(选择适合你的需求):
适用于学习和演示 - 不需要设置AI客户端!
终端1:启动API服务器
npm run api
终端2:启动Web应用
npm run dev:web
在http://localhost:3000打开 - 你可以开始了!
适用于AI CLI集成:
配置你的AI客户端(选择一个):
temp_docs/CODEX_CONFIG.md测试它:
适用于完整演示:
终端1:MCP服务器
npm start
终端2:Web应用
npm run dev:web
终端3:AI客户端
提示: 有关详细的设置说明,请参阅 PROJECT_WALKTHROUGH.md - 与AI客户端集成
┌─────────────┐ stdin ┌───────────────┐
│ AI客户端 │ ─────────────────────> │ MCP服务器 │
│ (Claude) │ <───────────────────── │ (index.js) │
└─────────────┘ stdout └───────────────┘
│
▼
┌─────────────┐
│ database.js │
│ (函数) │
└─────────────┘
流程:
了解更多: 请参阅 PROJECT_WALKTHROUGH.md - MCP与Stdio实现以获得详细解释
database.ts中,工具在index.ts中data/目录中的JSON文件了解更多: 请参阅 PROJECT_WALKTHROUGH.md - 创建MCP工具以了解工具的工作原理
这是关键教学时刻 - 展示真正的后端状态管理!
1. 搜索航班
→ FL004显示22个可用座位
2. 预订FL004
→ 后端减少可用性
→ FL004现在有21个座位
3. 再次搜索
→ FL004仍然显示21个座位
→ 数据更改被保存!
4. 取消预订
→ FL004恢复到22个座位
→ 座位被释放!
了解更多: 请参阅 PROJECT_WALKTHROUGH.md - API函数和业务逻辑以理解状态管理如何工作
index.ts - MCP服务器和工具定义database.ts - 业务逻辑和数据管理src/ - Web应用的React组件Web应用无法启动?
node --version(需要v18+)node_modules和package-lock.json,然后npm installMCP服务器不起作用?
npm run build后存在dist/index.js需要帮助?
| 任务 | 命令 |
|---|---|
| 安装依赖项 | npm install |
| 构建后端 | npm run build |
| 启动MCP服务器 | npm start |
| 运行Web应用 | npm run dev:web |
| 查看文档 | 打开 PROJECT_WALKTHROUGH.md |
准备好深入了吗? → PROJECT_WALKTHROUGH.md包含了你需要的一切!