Kamai MCP

offiziell

Bauplan-Mengenermittlung: PDF-Pläne in Räume, Wände, Türen, Fenster, Flächen und Stückzahlen umwandeln, mit interaktiven Plan- und Mengenansichten.

Was kann man mit Kamai MCP machen?

  • Projekte und Blaupausen durchsuchen — Bitten Sie darum, ein interaktives Panel Ihrer Bauprojekte und deren Blaupausen mit Bereitschaftsstatus über view_projects oder list_blueprints zu sehen.

  • Aufmaßmessungen prüfen — Fordern Sie eine sortierbare Tabelle der gemessenen Mengen (Räume, Wände, Türen, Fenster) aus einer Blaupause mit view_takeoff oder list_elements an.

  • Blaupausenelemente bearbeiten — Weisen Sie das Umbenennen, Neufärben oder Neuordnen von Elementen oder das Erstellen eines Legendenordners über update_elements, move_elements oder create_folder an.

  • Verarbeitete Pläne herunterladen — Erhalten Sie einen temporären PDF-Link einer Blaupause mit hervorgehobenen erkannten Elementen über download_plan.

  • Projekte und Aufträge verwalten — Erstellen oder benennen Sie Projekte um und sehen Sie sich Verarbeitungsaufträge an oder brechen Sie sie ab, über create_project, update_project, list_jobs oder cancel_job.

  • Erweiterte Abfragen ausführen — Mit aktivierten Abfragetools können Sie Elemente nach Kategorie zählen, bestimmte Elemente finden oder Netto-Wandflächen berechnen, mit count_elements, find_elements oder calculate_wall_surface_area.

Gehosteter MCP-Server

npx add-mcp 'https://mcp.kamai.io/mcp'

Installiert in Claude Code, Codex, Cursor und mehr

Dokumentation

kamai-mcp

Kamais MCP-Server: Tools und MCP-Apps-Widgets für Kamai-Bauplan-Projekte, Baupläne und Mengenermittlungen. Er läuft gegen Kamais MCP-API und validiert Zugriffstokens, die von Kamais OAuth-Autorisierungsserver ausgestellt werden. Er enthält keine Kamai-Geheimnisse.

Tools

ToolFunktion
view_projectsInteraktives Panel der Projekte und Baupläne des Benutzers
list_blueprintsBaupläne nach Projekt gruppiert, mit ihren IDs und ob sie bereit sind
view_blueprintEine Bauplanseite mit ihren darauf gezeichneten Mengenermittlungsformen
view_takeoffGemessene Mengenermittlungsmengen als sortierbare Tabelle
list_elementsZeilen pro Element (Räume, Wände, Türen, Fenster, Objekte) mit Umrissen
list_foldersDie Legendenordner eines Bauplans
download_planEin PDF eines verarbeiteten Bauplans mit hervorgehobenen erkannten Elementen, als temporärer Download-Link
update_elements, move_elements, create_folderElemente umbenennen, neu einfärben und neu ablegen; einen Ordner erstellen
set_opening_heightEine vom Benutzer angegebene Höhe oder ein Tür-/Fenster-Tag auf Wandflächen-Öffnungsstücken speichern
create_project, update_projectEin Projekt erstellen oder umbenennen
list_jobs, get_job, cancel_jobVerarbeitungsaufträge eines Projekts
view_uploadUpload-Panel für ein Bauplan-PDF
ingest_blueprint_from_chatEin an eine ChatGPT-Nachricht angehängtes PDF importieren (nur ChatGPT)
open_kamaiDie Kamai-App in einem Panel öffnen

Mit KAMAI_QUERY_TOOLS=on (siehe unten):

ToolFunktion
count_elementsZählungen und Summen nach Kamai-Kategorie (Türen, Fenster, Wände, Nassräume …), gruppiert, in der Datenbank summiert
find_elementsEinzelne Elemente mit Typ, Ordner, Tag, Anschlag und Maßen
calculate_wall_surface_areaNetto-Wandfläche (Farbe oder Putz) von Räumen
render_tableEin Tabellenpanel, dessen Zeilen ihre Elemente auf dem Plan hervorheben
set_scaleDen Zeichnungsmaßstab eines Bauplans festlegen

list_blueprints akzeptiert auch include_inventory (mit einem project_id): was jeder Bauplan enthält.

list_projects, get_project, get_blueprint, request_blueprint_upload, finalize_blueprint_upload und mit den Abfragetools get_table_row_elements und get_element_outlines sind nur für Apps: von den Widgets aufrufbar, nicht dem Modell angezeigt.

Lokal mit Ihrem API-Schlüssel ausführen

Der schnellste Weg, diesen Server gegen Ihre eigenen Kamai-Daten auszuführen, ist der lokale Modus: Der Host startet den Server, kommuniziert über stdio mit ihm, und die Anmeldedaten sind ein persönlicher API-Schlüssel von Kamai (API-Schlüssel in der Kamai-App) statt OAuth.

bun install
bun run build:widgets
KAMAI_API_KEY=... MCP_API_BASE_URL=https://mcp-api.kamai.io bun run local

Claude Code:

