预约可用性检查服务器

Reservo MCP Server是一个用于检查预约可用性的模型上下文协议服务器,支持单日期检查和日期范围检查,并提供详细的冲突信息。

  • by agnoski
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 agnoski/reservo-mcp-server

使用说明

预留MCP服务器

用于检查预订可用性的MCP(模型上下文协议)服务器。

特性

  • 单日期检查:检查是否有特定日期可供预订
  • 日期范围检查:检查包含详细冲突信息的日期范围的可用性
  • 详细答复:提供存在冲突时的预订详细信息和可用时段

安装

  1. 安装依赖项:
pip install -r requirements.txt
  1. 通过编辑配置服务器 config.json:
{
  "backend_url": "http://localhost:3001",
  "default_entity_id": "1",
  "timeout_seconds": 30
}

用法

运行MCP服务器:

python server.py

可用工具

check_date_availability

检查是否有特定日期可供预订。

参数:

  • entity_id (string):要检查的实体的ID
  • date (字符串):以YYYY-MM-DD格式检查的日期

例子:

check_date_availability(entity_id="1", date="2024-01-15")

check_date_range_availability

检查包含详细冲突信息的日期范围的可用性。

参数:

  • entity_id (string):要检查的实体的ID
  • start_date (字符串):YYYY-MM-DD格式的开始日期
  • end_date (字符串):YYYY-MM-DD格式的结束日期

例子:

check_date_range_availability(entity_id="1", start_date="2024-01-15", end_date="2024-01-20")

响应格式

可用日期

{
  "available": true,
  "date": "2024-01-15",
  "entity_id": "1",
  "message": "Entity 1 is available on 2024-01-15"
}

占用日期

{
  "available": false,
  "date": "2024-01-15",
  "entity_id": "1",
  "reservation": {
    "id": "uuid-123",
    "booked_by": "John Doe",
    "start_date": "2024-01-14",
    "end_date": "2024-01-16",
    "created_at": "2024-01-01T10:00:00Z"
  }
}

有冲突的日期范围

{
  "available": false,
  "entity_id": "1",
  "requested_period": {
    "start_date": "2024-01-15",
    "end_date": "2024-01-20"
  },
  "conflicts": [
    {
      "id": "uuid-123",
      "booked_by": "John Doe",
      "start_date": "2024-01-16",
      "end_date": "2024-01-18"
    }
  ],
  "available_periods": [
    {
      "start_date": "2024-01-15",
      "end_date": "2024-01-16"
    },
    {
      "start_date": "2024-01-18",
      "end_date": "2024-01-20"
    }
  ]
}