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

  • sheetIndex ist nullbasiert.
  • row, numerische column, startRow und 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.

Siehe auch