MCP: workflow_get(format=struktur), workflow_vars, workflow_batch
This commit is contained in:
@@ -2,6 +2,17 @@
|
||||
|
||||
## 2026-07-08 (Listen-Tasks + MCP-Katalog)
|
||||
|
||||
- **MCP: drei weitere Werkzeuge.**
|
||||
- `workflow_get` versteht jetzt `format=struktur` — nur der Task-Baum (Typ, id, assign_to,
|
||||
Verzweigung, output_var) statt der ganzen XML. Bei `bauakte-vergabe-pruefen`: 1.772 statt
|
||||
6.251 Zeichen (−72 %). Standard bleibt `xml`.
|
||||
- `workflow_vars` — Variablen-Landkarte: welche Kontextvariablen erzeugt werden (mit Task und
|
||||
Herkunftsart: `<output_var>`, `<var name>`, `<as>`, Formularfeld, Task-id), welche gelesen
|
||||
werden und welche gelesen werden, **ohne je gesetzt zu sein** (Tippfehler).
|
||||
- `workflow_batch` — mehrere Werkzeuge in einem Aufruf (z. B. `create` + `lint` + `start`).
|
||||
Jede Operation wird einzeln gegen die gewährten Scopes geprüft (ein `read`-Key kann darüber
|
||||
kein `workflow_create` ausführen), Verschachtelung ist verboten, max. 20 Operationen; die
|
||||
Kette bricht standardmäßig beim ersten Fehler ab und meldet die restlichen als übersprungen.
|
||||
- **`pdf_stempel_oben`: Schriftart wählbar.** Neue Parameter `schrift`, `schriftgroesse`,
|
||||
`schriftstil`, `abstand_oben_mm`, `auto_verkleinern`. Neben den FPDF-Kern-Fonts steht
|
||||
`NATIONFD` (*NationalFirstFontDotted*, gepunktet) zur Verfügung — dieselbe Schrift, die
|
||||
|
||||
+23
-2
@@ -14,7 +14,7 @@ Jeder Key traegt eine Auswahl aus drei Scopes; `tools/list` zeigt nur erlaubte T
|
||||
|
||||
| Scope | Tools |
|
||||
|---|---|
|
||||
| `read` | workflow_list, workflow_get, workflow_validate, workflow_instances, workflow_status, workflow_log |
|
||||
| `read` | workflow_list, workflow_get, workflow_validate, workflow_lint, workflow_vars, workflow_instances, workflow_status, workflow_log, task_list, task_doc, task_search, workflow_batch* |
|
||||
| `author` | workflow_create, workflow_update |
|
||||
| `interact` | workflow_start, workflow_interact |
|
||||
|
||||
@@ -23,7 +23,13 @@ Jeder Key traegt eine Auswahl aus drei Scopes; `tools/list` zeigt nur erlaubte T
|
||||
| Tool | Zweck |
|
||||
|---|---|
|
||||
| `workflow_list` | Alle Definitionen (workflows/*.xml) mit ID/Task-Anzahl. |
|
||||
| `workflow_get` | XML-Definition eines Workflows. |
|
||||
| `workflow_get` | Workflow laden. `format=xml` (Standard) oder `format=struktur` — nur der Task-Baum (Typ, id, assign_to, Verzweigung, output_var), rund 70 % weniger Token. |
|
||||
| `workflow_lint` | Statische Prüfung: unbekannte Task-Typen, doppelte ids, fehlende Pflichtparameter, interaktive Tasks ohne `<assign_to>`. |
|
||||
| `workflow_vars` | Variablen-Landkarte: was der Workflow erzeugt, was er liest, und was gelesen wird, ohne je gesetzt zu sein (Tippfehler). |
|
||||
| `workflow_batch` | Mehrere Werkzeuge in **einem** Aufruf (z. B. create + lint + start). Jede Operation wird einzeln gegen die Scopes geprüft; Verschachtelung verboten; max. 20 Operationen; bricht standardmäßig beim ersten Fehler ab. |
|
||||
| `task_list` | Alle Task-Typen mit Einzeiler; `interaktiv=true` = braucht `<assign_to>`. Optional `suche`. |
|
||||
| `task_doc` | Doku zu **mehreren** Task-Typen in einem Aufruf; `format=xml\|kurz\|md`. |
|
||||
| `task_search` | Findet den passenden Task zu einer Aufgabenbeschreibung. |
|
||||
| `workflow_validate` | Workflow-XML auf Wohlgeformtheit + Grundstruktur pruefen. |
|
||||
| `workflow_instances` | Laufende/vergangene Instanzen (filterbar nach status/type/assignee). |
|
||||
| `workflow_status` | Detailstatus einer Instanz (Status, Bearbeiter, Kontext, Tokens). |
|
||||
@@ -57,3 +63,18 @@ Der claude.ai-Connector nutzt **OAuth 2.1** (statische Bearer-Keys funktionieren
|
||||
Discovery/Endpunkte (automatisch genutzt): `/.well-known/oauth-protected-resource`, `/.well-known/oauth-authorization-server`, `/register` (DCR), `/authorize`, `/token`.
|
||||
|
||||
**Fehler „nur die Startseite erscheint" / „invalid_client":** Der Connector wurde mit dem Key als client_id angelegt (ohne Discovery). Connector entfernen und neu hinzufügen — dann registriert sich claude.ai selbst.
|
||||
|
||||
## Token sparen
|
||||
|
||||
Der Server ist darauf ausgelegt, mit wenigen und kleinen Antworten auszukommen:
|
||||
|
||||
1. **Erst suchen, dann lesen.** `task_search` statt `task_list`, wenn nur ein Task gesucht wird.
|
||||
2. **Kleinste ausreichende Stufe.** `task_doc format=xml` liefert nur das Beispiel, `kurz` zusätzlich
|
||||
Zweck und Parametertabelle, `md` die volle Doku.
|
||||
3. **Struktur statt XML.** `workflow_get format=struktur` reicht zum Verstehen; die XML erst zum Ändern.
|
||||
4. **Bündeln.** `workflow_batch` ersetzt mehrere Roundtrips (`create` + `lint` + `start`).
|
||||
5. **Vor dem Start prüfen.** `workflow_lint` und `workflow_vars` fangen Fehler ab, die sonst erst
|
||||
eine gescheiterte Instanz und einen weiteren Roundtrip kosten.
|
||||
|
||||
\* `workflow_batch` selbst hat den Scope `read`, prüft aber **jede** enthaltene Operation gegen die
|
||||
gewährten Scopes — ein `read`-Key kann darüber kein `workflow_create` ausführen.
|
||||
|
||||
Reference in New Issue
Block a user