reservations

Remote MCP for TehProf Booking: browse resources & availability, create & cancel reservations.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
98%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,111토큰 (도구 정의)
~1.1 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 0.87%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "reservations": {
      "url": "https://booking.tehprof.kz/mcp"
    }
  }
}

원격 엔드포인트

https://booking.tehprof.kz/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (8)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢get_branding(slug)

Get public tenant profile and branding (name, logo, colors, tagline) by the tenant public slug. No API key required.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Tenant public slug, e.g. \"baiterekresort-bitrix24-kz\"."
    }
  },
  "required": [
    "slug"
  ]
}
🟢list_resources(slug, group_id, search, bed_type, resource_class, ...)

List bookable resources of a tenant (rooms, halls, services) by public slug. Optional filters: group_id, search, bed_type, resource_class, min_capacity, amenities (comma-separated). No API key required.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Tenant public slug."
    },
    "group_id": {
      "type": "string",
      "description": "Resource group UUID, or \"none\" for ungrouped."
    },
    "search": {
      "type": "string",
      "description": "Free-text name filter (1-100 chars)."
    },
    "bed_type": {
      "type": "string"
    },
    "resource_class": {
      "type": "string"
    },
    "min_capacity": {
      "type": "integer",
      "description": "Minimum capacity."
    },
    "amenities": {
      "type": "string",
      "description": "Comma-separated amenity keys."
    }
  },
  "required": [
    "slug"
  ]
}
🟢list_groups(slug)

List resource groups (categories) of a tenant by public slug — only groups with at least one publicly visible resource. No API key required.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Tenant public slug."
    }
  },
  "required": [
    "slug"
  ]
}
🟢check_availability(resource_id, date, duration_minutes)

Get free time slots for a resource on a given date. Returns bookable slots considering existing reservations. No API key required.

입력 스키마

{
  "type": "object",
  "properties": {
    "resource_id": {
      "type": "string",
      "description": "Resource UUID (from list_resources)."
    },
    "date": {
      "type": "string",
      "description": "Date in YYYY-MM-DD."
    },
    "duration_minutes": {
      "type": "integer",
      "description": "Slot duration in minutes (5-1440, default 60)."
    }
  },
  "required": [
    "resource_id",
    "date"
  ]
}
🟡create_reservation(resource_id, guest_name, guest_phone, check_in_date, check_out_date, ...)

[Requires API key with the matching scope] Create a reservation. Requires an API key with the reservations:write scope; the booking is bound to the key tenant and the resource must belong to it. Provide either check_in_date+check_out_date (overnight/rental) OR start_at+end_at ISO datetimes (time-slot).

입력 스키마

{
  "type": "object",
  "properties": {
    "resource_id": {
      "type": "string",
      "description": "Resource UUID to book."
    },
    "guest_name": {
      "type": "string",
      "description": "Guest full name (2-200 chars)."
    },
    "guest_phone": {
      "type": "string",
      "description": "Guest phone, 6-15 digits with optional +."
    },
    "check_in_date": {
      "type": "string",
      "description": "Rental check-in date YYYY-MM-DD."
    },
    "check_out_date": {
      "type": "string",
      "description": "Rental check-out date YYYY-MM-DD."
    },
    "start_at": {
      "type": "string",
      "description": "Slot start ISO datetime (alternative to check_in_date)."
    },
    "end_at": {
      "type": "string",
      "description": "Slot end ISO datetime."
    },
    "guest_email": {
      "type": "string",
      "description": "Guest email (optional)."
    },
    "notes": {
      "type": "string",
      "description": "Free-text notes (max 1000 chars, optional)."
    },
    "locale": {
      "type": "string",
      "description": "Locale ru/en/kk (optional, default ru)."
    },
    "idempotency_key": {
      "type": "string",
      "description": "Optional client-generated key (e.g. a UUID) to make retries safe. Repeating the call with the same key returns the original reservation instead of creating a duplicate (24h window)."
    }
  },
  "required": [
    "resource_id",
    "guest_name",
    "guest_phone"
  ]
}
🟢list_reservations(resource_id, from, to, status, limit)

[Requires API key with the matching scope] List reservations of the API key tenant. Requires the reservations:read scope. Optional filters: resource_id, from/to (YYYY-MM-DD), status, limit (1-200, default 50).

입력 스키마

{
  "type": "object",
  "properties": {
    "resource_id": {
      "type": "string",
      "description": "Filter by resource UUID."
    },
    "from": {
      "type": "string",
      "description": "Start date filter YYYY-MM-DD."
    },
    "to": {
      "type": "string",
      "description": "End date filter YYYY-MM-DD."
    },
    "status": {
      "type": "string",
      "description": "Filter by status (e.g. confirmed, pending, cancelled)."
    },
    "limit": {
      "type": "integer",
      "description": "1-200, default 50."
    }
  }
}
🟢get_reservation(reservation_id)

[Requires API key with the matching scope] Get a single reservation by its UUID. With the reservations:read scope and matching tenant, returns guest details; otherwise only public status fields.

입력 스키마

{
  "type": "object",
  "properties": {
    "reservation_id": {
      "type": "string",
      "description": "Reservation UUID."
    }
  },
  "required": [
    "reservation_id"
  ]
}
🔴cancel_reservation(reservation_id)

[Requires API key with the matching scope] Cancel a reservation by UUID. Requires the reservations:write scope and the reservation must belong to the key tenant (idempotent — cancelling an already-cancelled booking succeeds).

입력 스키마

{
  "type": "object",
  "properties": {
    "reservation_id": {
      "type": "string",
      "description": "Reservation UUID to cancel."
    }
  },
  "required": [
    "reservation_id"
  ]
}

권장 프롬프트

retrieve_data
Get details about [item] from reservations
예상 도구: get_branding
fetch_info
Fetch [information type] using reservations
예상 도구: get_branding
list_items
List all [items] available in reservations
예상 도구: list_resources
browse_collection
Show me the [collection] from reservations
예상 도구: list_resources
explore_workflow
List available [items], then get details for each one using reservations
예상 도구: list_resourcesget_branding

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 8개
검증됨버전이 기록되지 않음도구 8개