MCP-Tool- & Sheet-Referenz
Serveroberfläche
Die lokale Version 0.1 stellt 18 Tools, einen wiederverwendbaren Prompt und lokale Ressourcen bereit. Der Transport ist STDIO; strukturierte Ergebnisse erscheinen als MCP-Text und structuredContent, Screenshots zusätzlich als native Bildblöcke.
Der wiederverwendbare Prompt heißt confbuild-design. Er weist den Client an, zuerst confbuild_start_design_session aufzurufen und den kompletten Erstellen-/Bearbeiten-/Render-Loop durchzuführen.
Tools nach Phase
Orientierung und Prompts
| Tool | Zweck | Schreibend |
|---|---|---|
confbuild_start_design_session |
Verpflichtender erster Aufruf; erkennt Profil, löst optional das Ziel auf und liefert das Prompt-Bundle | Nein |
confbuild_get_prompt_bundle |
Ruft ein Prompt-Bundle unabhängig von einer Design-Session ab | Nein |
confbuild_list_prompt_resources |
Listet Prompt-Ressourcen mit URI, Größe, MIME-Typ und SHA-256 | Nein |
Wichtige Eingaben für confbuild_start_design_session:
{
"request": "Vollständige Nutzeranfrage",
"projectReference": "optionale ID oder URL",
"client": "codex",
"profile": "auto",
"promptDetail": "essential"
}
Zugriff und Projekte
| Tool | Zweck | Schreibend |
|---|---|---|
confbuild_auth_status |
Prüft die normale Benutzeranmeldung, ohne das Secret offenzulegen | Nein |
confbuild_resolve_project_reference |
Löst eine ID oder URL als eigenes privates oder öffentliches Projekt auf | Nein |
confbuild_create_project |
Erstellt ein privates Projekt, optional bereits mit Sheets | Ja |
confbuild_clone_project |
Kopiert ein öffentliches/schreibgeschütztes Projekt privat | Ja |
confbuild_read_project |
Liest Metadaten und hydratisierte Sheets, optional gefiltert | Nein |
confbuild_create_project und confbuild_clone_project unterstützen einen idempotencyKey. Derselbe Schlüssel im selben Nutzerkonto führt bei Wiederholung zur selben deterministischen Projekt-ID.
confbuild_read_project kann Kontext begrenzen:
{
"reference": "PROJEKT_ID",
"sheetNames": ["Main Part", "Frame"],
"maxRowsPerSheet": 500
}
Wenn truncated: true zurückgegeben wird, darf ein Client das betroffene Sheet nicht vollständig ersetzen, bevor er es ohne Begrenzung gelesen hat.
Editieren und Speichern
| Tool | Zweck | Schreibend |
|---|---|---|
confbuild_begin_edit |
Lädt das vollständige Workbook und seine Basisrevision in den Arbeitsspeicher | Nur bei automatischem Klonen |
confbuild_apply_sheet_patch |
Wendet bis zu 1.000 Operationen auf die lokale Arbeitskopie an | Lokal, noch nicht remote |
confbuild_read_edit_workbook |
Liest die aktuelle lokale Arbeitskopie, optional nach Sheet-Namen | Nein |
confbuild_validate_edit |
Prüft Struktur, Marker, IDs, Serialisierung und Größenlimits | Nein |
confbuild_commit_edit |
Speichert atomar mit optimistischem Revisionsschutz | Ja |
confbuild_discard_edit |
Verwirft die lokale Edit-Session; Commits bleiben erhalten | Lokal destruktiv |
confbuild_commit_edit kann zusätzlich Projektfelder ändern:
{
"editSessionId": "edit-…",
"mutationId": "stable-client-mutation-42",
"projectPatch": {
"name": "Portalfräse 800",
"projectType": "machine-component",
"description": "Parametrische Portalfräse",
"metadata": { "source": "mcp-client" }
}
}
Browser und visueller Loop
| Tool | Zweck | Schreibend |
|---|---|---|
confbuild_browser_capabilities |
Meldet CDP-, sichtbare und Headless-Fähigkeiten | Nein |
confbuild_render_project |
Startet einen asynchronen Renderjob für ID/URL oder Edit-Session | Nein |
confbuild_get_render_result |
Liefert Jobstatus, Diagnosen und optional bis zu vier PNGs | Nein |
confbuild_get_render_result unterstützt includeImages: false, wenn zunächst nur Status oder Diagnosen benötigt werden. maxImages liegt zwischen 1 und 4.
Abschluss
| Tool | Zweck |
|---|---|
confbuild_finish_design_session |
Schließt Design-/Edit-Zustand nach finaler Bildprüfung und gibt die Projekt-URL zurück |
Der Abschluss schlägt fehl, wenn die Edit-Session noch ungespeicherte Änderungen enthält oder der angegebene finale Renderjob nicht abgeschlossen ist.
Workbook-Format
Eine Arbeitsmappe ist ein Array von Sheet-Objekten:
[
{
"name": "Main Part",
"visible": true,
"data": [
["INPUTID", "TYP", "VALUE", "VALIDATED", "UNIT", "LABEL", "VISIBLE", "MIN", "MAX", "PARAMS", "ONCLICK", "ONCHANGE"],
["width", "slider", 1000, true, "mm", "Breite", true, 500, 2000, "", "", ""],
["OUTPUTID"],
["#", "type", "width", "height", "depth", "material", "x", "y", "z", "rx", "ry", "rz"],
["body", "cube", "=C2", 600, 400, "#8C30F5", 0, 0, 0, 0, 0, 0]
]
}
]
Die vollständigen Spalten und Geometrieregeln kommen aus dem Prompt-Bundle. Das Schema-Ressource confbuild://schema/workbook beschreibt das kompakte MCP-Format.
Patch-Operationen
| Operation | Erforderliche Felder | Wirkung |
|---|---|---|
replace_workbook |
sheets |
Ersetzt alle Sheets |
upsert_sheet |
sheet |
Fügt ein Sheet anhand seines Namens hinzu oder ersetzt es |
delete_sheet |
sheetName oder sheetIndex |
Entfernt ein Sheet |
rename_sheet |
Sheet-Adresse, newName |
Benennt ein Sheet eindeutig um |
set_sheet_visibility |
Sheet-Adresse, visible |
Blendet ein Sheet ein oder aus |
set_cells |
Sheet-Adresse, cells |
Setzt einzelne Zellen per A1 oder Zeile/Spalte |
replace_rows |
Sheet-Adresse, startRow, rows |
Ersetzt so viele Zeilen, wie übergeben wurden |
insert_rows |
Sheet-Adresse, startRow, rows |
Fügt Zeilen vor der Startposition ein |
delete_rows |
Sheet-Adresse, startRow, count |
Entfernt Zeilen |
Indizierung
sheetIndexist nullbasiert.row, numerischecolumn,startRowund A1-Adressen sind einsbasiert.- Spalten können als Zahl oder Buchstaben angegeben werden.
Zellen setzen
{
"editSessionId": "edit-…",
"operations": [
{
"op": "set_cells",
"sheetName": "Main Part",
"cells": [
{ "a1": "C2", "value": 1200 },
{ "row": 2, "column": "F", "value": "Breite" }
]
}
]
}
Sheet hinzufügen oder ersetzen
{
"op": "upsert_sheet",
"sheet": {
"name": "Frame",
"visible": true,
"data": [["INPUTID"], ["OUTPUTID"]]
}
}
Validierung
Eine Validierung liefert valid, errors, warnings und Statistiken. Harte Fehler umfassen beispielsweise:
- leere Arbeitsmappe;
- leere oder doppelte Sheet-Namen;
- Zeilen, die keine Arrays sind;
- nicht serialisierbare Werte oder nicht endliche Zahlen;
- mehr als 2.000.000 Zellen.
Warnungen umfassen unter anderem einen fehlenden INPUTID-Header, fehlenden OUTPUTID-Marker oder doppelte Output-IDs. Ein Workbook kann trotz Warnungen formal gespeichert werden; der Client muss sie fachlich bewerten.
Persistenz und große Sheets
Kleine Workbooks werden inline im Projekt gespeichert. Ab ungefähr 700 KB serialisierter Sheet-Daten verwendet der Server automatisch generationsspezifische Chunks von ungefähr 240 KB. Manifest und neue Chunks werden atomar geschrieben; alte Projekt-Sheet-Chunks werden danach bereinigt.
Der Client muss diese Speicherung nicht selbst verwalten. Beim Lesen hydratisiert der Server beide Varianten in dasselbe Workbook-Format.
Zustandsdauer
| Zustand | Lebensdauer |
|---|---|
| Design-Session | 6 Stunden Inaktivität |
| Edit-Session | 6 Stunden, bei Zugriff verlängert |
| Renderjob | 24 Stunden |
| Committetes Projekt | Dauerhaft in confBuild/Firebase |
Sessions und Renderjobs leben im Arbeitsspeicher des lokalen MCP-Prozesses. Bei einem Neustart gehen nur diese temporären Zustände verloren; bereits commitete Projekte bleiben erhalten.