🤖 Claude & MCPClaude & MCP

Run CodeB by talking to ClaudeCodeB per Gespräch mit Claude steuern

Connect Claude to your PMS and ask in plain language: update a property, add photos, rewrite a website text in German, swap a hero image. Same rules as the admin screens — nothing more.Verbinde Claude mit deinem PMS und frag in normaler Sprache: ein Objekt aktualisieren, Fotos hinzufügen, einen Website-Text auf Deutsch umschreiben, ein Hero-Bild tauschen. Es gelten dieselben Regeln wie in der Admin-Oberfläche — nicht mehr.

🔗Connect Claude (claude.ai, Claude desktop & mobile)Claude verbinden (claude.ai, Claude Desktop & Mobil)

CodeB has a built-in MCP server (Model Context Protocol). Once connected, you can simply ask Claude to look things up or change them in your PMS — properties, photos, websites, texts and images.CodeB hat einen eingebauten MCP-Server (Model Context Protocol). Einmal verbunden, kannst du Claude einfach bitten, Dinge in deinem PMS nachzuschlagen oder zu ändern — Objekte, Fotos, Websites, Texte und Bilder.

  1. In Claude open Settings → Connectors → Add custom connector.Öffne in Claude Einstellungen → Konnektoren → Eigenen Konnektor hinzufügen.
  2. Name: CodeB PMS. URL: https://your-pms-host/mcp. Leave the OAuth fields empty.Name: CodeB PMS. URL: https://dein-pms-host/mcp. OAuth-Felder leer lassen.
  3. Click Connect. A CodeB window opens — sign in as an administrator if asked.Klicke Verbinden. Ein CodeB-Fenster öffnet sich — melde dich bei Bedarf als Administrator an.
  4. On Connect Claude to CodeB tick Change things and Admin areas if Claude should edit properties and websites (both start unticked), then click Allow.Setze auf Connect Claude to CodeB die Haken bei Change things und Admin areas, wenn Claude Objekte und Websites bearbeiten soll (beide sind anfangs aus), und klicke Allow.
  5. Done — Claude now lists the CodeB tools. Just ask in plain language.Fertig — Claude zeigt jetzt die CodeB-Werkzeuge. Frag einfach in normaler Sprache.
Only approve a connection you started yourself, just now. Never approve a link someone sent you — it could give them access.Bestätige nur eine Verbindung, die du gerade selbst gestartet hast. Bestätige nie einen Link, den dir jemand geschickt hat — er könnte sich damit Zugriff verschaffen.
  • How long? A connection lasts 90 days by default; then Claude asks you to connect again.Wie lange? Eine Verbindung gilt standardmäßig 90 Tage; danach bittet Claude dich, erneut zu verbinden.
  • Revoke any time: each connection appears on API keys as MCP · Claude — revoke it there and Claude loses access immediately.Jederzeit widerrufen: jede Verbindung erscheint unter API-Schlüssel als MCP · Claude — dort widerrufen, und Claude verliert sofort den Zugriff.

⌨️Claude Code, scripts & other MCP clientsClaude Code, Skripte & andere MCP-Clients

  1. In CodeB open API keys and create a key (e.g. “Claude Code”). Tick write and sensitive if it should change admin data. Copy the key — it is shown only once.Öffne in CodeB API-Schlüssel und erstelle einen Schlüssel (z. B. „Claude Code“). Setze write und sensitive, wenn er Admin-Daten ändern soll. Kopiere den Schlüssel — er wird nur einmal angezeigt.
  2. Claude Code:Claude Code:
claude mcp add --transport http codeb https://your-pms-host/mcp --header "Authorization: Bearer cbk_…"

Claude Desktop config or any client that only speaks stdio — use the mcp-remote bridge:Claude-Desktop-Konfiguration oder Clients, die nur stdio sprechen — nutze die mcp-remote-Brücke:

{ "mcpServers": { "codeb": { "command": "npx", "args": ["mcp-remote", "https://your-pms-host/mcp", "--header", "Authorization: Bearer cbk_…"] } } }
  • A read-only key works too: Claude can look, but every change is refused.Auch ein Nur-Lesen-Schlüssel funktioniert: Claude kann schauen, aber jede Änderung wird abgelehnt.
  • Quick test: curl -X POST https://…/mcp -H "Authorization: Bearer cbk_…" -H "Content-Type: application/json" -d '{{"jsonrpc":"2.0","id":1,"method":"tools/list"}}'Schnelltest: curl -X POST https://…/mcp -H "Authorization: Bearer cbk_…" -H "Content-Type: application/json" -d '{{"jsonrpc":"2.0","id":1,"method":"tools/list"}}'

