德威度假酒店-申请示例
面向LLM生产力的企业MCP设计模式
演示如何设计模型上下文协议(MCP)服务器,以最大限度地提高AI代理的生产力,同时保持后端系统的完整性、性能、安全性和规模。
______________________________________________________________________
这表明了什么
此示例应用程序展示了 企业级MCP架构模式 在将LLM与后端系统集成时,解决了现实世界的挑战:
问题
大多数MCP实现都允许AI代理直接访问数据库或公开原始API,从而导致:
- ❌ 性能差 -代理为简单任务调用10多次API
- ❌ 数据完整性问题 -代理创建无效的状态转换
- ❌ 安全漏洞 -工具访问权限过于宽松
- ❌ 可扩展性瓶颈 -无缓存、重试或速率限制
- ❌ 用户体验不佳 -响应缓慢,故障频繁
解决方案:组合式MCP架构
该项目展示了 双层刀具设计 平衡LLM灵活性和企业需求:
🎯 编排器(高级工具) -针对常见场景进行了优化
- 对业务规则和先决条件进行编码
- 在3秒内执行多步骤工作流
- 以正确的依赖顺序处理状态转换
- 为80%的用例提供出色的用户体验
🧩 原子技能(构建模块) -适用于边缘情况和灵活性
- 单一责任运营
- 运行时可由AI代理组合
- 允许处理意外情况
- 保持适当的授权边界
关键结果: 人工智能代理为常见任务获得快速、经过验证的工作流程,并具有智能处理边缘情况的灵活性。
______________________________________________________________________
为何这很重要
*企业MCP架构-基于Persona的服务器,具有编排器和原子技能*
真实世界示例:客人入住
*签入编排器:\ cd dewy-resort ./setup.sh
或者使用自动执行此操作的单行引导程序。
### 2.部署Salesforce元数据⭐
Salesforce是一个记录系统——首先部署它。
Install CLI (if not done via setup.sh)
./setup.sh --tool=salesforce
Authenticate
bin/sf org login web --alias myDevOrg
Deploy metadata and seed data
./vendor/salesforce/scripts/deploy.sh myDevOrg
**📚 请参阅:** [docs/SALESFORCE_SETUP.md](./docs/SALESFORCE_SETUP.md)
### 3.部署Workato MCP服务器⭐
Workato实现了企业MCP架构。
Install CLI (if not done via setup.sh)
./setup.sh --tool=workato
Add API token to .env (see guide for how to generate token)
WORKATO_API_TOKEN=your_token WORKATO_API_EMAIL=your_email
Initialize Workato folders
./workato/scripts/cli/create_workato_folders.sh
Configure connections in Workato UI (see guide)
Start recipes
./workato/scripts/cli/start_workato_recipes.sh
**⚠️ 重要:** 4个配方需要在Workato UI(SOQL查询配置)中手动激活。请参阅详细指南。
**📚 请参阅:** [docs/WORKATO_SETUP.md](./docs/WORKATO_SETUP.md)
### 4.配置Dewy Hotel应用程序
现在,配置酒店应用程序以调用您部署的Workato食谱:
Copy env template
cp .env.example .env
**将Workato API集合终结点添加到 `.env`:**
Salesforce API Collection URL (get from Workato UI)
In Workato: Navigate to any recipe → API Collection tab → Copy base URL
SALESFORCE_API_COLLECTION_URL=https://apim.workato.com/your-collection-id
Use same token as deployment
SALESFORCE_API_AUTH_TOKEN=your_token_from_step_3
**初始化本地数据库** (对于酒店应用程序会话,UI状态):
npm run db:setup
这个命令创建数据库,应用模式,运行所有迁移,并播种演示数据。
**注:** 本地SQLite数据库存储酒店应用程序特定的数据(用户会话、设备状态)。后端数据(预订、房间、案例)存在于Salesforce中,并通过作为REST API端点公开的Workato配方进行访问。
**关于MCP:** Workato配方实现了编排器和原子技能模式,这些模式将作为MCP工具公开。酒店应用程序目前通过REST API直接调用这些食谱。对于AI代理集成,这些相同的配方将通过MCP服务器公开,因此这些配方对LLM来说是工具。这就是动手工作坊在初始单元中要完成的内容。MCP服务器在Workato中以声明方式配置。
### 5.启动应用程序
npm run dev
打开 [http://localhost:3000](http://localhost:3000)
**测试登录(模拟模式):**
- 客人:guest@example.com/密码
- 经理:manager@example.com/密码
______________________________________________________________________
## 学习路径
### 研讨会参与者
**目标:** 了解企业MCP设计模式
1. **从这里开始:** 查看中的架构图 [`docs/architecture/`](./docs/architecture/)
1. **探索:** 比较编排器与原子技能模式
1. **观察:** 签入编排器流程(先决条件、状态转换、错误处理)
1. **实验:** 尝试边缘情况(联系人丢失、双重入住、无效房间)
1. **反映:** 为什么管弦乐器更快?为什么原子技能很重要?
### 面向构建MCP服务器的开发人员
**目标:** 将这些模式应用于您自己的项目
1. **架构:** 学习 [系统架构.png](./docs/architecture/system-architecture.png)
1. **实施:** 在中查看Workato食谱 `workato/` 目录
1. **模式:** 阅读 [WORKATO_SETUP.md](./docs/WORKATO_SETUP.md) 详细的模式解释
1. **适应:** 考虑如何将编排器+原子技能模式应用于您的领域
### 关键要点
✅ **常见场景的编排器** -快速、经过验证、出色的用户体验
✅ **原子技能带来灵活性** -智能处理边缘案例
✅ **零直接集成** -全部通过中央枢纽
✅ **基于Persona的服务器** -安全性、性能、可用性
✅ **识别和验证** -数据完整性、可靠性
✅ **性能优化** -并行读取,依赖关系排序
______________________________________________________________________
## 其他资源
### 设置指南
- **[Salesforce设置](./docs/SALESFORCE_SETUP.md)** -部署自定义对象和种子数据
- **[Workato设置](./docs/WORKATO_SETUP.md)** -部署MCP服务器配方
- **[架构图](./docs/architecture/README.md)** -所有工作流的可视化文档
### 可选功能
- **[条纹集成](./docs/WORKATO_SETUP.md#stripe-recipe-activation-optional)** -付款处理
- **[Cognito身份验证](#cognito-authentication-workshop-convenience)** -用户身份验证(车间便利)
- **[Bedrock人工智能聊天](#bedrock-ai-chat-optional)** -人工智能助手(可选)
- **[家庭助理集成](./app/docs/HOME_ASSISTANT_QUICKSTART.md)** -物联网房间控制
### 技术细节
- **[Salesforce元数据](./salesforce/README.md)** -完整的对象和字段文档
- **[项目结构](#project-structure)** -代码库组织
- **[CLI命令](#cli-commands)** -自动化脚本
______________________________________________________________________
## 项目结构
dewy-resort/ ├── workato/ # ⭐ MCP SERVER IMPLEMENTATION │ ├── atomic-salesforce-recipes/ # 15 atomic skills │ ├── atomic-stripe-recipes/ # 6 payment atomic skills │ ├── orchestrator-recipes/ # 12 high-level orchestrators │ ├── Salesforce/ # API Collection definitions │ └── Workspace-Connections/ # Connection configs ├── docs/ │ ├── architecture/ # ⭐ ARCHITECTURE DIAGRAMS │ │ ├── system-architecture.png │ │ ├── guest-checkin-flow.png │ │ ├── guest-checkout-flow.png │ │ ├── guest-service-request-flow.png │ │ └── maintenance-request-flow.png │ ├── SALESFORCE_SETUP.md # Salesforce deployment guide │ ├── WORKATO_SETUP.md # MCP server setup guide │ └── ... ├── app/ # Next.js application │ ├── guest/ # Guest portal │ ├── manager/ # Manager portal │ └── api/ # API routes (calls MCP server) ├── salesforce/ # Salesforce metadata │ ├── force-app/ # Custom objects, fields, app │ └── data/ # Seed data └── components/ # React components
______________________________________________________________________
## CLI命令
Setup
./setup.sh # Install all CLIs + prerequisites ./setup.sh --tool=workato # Install Workato CLI only ./setup.sh --tool=salesforce # Install Salesforce CLI only ./setup.sh --skip-deps # Skip prerequisite checks
Workato (MCP Server)
./workato/scripts/cli/create_workato_folders.sh # Initialize folders ./workato/scripts/cli/start_workato_recipes.sh # Start recipes ./workato/scripts/cli/stop_workato_recipes.sh # Stop recipes
Salesforce (Backend)
./vendor/salesforce/scripts/deploy.sh # Deploy metadata
Legacy (Makefile still works)
make setup # Install all CLIs make status # Check all CLIs
______________________________________________________________________
## 模拟模式(仅限开发)
对于没有后端设置的前端开发:
In .env
WORKATO_MOCK_MODE=true
Restart server
npm run dev
**⚠️ 注:** 模拟模式模拟MCP响应。仅用于前端工作,不用于学习MCP架构模式。
______________________________________________________________________
## 可选功能
### Cognito身份验证(车间便利性)
对于参与者没有自己身份的研讨会:
AUTH_PROVIDER=cognito
Deploy Cognito User Pool
cd aws/cloudformation ./deploy.sh dev http://localhost:3000/api/auth/cognito/callback http://localhost:3000 dewy-hotel
### Bedrock AI聊天(可选)
人工智能聊天助手(演示LLM+MCP集成):
Deploy Identity Pool
cd aws/cloudformation ./deploy-identity-pool.sh dev
Configure in .env
COGNITO_IDENTITY_POOL_ID=your_pool_id
______________________________________________________________________
## 技术栈
- **MCP服务器**:Workato(33个食谱,以编排者和原子技能的形式组织)
- **后端系统**:Salesforce(客户关系管理)、Stripe(支付)、Twilio(短信)
- **应用**:Next.js 14、React、TypeScript、顺风CSS
- **数据库**:SQLite(仅限本地应用程序数据)
- **认证**:Amazon Cognito(可选)或模拟模式
- **人工智能**:Amazon Bedrock(可选聊天助手)
______________________________________________________________________
## 为什么选择Workato?
此示例使用 **计算机** 作为MCP服务器实现,但架构模式适用于任何集成平台:
✅ **可视化配方生成器** -易于理解的工作流程
✅ **内置连接器** -Salesforce、Stripe、Twilio开箱即用
✅ **API集合** -本机REST API公开
✅ **企业特性** -错误处理、重试、日志记录、监控
✅ **车间友好** -视觉表现有助于学习
**这些模式适用于:** 自定义API、无服务器功能、其他编排系统等。
______________________________________________________________________
## 许可证
麻省理工学院
______________________________________________________________________
## 问题?
这是一个 **企业MCP设计模式教学示例应用**目标是演示如何构建MCP服务器,以最大限度地提高LLM生产率,同时保持后端完整性、性能、安全性和规模。
**重点领域:**
- 为什么管弦乐器对性能和用户体验很重要
- 何时使用原子技能与管弦乐器
- 如何设计基于角色的MCP服务器
- 幂等性和状态验证模式
- 零直接系统集成架构
有关实施的详细信息,请参阅中的指南 [`docs/`](./docs/).