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 domain在 create_booking 中
  • LOWTool 'check_availability' description lacks action verb在 check_availability 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,601token 数(工具定义)
~3.3 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.03%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `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 个工具