💬What you can askWas du fragen kannst

You sayDu sagstClaude usesClaude nutzt
“What properties do we have?”„Welche Objekte haben wir?“list_all_properties, list_local_properties
“Villa Palma now sleeps 10 and has a sauna.”„Villa Palma hat jetzt 10 Schlafplätze und eine Sauna.“get_local_property → update_local_property
“Add a room type ‘Deluxe Twin’ to the Mdina hotel.”„Füge dem Mdina-Hotel den Zimmertyp ‚Deluxe Twin‘ hinzu.“update_local_property (room_types_patch)
“Add these photos to Seafront Marsaxlokk, room ‘Courtyard Room’.”„Füge diese Fotos zu Seafront Marsaxlokk hinzu, Raum ‚Courtyard Room‘.“add_photo
“Make photo 5 the cover.”„Mach Foto 5 zum Titelbild.“list_photos → reorder_photos
“Which texts are on the owners page? Change the German headline.”„Welche Texte stehen auf der Eigentümerseite? Ändere die deutsche Überschrift.“get_theme_editables → set_theme_texts
“Use this picture as the home hero.”„Nimm dieses Bild als Startseiten-Hero.“upload_site_media → set_theme_image
“Show only these 6 photos for Villa Kampanella on the website.”„Zeig auf der Website nur diese 6 Fotos von Villa Kampanella.“set_theme_image (urls)
“Change the phone number shown on the LVI site.”„Ändere die Telefonnummer auf der LVI-Seite.“set_theme_field
“Write a blog post about the Sunday fish market.”„Schreib einen Blogbeitrag über den Sonntags-Fischmarkt.“save_blog_post
“Give me a preview link.”„Gib mir einen Vorschau-Link.“site_preview_link
“Show next week’s reservations for the Mdina hotel.”„Zeig die Reservierungen der nächsten Woche für das Mdina-Hotel.“list_reservations
  • Say which language(s) to change — website texts are per language.Sag, welche Sprache(n) geändert werden sollen — Website-Texte gelten je Sprache.
  • Ask for a preview link before publishing — changes on published sites are live at once.Frag vor dem Veröffentlichen nach einem Vorschau-Link — Änderungen auf veröffentlichten Seiten sind sofort live.
  • Claude reads first, changes only what you asked, and tells you exactly what changed.Claude liest zuerst, ändert nur, worum du gebeten hast, und sagt dir genau, was geändert wurde.

🛡️Access levels & safetyZugriffsstufen & Sicherheit

LevelStufeAllowsErlaubt
ReadReading what the connection may see. Always on.Lesen, was die Verbindung sehen darf. Immer aktiv.
Change things (write)Creating and editing properties, photos, pages, texts, images.Objekte, Fotos, Seiten, Texte und Bilder anlegen und bearbeiten.
Admin areas (sensitive)Local properties, website builder, guest data, financials.Lokale Objekte, Website-Baukasten, Gästedaten, Finanzen.
  • No extra power. Claude works through exactly the same rules as the admin screens — every permission, guard and check applies.Keine Extra-Rechte. Claude arbeitet nach genau denselben Regeln wie die Admin-Oberfläche — jede Berechtigung, Sperre und Prüfung gilt.
  • Never reachable over Claude: passwords and API keys, system and channel settings, backups and restores, e-mail, calls, smart-lock PINs, data wipes, domains — use the admin screens for those.Über Claude nie erreichbar: Passwörter und API-Schlüssel, System- und Kanal-Einstellungen, Backups und Wiederherstellung, E-Mail, Anrufe, Smart-Lock-PINs, Datenlöschungen, Domains — dafür die Admin-Oberfläche nutzen.
  • Secrets stay hidden: door codes, PINs, passwords, Wi-Fi keys, tokens and guest check-in links always show as [redacted].Geheimes bleibt verborgen: Türcodes, PINs, Passwörter, WLAN-Schlüssel, Tokens und Check-in-Links der Gäste erscheinen immer als [redacted].
  • Deleting and publishing are marked as such — Claude asks before using them; deleting a property also needs its exact name.Löschen und Veröffentlichen sind als solche markiert — Claude fragt vorher; zum Löschen eines Objekts braucht es zudem den exakten Namen.
  • Only a signed-in administrator in a browser can approve a connection; every connection is a revocable entry on API keys.Nur ein angemeldeter Administrator im Browser kann eine Verbindung bestätigen; jede Verbindung ist ein widerrufbarer Eintrag unter API-Schlüssel.
  • Built-in rules Claude is given: live system, Malta dates, door-code format, no Instant Booking without your say-so, never change domains.Eingebaute Regeln für Claude: Live-System, Malta-Datumsangaben, Türcode-Format, kein Instant Booking ohne deine Zustimmung, nie Domains ändern.

