orbit

Orbit Zürich: Workshop-Räume, Preise und freie Slots abfragen, Buchungsanfragen stellen.

사용해야 할까요

품질 및 안전성

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

발견 사항 (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domaincreate_booking에서
  • LOWTool 'check_availability' description lacks action verbcheck_availability에서

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

컨텍스트 비용

~2,601토큰 (도구 정의)
~3.3 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.03%)

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

설치

원클릭 설치

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

{
  "mcpServers": {
    "orbit": {
      "url": "https://www.the-orbit.ch/api/mcp"
    }
  }
}

원격 엔드포인트

https://www.the-orbit.ch/api/mcpstreamable-http
https://the-orbit.ch/api/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (6)

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

Listet alle aktiven Räume des Orbit mit Kapazität, Etage, Ausstattung und Standardpreisen pro Slot (vormittag 08:00–12:00, nachmittag 13:00–18:00, ganztags 08:00–18:00). Räume mit `bookableFrom` in der Zukunft sind sichtbar, aber noch nicht buchbar.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "description": "Optional: Kategorie-Slug zum Filtern (siehe `category.slug` im Ergebnis)",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_availability(date, roomIds)

Prüft für ein Datum, welche Slots (vormittag, nachmittag, ganztags) in welchen Räumen noch frei sind, inklusive Standardpreisen in CHF. Ohne `roomIds` werden alle aktiven Räume geprüft.