claude mcp add --env KAMAI_API_KEY=... --env MCP_API_BASE_URL=https://mcp-api.kamai.io \
  --transport stdio kamai -- bun /path/to/kamai-mcp/src/local.ts

Claude Desktop (claude_desktop_config.json):

{ "mcpServers": { "kamai": {
    "command": "bun", "args": ["/path/to/kamai-mcp/src/local.ts"],
    "env": { "KAMAI_API_KEY": "...", "MCP_API_BASE_URL": "https://mcp-api.kamai.io" } } } }

Der Schlüssel wird als Bearer für jeden API-Aufruf verwendet; die Tools laufen als Eigentümer des Schlüssels. Fügen Sie KAMAI_QUERY_TOOLS=on zur Umgebung hinzu, um die Abfragetools zu nutzen.

Den HTTP-Server ausführen

bun install
cp .env.example .env
bun run dev

Die Werte in .env.example sind Platzhalter: Setzen Sie MCP_PUBLIC_URL und MCP_AUTH_ISSUER auf Ihren Tunnel und auf einen erreichbaren Autorisierungsserver, bevor Sie starten, sonst wird jede Anfrage mit invalid_token abgelehnt.

VariableBedeutung
PORTListen-Port, Standard 8006
MCP_PUBLIC_URLDie URL, die Hosts aufrufen und um ein Token bitten (das resource in der Discovery); ein Tunnel, nicht localhost
MCP_AUTH_ISSUERAussteller der Zugriffstokens, byteweise gegen das iss des Tokens abgeglichen
MCP_AUTH_JWKS_URIOptional. Standard ist {MCP_AUTH_ISSUER}/jwks.json
MCP_API_BASE_URLKamai-MCP-API-Basis-URL, https://mcp-api.kamai.io. Auch die Audience, die ein Zugriffstoken tragen muss
MCP_ACCEPTED_AUDIENCESOptional, durch Kommas getrennte Audiences, für eine Umstellung. Standard ist MCP_API_BASE_URL
KAMAI_API_KEYNur lokaler Modus: der persönliche API-Schlüssel, als den die Tools laufen
KAMAI_APP_ORIGINSOptional, durch Kommas getrennte zusätzliche Ursprünge, die open_kamai einbetten darf; der erste wird der Standard
KAMAI_QUERY_TOOLSon registriert die Abfragetools. https://mcp-api.kamai.io bedient sie; lassen Sie es aus, wenn Sie gegen eine API arbeiten, die /v1/vocabulary mit 404 beantwortet
KAMAI_MCP_NO_INSTRUCTIONS1 lässt die Serveranweisungen weg, wie es claude.ai tut, um die Tool-Beschreibungen allein zu testen

Die MCP-API und der Autorisierungsserver werden von Kamai betrieben, daher benötigt der Betrieb des HTTP-Servers Ende-zu-Ende Zugriff auf beide. Ein MCP-Server ist nur wirklich testbar gegen einen echten Host, und ein Host kann nur eine öffentliche HTTPS-URL erreichen, daher bedeutet HTTP-Modus-Entwicklung, hinter einem Tunnel zu laufen und MCP_PUBLIC_URL darauf zu richten.

bun run dev erstellt zuerst die Widgets: Der Server bedient das erstellte HTML aus dist/widgets/, nicht den React-Quellcode, also neu erstellen, nachdem Sie etwas unter src/widgets/app/ geändert haben.

Die Widgets verwenden React, TypeScript, Vite, Tailwind CSS, DaisyUI und Lucide. Vite erzeugt eine eigenständige HTML-Ressource pro Widget, sodass nichts gehostet werden muss.

Lokale Builds erfordern Bun 1.3.3 und Node.js 22.12 oder neuer.

Layout

src/index.ts       HTTP-Server, OAuth-geschützte Ressourcen-Metadaten, MCP-Transport
src/local.ts       Stdio-Einstiegspunkt für den lokalen Modus (persönlicher API-Schlüssel)
src/auth.ts        Bearer-Token-Überprüfung (RFC 9728-Challenges)
src/server.ts      Tool- und Ressourcenregistrierung
src/api.ts         Client für die Kamai-MCP-API
src/elements.ts    list_elements-Paginierung, Filterung und Ergebnisbudgetierung
src/errors.ts      Der Text, den ein fehlgeschlagener Tool-Aufruf dem Modell zeigt
src/query/         Abfragetools: Beschreibungen, Vokabular, Filter, Budgets, Vertrag
src/widgets/       Widget-Ressourcen, CSP-Metadaten und die React-Widget-Quellen
scripts/           Widget-Build (escaped &, damit Open WebUI die
                   Widgets einbetten kann); check-routes und check-vocabulary gegen eine Live-API
scripts/open-webui/
                   Open-WebUI-Helfer: ein open_kamai-Tool, ein Anzeigemodus-
                   Host-Skript, eine lokale Bridge-Demo

Datenschutz und Support

Mitwirken

Siehe CONTRIBUTING.md. Sicherheitsprobleme gehen an die Adresse in SECURITY.md, nicht an den Issue-Tracker.

Lizenz

Apache-2.0. Urheberrecht 2026 Kamai Enterprises LTD.

Der Kamai-Name und das Logo sind Marken von Kamai Enterprises LTD und werden nicht von der Lizenz abgedeckt.