🧰All 36 toolsAlle 36 Werkzeuge

You never have to name a tool — Claude picks the right one. This list shows what is possible.Du musst nie ein Werkzeug nennen — Claude wählt das richtige. Die Liste zeigt, was möglich ist.

Local properties (owned by CodeB)Lokale Objekte (in CodeB verwaltet)

ToolWerkzeugWhat it doesWas es tut
list_local_properties
readlesen
All local properties with id, type, city, visibility.Alle lokalen Objekte mit ID, Typ, Ort, Sichtbarkeit.
get_local_property
readlesen
Full record: every language, amenities, room types, photos.Vollständiger Datensatz: alle Sprachen, Ausstattung, Zimmertypen, Fotos.
create_local_property
changeändern
New property; hotels with room types.Neues Objekt; Hotels mit Zimmertypen.
update_local_property
changeändern
Change fields; room types merged by id.Felder ändern; Zimmertypen werden per ID zusammengeführt.
delete_local_property
asks firstfragt vorher
Delete (exact name required).Löschen (exakter Name nötig).
list_photos
readlesen
Photos in order with caption and room.Fotos in Reihenfolge mit Beschriftung und Raum.
add_photo
changeändern
Add from a link or file, with room label.Aus Link oder Datei hinzufügen, mit Raum-Label.
update_photo
changeändern
Caption / room label.Beschriftung / Raum-Label.
reorder_photos
changeändern
New order; first is the cover.Neue Reihenfolge; das erste ist das Titelbild.
delete_photo
asks firstfragt vorher
Remove a photo.Foto entfernen.

All properties — website imagesAlle Objekte — Website-Bilder

ToolWerkzeugWhat it doesWas es tut
list_all_properties
readlesen
Every property from all channels and local.Jedes Objekt aus allen Kanälen und lokal.
list_property_media
readlesen
Marketing image library of a property.Marketing-Bildarchiv eines Objekts.
add_property_media
changeändern
Import images from links or upload.Bilder aus Links importieren oder hochladen.
update_property_media
changeändern
Name and alt text per language.Name und Alt-Text je Sprache.
delete_property_media
asks firstfragt vorher
Remove an image.Bild entfernen.

WebsitesWebsites

ToolWerkzeugWhat it doesWas es tut
list_sites
readlesen
All websites.Alle Websites.
get_site
readlesen
One website: summary, pages, posts, theme data.Eine Website: Übersicht, Seiten, Beiträge, Theme-Daten.
update_site
changeändern
Settings: name, brand, menu, footer, SEO, languages.Einstellungen: Name, Marke, Menü, Footer, SEO, Sprachen.
save_site_page
changeändern
Create or replace a page.Seite anlegen oder ersetzen.
delete_site_page
asks firstfragt vorher
Delete a page.Seite löschen.
save_blog_post
changeändern
Create or update a blog post.Blogbeitrag anlegen oder ändern.
publish_site
asks firstfragt vorher
Go live or offline.Online oder offline schalten.
site_preview_link
readlesen
Private preview link.Privater Vorschau-Link.
list_site_media
readlesen
Website media library.Medienarchiv der Website.
upload_site_media
changeändern
Add an image; returns its address.Bild hinzufügen; liefert dessen Adresse.
delete_site_media
asks firstfragt vorher
Remove an image.Bild entfernen.

Theme websites (e.g. LVI)Theme-Websites (z. B. LVI)