입력 스키마

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Datum im Format YYYY-MM-DD"
    },
    "roomIds": {
      "description": "Optional: nur diese Raum-IDs prüfen (IDs aus list_rooms)",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_services

Listet alle buchbaren Zusatzservices (z.B. Catering, Moderation, Workshop-Begleitung) mit Standardpreisen. Services mit `isAccompaniment: true` sind exklusive Begleitformate (max. eines pro Buchung) und können einen Raum-Rabatt auslösen.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢quote_booking(rooms, services, title, notes, participants, ...)

Berechnet den unverbindlichen Gesamtpreis (Listenpreise, CHF) für eine Raum-/Service-Auswahl mit der echten Pricing-Engine des Orbit — inklusive Bestpreis-Logik, Wochenend-Zuschlag (+30%) und Verpflegungs-Pauschalen. Nutze dieses Tool statt Preise aus list_rooms selbst zusammenzurechnen. Mit API-Token wird die Quote personalisiert (Company-Pass-Deckung bzw. Individualrabatt des Kontos statt Listenpreis). Raum-IDs kommen aus list_rooms, Service-IDs aus list_services.

입력 스키마

{
  "type": "object",
  "properties": {
    "rooms": {
      "minItems": 1,
      "maxItems": 16,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "string",
            "minLength": 1
          },
          "slot": {
            "type": "string",
            "enum": [
              "VORMITTAG",
              "NACHMITTAG",
              "GANZTAGS",
              "ZEITFENSTER"
            ]
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "required": [
          "roomId",
          "slot",
          "date"
        ]
      },
      "description": "Gewünschte Räume mit Slot und Datum (Raum-IDs aus list_rooms)"
    },
    "services": {
      "default": [],
      "description": "Optionale Zusatzservices (Service-IDs aus list_services)",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "serviceId": {
            "type": "string",
            "minLength": 1
          },
          "quantity": {
            "default": 1,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "notes": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "serviceId"
        ]
      }
    },
    "title": {
      "description": "Optionaler Titel des Anlasses",
      "type": "string",
      "maxLength": 200
    },
    "notes": {
      "description": "Optionale Bemerkungen",
      "type": "string",
      "maxLength": 2000
    },
    "participants": {
      "description": "Anzahl Personen — Pflicht, wenn Verpflegung pro Person verrechnet wird",
      "anyOf": [
        {
          "type": "integer",
          "minimum": 1,
          "maximum": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "duration": {
      "type": "string",
      "enum": [
        "EIN_TAG",
        "ZWEI_TAGE",
        "DREI_TAGE",
        "VIER_TAGE"
      ],
      "description": "Buchungsdauer; bei Mehrtagen buchen alle Räume GANZTAGS"
    },
    "startTime": {
      "description": "Startzeit 'HH:00' (08–17) — Pflicht bei EIN_TAG, verboten bei Mehrtagen",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(0[89]|1[0-7]):00$"
        },
        {
          "type": "null"
        }
      ]
    },
    "endTime": {
      "description": "Endzeit 'HH:00' (09–18) — Pflicht bei EIN_TAG, verboten bei Mehrtagen",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(09|1[0-8]):00$"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "rooms",
    "duration"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢request_booking(rooms, services, title, notes, participants, ...)

Stellt eine UNVERBINDLICHE Buchungsanfrage an das Orbit-Team. Die Anfrage reserviert den Slot noch NICHT — das Team prüft sie und bestätigt per E-Mail an die Kontaktadresse. Prüfe vorher mit check_availability, ob die gewünschten Slots frei sind, und nenne dem Menschen den Preis aus quote_booking. Raum-IDs aus list_rooms, Service-IDs aus list_services.

입력 스키마

{
  "type": "object",
  "properties": {
    "rooms": {
      "minItems": 1,
      "maxItems": 16,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "string",
            "minLength": 1
          },
          "slot": {
            "type": "string",
            "enum": [
              "VORMITTAG",
              "NACHMITTAG",
              "GANZTAGS",
              "ZEITFENSTER"
            ]
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "required": [
          "roomId",
          "slot",
          "date"
        ]
      },
      "description": "Gewünschte Räume mit Slot und Datum (Raum-IDs aus list_rooms)"
    },
    "services": {
      "default": [],
      "description": "Optionale Zusatzservices (Service-IDs aus list_services)",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "serviceId": {
            "type": "string",
            "minLength": 1
          },
          "quantity": {
            "default": 1,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "notes": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "serviceId"
        ]
      }
    },
    "title": {
      "description": "Optionaler Titel des Anlasses",
      "type": "string",
      "maxLength": 200
    },
    "notes": {
      "description": "Optionale Bemerkungen",
      "type": "string",
      "maxLength": 2000
    },
    "participants": {
      "description": "Anzahl Personen — Pflicht, wenn Verpflegung pro Person verrechnet wird",
      "anyOf": [
        {
          "type": "integer",
          "minimum": 1,
          "maximum": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "duration": {
      "type": "string",
      "enum": [
        "EIN_TAG",
        "ZWEI_TAGE",
        "DREI_TAGE",
        "VIER_TAGE"
      ],
      "description": "Buchungsdauer; bei Mehrtagen buchen alle Räume GANZTAGS"
    },
    "startTime": {
      "description": "Startzeit 'HH:00' (08–17) — Pflicht bei EIN_TAG, verboten bei Mehrtagen",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(0[89]|1[0-7]):00$"
        },
        {
          "type": "null"
        }
      ]
    },
    "endTime": {
      "description": "Endzeit 'HH:00' (09–18) — Pflicht bei EIN_TAG, verboten bei Mehrtagen",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(09|1[0-8]):00$"
        },
        {
          "type": "null"
        }
      ]
    },
    "contactName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "description": "Name der Kontaktperson"
    },
    "contactEmail": {
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "E-Mail der Kontaktperson — hierhin geht die Bestätigung"
    },
    "contactPhone": {
      "description": "Optionale Telefonnummer",
      "type": "string",
      "maxLength": 40
    }
  },
  "required": [
    "rooms",
    "duration",
    "contactName",
    "contactEmail"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_booking(rooms, services, title, notes, participants, ...)

Erstellt eine VERBINDLICHE Buchung mit den echten Konditionen des angemeldeten Kontos (Company-Pass-Deckung bzw. Individualrabatt) — reserviert den Slot sofort. Erfordert einen API-Token (Authorization: Bearer …, erstellbar unter https://the-orbit.ch/account/api-tokens). Prüfe vorher mit check_availability, ob die Slots frei sind, und mit quote_booking den Preis. Ohne Token: request_booking für eine unverbindliche Anfrage nutzen. Raum-IDs aus list_rooms, Service-IDs aus list_services.

입력 스키마

{
  "type": "object",
  "properties": {
    "rooms": {
      "minItems": 1,
      "maxItems": 16,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "string",
            "minLength": 1
          },
          "slot": {
            "type": "string",
            "enum": [
              "VORMITTAG",
              "NACHMITTAG",
              "GANZTAGS",
              "ZEITFENSTER"
            ]
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "required": [
          "roomId",
          "slot",
          "date"
        ]
      },
      "description": "Gewünschte Räume mit Slot und Datum (Raum-IDs aus list_rooms)"
    },
    "services": {
      "default": [],
      "description": "Optionale Zusatzservices (Service-IDs aus list_services)",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "serviceId": {
            "type": "string",
            "minLength": 1
          },
          "quantity": {
            "default": 1,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "notes": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "serviceId"
        ]
      }
    },
    "title": {
      "description": "Optionaler Titel des Anlasses",
      "type": "string",
      "maxLength": 200
    },
    "notes": {
      "description": "Optionale Bemerkungen",
      "type": "string",
      "maxLength": 2000
    },
    "participants": {
      "description": "Anzahl Personen — Pflicht, wenn Verpflegung pro Person verrechnet wird",
      "anyOf": [
        {
          "type": "integer",
          "minimum": 1,
          "maximum": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "duration": {
      "type": "string",
      "enum": [
        "EIN_TAG",
        "ZWEI_TAGE",
        "DREI_TAGE",
        "VIER_TAGE"
      ],
      "description": "Buchungsdauer; bei Mehrtagen buchen alle Räume GANZTAGS"
    },
    "startTime": {
      "description": "Startzeit 'HH:00' (08–17) — Pflicht bei EIN_TAG, verboten bei Mehrtagen",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(0[89]|1[0-7]):00$"
        },
        {
          "type": "null"
        }
      ]
    },
    "endTime": {
      "description": "Endzeit 'HH:00' (09–18) — Pflicht bei EIN_TAG, verboten bei Mehrtagen",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(09|1[0-8]):00$"
        },
        {
          "type": "null"
        }
      ]
    },
    "contactName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "description": "Name der Kontaktperson"
    },
    "contactEmail": {
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "E-Mail der Kontaktperson — hierhin geht die Bestätigung"
    },
    "contactPhone": {
      "description": "Optionale Telefonnummer",
      "type": "string",
      "maxLength": 40
    }
  },
  "required": [
    "rooms",
    "duration",
    "contactName",
    "contactEmail"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

권장 프롬프트

browse_collection
Show me the [collection] from orbit
예상 도구: list_rooms
list_items
List all [items] available in orbit
예상 도구: list_rooms

커뮤니티

이 서버 평가하기

증거

최근 관측

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