Hotel MCP Mock Service for Bailian Platform
npm install hotel-mcp-mockbash
npm install
`
使用方式
$3
`bash
使用stdio传输(适用于本地测试)
npm start
使用HTTP传输(适用于Postman测试)
node index.js 3001
`
$3
`bash
npx hotel-mcp-mock
`
百炼平台部署
在百炼平台部署时,使用以下配置文件:
1. 工具配置: bailian-mcp-config.json
2. 服务器配置: bailian-mcp-server-config.json
$3
本npm包已发布到官方npm平台,可以直接在阿里云百炼平台中使用:
1. 登录阿里云百炼平台
2. 创建自定义MCP服务
3. 使用以下配置:
- 服务名称:hotel-mcp-mock
- 运行命令:npx
- 参数:-y hotel-mcp-mock ${port}
- 环境变量:NODE_ENV=production
重要说明:百炼平台需要MCP服务支持HTTP传输方式,因此参数中必须包含 ${port} 变量,服务会根据该端口启动HTTP服务器。
项目结构
`
hotel-mcp-mock/
├── index.js # 入口文件
├── package.json # 项目配置
├── README.md # 说明文档
├── bailian-mcp-config.json # 百炼平台工具配置
├── bailian-mcp-server-config.json # 百炼平台服务器配置
├── scene-config.json # 场景配置文件(可选,用于自定义场景配置)
└── mcp/
└── mock.js # MCP Mock服务实现
`
实现说明
mock.js使用@modelcontextprotocol/sdk实现MCP工具:
1. 使用McpServer类创建MCP服务器
2. 通过registerTool方法注册每个工具
3. 实现了多个酒店服务Mock方法,包括:
- 基础酒店服务(入住信息查询、洗衣房查询等)
- IOT设备控制服务(灯光、空调、窗帘、电视、门锁等)
- 场景控制服务(欢迎客人、睡眠模式、观影时间等)
4. 所有方法都包含日志输出和模拟数据返回
服务支持两种传输方式:
- stdio传输:适用于本地测试和直接运行
- HTTP传输:适用于百炼平台部署,通过端口参数启动
$3
场景控制功能需要通过scene-config.json文件自定义场景配置。与之前的版本不同,现在必须提供scene-config.json文件并包含相应的场景配置,否则场景控制将无法工作。
场景配置文件格式如下:
`json
{
"scene_name": {
"name": "场景显示名称",
"devices": [
{"deviceType": "设备类型", "action": "操作", "value": 可选值}
]
}
}
``