ToolWerkzeugWhat it doesWas es tut
get_theme_editables
readlesen
Every editable text (per language), image slot, gallery and field on a page.Jeder bearbeitbare Text (je Sprache), Bildplatz, jede Galerie und jedes Feld einer Seite.
set_theme_texts
changeändern
Change texts per language; empty resets.Texte je Sprache ändern; leer setzt zurück.
set_theme_image
changeändern
Replace an image or set a gallery.Bild ersetzen oder Galerie festlegen.
set_theme_field
changeändern
Names, phone, e-mail, address, socials.Namen, Telefon, E-Mail, Adresse, Social Links.
update_theme_content
changeändern
Advanced: raw theme changes.Fortgeschritten: direkte Theme-Änderungen.

Bookings, discovery & everything elseBuchungen, Übersicht & alles andere

ToolWerkzeugWhat it doesWas es tut
list_reservations
readlesen
Reservations from every channel (Malta dates).Reservierungen aus allen Kanälen (Malta-Datum).
list_promo_codes
readlesen
Direct-booking discount codes.Rabattcodes für Direktbuchungen.
codeb_whoami
readlesen
Which identity and access this connection has.Welche Identität und welcher Zugriff diese Verbindung hat.
codeb_list_endpoints
readlesen
The API routes available to Claude.Die API-Routen, die Claude nutzen kann.
codeb_request
asks firstfragt vorher
Any allowed API call: hotel rates, cleaning rules, promo codes, bookings …Jeder erlaubte API-Aufruf: Hotelpreise, Reinigungsregeln, Rabattcodes, Buchungen …

Data of channel properties (Hostaway, RentalsUnited, Channel, PMS) is edited in that channel; on websites you can override names and photos per site.Daten von Kanal-Objekten (Hostaway, RentalsUnited, Channel, PMS) werden im jeweiligen Kanal bearbeitet; auf Websites lassen sich Namen und Fotos je Seite überschreiben.

🩺Troubleshooting & admin settingsFehlerbehebung & Admin-Einstellungen

MessageMeldungWhat to doWas tun
401 unauthorizedNot connected or expired — reconnect in Claude, or check the key on API keys.Nicht verbunden oder abgelaufen — in Claude neu verbinden oder den Schlüssel unter API-Schlüssel prüfen.
forbidden / 403The connection lacks Change things or Admin areas — reconnect and tick the box.Der Verbindung fehlt Change things oder Admin areas — neu verbinden und Haken setzen.
blocked_for_mcpIntentionally not available to Claude (credentials, configuration, domains …) — use the admin screens.Absichtlich nicht für Claude verfügbar (Zugangsdaten, Konfiguration, Domains …) — Admin-Oberfläche nutzen.
“This form expired”Start the connection again from Claude.Verbindung in Claude erneut starten.
“redirect URI not allowed”The client’s callback host must be added to CODEB_MCP_REDIRECT_HOSTS.Der Callback-Host des Clients muss in CODEB_MCP_REDIRECT_HOSTS eingetragen werden.
504 timed outThe change may still complete — check before retrying.Die Änderung kann noch durchlaufen — vor erneutem Versuch prüfen.

SettingsEinstellungen

SettingEinstellungMeaningBedeutung
CODEB_MCP_TOKEN_DAYSHow long a Claude connection lasts (1–365 days, default 90).Wie lange eine Claude-Verbindung gilt (1–365 Tage, Standard 90).
CODEB_MCP_REDIRECT_HOSTSExtra https hosts allowed to receive the sign-in result (comma-separated, *.example.com for subdomains).Zusätzliche https-Hosts, die das Anmeldeergebnis empfangen dürfen (kommagetrennt, *.example.com für Subdomains).
CODEB_SESSION_SECRETMust be set on the server so sign-ins survive restarts.Muss auf dem Server gesetzt sein, damit Anmeldungen Neustarts überstehen.
  • Technical endpoints: /mcp (MCP, JSON-RPC over HTTP), /.well-known/oauth-protected-resource, /.well-known/oauth-authorization-server, /oauth/register, /oauth/authorize, /oauth/token — OAuth 2.1 with PKCE; listed in /openapi.json.Technische Endpunkte: /mcp (MCP, JSON-RPC über HTTP), /.well-known/oauth-protected-resource, /.well-known/oauth-authorization-server, /oauth/register, /oauth/authorize, /oauth/token — OAuth 2.1 mit PKCE; gelistet in /openapi.json.