WFCS预订--克劳德代理入职
为The Well Foundation的Claude经纪人提供一个角色意识的入职网站。用户使用其现有的WFCS Booking帐户登录,被重定向到其特定角色的页面,并看到他们可以直接复制到Claude的精心策划的提示。
居住地址: booking-mcp-docs.wellfoundation.org.uk
______________________________________________________________________
它做什么
- 用户使用其WFCS预订凭据登录(与主应用程序相同的电子邮件/密码)
- 该网站检测他们的角色(客户、讲师、管理员、超级管理员)并相应地重定向
- 每个角色都会看到一个快速入门页面,其中包含5-7个最有用的提示
- 一个完整的提示库页面每个角色有30-70多个提示,可按类别搜索和过滤
- 没有自己的后端-身份验证由WFCS Booking API处理
______________________________________________________________________
本地开发
要求Galvani从git根运行:
# From /Users/waseem/Sites/www/
./galvani
# Site available at:
http://localhost:8080/booking/mcp/booking-mcp-docs/index.html?nocache=1
# Note: always use ?nocache=1 when testing after JS changes
# to bypass browser caching of index.html测试证书(全部使用 password123):
| 电子邮件 | 角色 |
|---|---|
customer@booking.local | 客户 |
instructor@booking.local | 讲师 |
admin@booking.local | 超级管理员 |
______________________________________________________________________
结构
booking-mcp-docs/
├── index.html # Login page
├── customer/
│ ├── index.html # Quick Start (5 prompts)
│ └── prompts.html # Full library (search + filter)
├── instructor/
│ ├── index.html
│ └── prompts.html
├── admin/
│ ├── index.html
│ └── prompts.html
├── super-admin/
│ ├── index.html
│ └── prompts.html
├── assets/
│ ├── styles.css # All styles — no inline CSS anywhere
│ ├── app.js # Auth, theme toggle, CSRF, prompt rendering
│ └── prompts-data.js # All prompts keyed by role and category
├── docs/
│ ├── TESTING.md # Manual testing checklist
│ └── LAUNCHING.md # Launch and deployment checklist
├── .github/workflows/
│ └── deploy.yml # GitHub Pages deploy on push to master
└── CNAME # booking-mcp-docs.wellfoundation.org.uk______________________________________________________________________
更新提示
所有提示均已上线 assets/prompts-data.js结构如下:
var promptsDatabase = {
customer: {
activities: [ { text: '...', difficulty: 'easy' }, ... ],
bookings: [ ... ],
// ...
},
instructor: { ... },
admin: { ... },
'super-admin': { ... }
};要添加或编辑提示,请执行以下操作:
- 编辑
assets/prompts-data.js - 承诺并推动
master - GitHub Pages会自动部署,无需重新构建
难度值: easy | intermediate | advanced
______________________________________________________________________
部署
通过Cloudflare在GitHub Pages上托管自定义域。
- 推至
master→ GitHub Actions会自动部署(请参阅.github/workflows/deploy.yml) - 自定义域:
booking-mcp-docs.wellfoundation.org.uk(Cloudflare CNAME→waseemsadiq.github.io) - 通过GitHub Pages设置强制执行HTTPS
所需的存储库机密:
实时预订API URL未在回购中进行硬编码。在部署之前,请将其添加到:
GitHub 仓库→ 设置→ 秘密和变量→ 行动→ 新存储库机密
| 秘密名称 | 值 |
|---|---|
BOOKING_API_URL | https://booking.wellfoundation.org.uk |
部署工作流将此替换为 app.js 在构建时。git repo只包含占位符 __BOOKING_API_URL__.
看 docs/launchhing.md 查看完整的发射清单。
______________________________________________________________________
身份验证的工作原理
- 登录页面获取
csrf_token来自预订应用程序的cookie(来源相同) - 它将凭据发布到
/api/auth/loginCSRF令牌在X-CSRF-Token头球 - 成功后,JWT存储在
localStorage GET /api/auth/verify-token返回用户的角色,该角色驱动重定向- 所有角色页面调用
requireAuth()加载时--无效/丢失的令牌重定向到登录
CSRF备注:令牌以两者的形式发送 X-CSRF-Token 标题和 _csrf_token 在JSON正文中。服务器首先检查标头。
