{"serverId":"mcp-registry/com.tamgara/tamgara","tools":[{"name":"add_cover_page","fixed":{"name":"add_cover_page","description":"Stellt einem PDF ein DIN-5008-Adressblatt voran (für den Postversand). recipient = {name,street,zip,city,country}.","inputSchema":{"type":"object","required":["pdfBase64","recipient"],"properties":{"filename":{"type":"string","description":"Dateiname (optional)."},"pdfBase64":{"type":"string","description":"Das PDF (base64)."},"recipient":{"type":"object","required":["name","street","zip","city"],"properties":{"zip":{"type":"string","description":"PLZ."},"city":{"type":"string","description":"Ort."},"name":{"type":"string","description":"Empfängername."},"street":{"type":"string","description":"Straße + Nr."},"country":{"type":"string","description":"ISO-2, z. B. DE/AT/CH."}},"additionalProperties":false},"senderLine":{"type":"string","description":"Einzeilige Rücksendeangabe über dem Adressblock (optional)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":249,"tokensAfter":249},{"name":"brief_cancel","fixed":{"name":"brief_cancel","description":"Storniert einen Brief im 15-Minuten-Fenster von LetterXpress.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Brief-id."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"brief_create_checkout","fixed":{"name":"brief_create_checkout","description":"Startet den bezahlten Briefversand: liefert eine Stripe-Checkout-URL. Der MENSCH bezahlt; danach brief_confirm mit der job_id. (Kein kostenloser Direktversand über die KI.)","inputSchema":{"type":"object","required":["pdfBase64","recipient"],"properties":{"pages":{"type":"integer","description":"Seitenzahl (optional)."},"country":{"type":"string","description":"Zielland: DE | AT | CH."},"filename":{"type":"string","description":"Dateiname (optional)."},"pdfBase64":{"type":"string","description":"Das zu versendende PDF."},"recipient":{"type":"string","description":"Anzeigename des Empfängers (für Beleg)."},"registered":{"type":"boolean","description":"Einwurf-Einschreiben."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":212,"tokensAfter":212},{"name":"brief_ping","fixed":{"name":"brief_ping","description":"Prüft, ob Briefversand (Post via LetterXpress) verfügbar/bezahlt ist.","inputSchema":{"type":"object","required":[],"properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":55,"tokensAfter":55},{"name":"brief_status","fixed":{"name":"brief_status","description":"Status/Tracking eines Briefs per id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Brief-id."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"envelope_create","fixed":{"name":"envelope_create","description":"Sendet ein PDF zur mehrparteiigen elektronischen Signatur (DocuSign-Stil). Liefert die Vorgangs-id, einen ownerKey (geheim halten!) und pro Empfänger einen Signier-Link. fields platzieren Signatur-/Text-/Datum-/Checkbox-Felder per Ratio (0..1, y von oben). Emails an Empfänger nur über den zurückgegebenen ownerKey.","inputSchema":{"type":"object","required":["ownerName","docName","pdfBase64"],"properties":{"fields":{"type":"array","items":{"type":"object","required":["type","recipient","pageIndex","xRatio","yRatio"],"properties":{"type":{"enum":["signature","initials","text","date","checkbox"],"type":"string"},"label":{"type":"string","description":"Feldbeschriftung."},"xRatio":{"type":"number","description":"X-Position 0..1 (Mitte)."},"yRatio":{"type":"number","description":"Y-Position 0..1 von oben (Mitte)."},"pageIndex":{"type":"integer","description":"Seitenindex (0-basiert)."},"recipient":{"type":"integer","description":"Index des Empfängers (0-basiert)."}},"additionalProperties":false},"description":"Feld-Platzierungen."},"docName":{"type":"string","description":"Dokumentname, z. B. \"Mietvertrag.pdf\"."},"message":{"type":"string","description":"Begleitnachricht an die Empfänger (optional)."},"isPublic":{"type":"boolean","description":"Öffentlicher Signier-Link statt fester Empfänger."},"ownerName":{"type":"string","description":"Name des Absenders/Erstellers."},"pdfBase64":{"type":"string","description":"Das zu signierende PDF (z. B. aus fill_template)."},"recipients":{"type":"array","items":{"type":"object","required":["name"],"properties":{"lang":{"type":"string","description":"Sprache der Einladung: de | en."},"name":{"type":"string","description":"Name des Unterzeichners."},"email":{"type":"string","description":"E-Mail (optional; für Einladung)."},"order":{"type":"integer","description":"Reihenfolge (optional)."}},"additionalProperties":false},"description":"Empfänger (bei isPublic leer)."},"expiresDays":{"type":"integer","description":"Ablauf in Tagen (0 = kein Ablauf)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":582,"tokensAfter":582},{"name":"envelope_send_invite","fixed":{"name":"envelope_send_invite","description":"Verschickt (erneut) die Signier-Einladung per E-Mail an einen Empfänger. Nur mit ownerKey.","inputSchema":{"type":"object","required":["id","ownerKey","recipient","email"],"properties":{"id":{"type":"string","description":"Vorgangs-id."},"email":{"type":"string","description":"Ziel-E-Mail."},"ownerKey":{"type":"string","description":"ownerKey."},"recipient":{"type":"integer","description":"Empfänger-Index (0-basiert)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":140},{"name":"envelope_status","fixed":{"name":"envelope_status","description":"Status eines Signier-Vorgangs (wer hat gesehen/unterschrieben) per id + ownerKey.","inputSchema":{"type":"object","required":["id","ownerKey"],"properties":{"id":{"type":"string","description":"Vorgangs-id."},"ownerKey":{"type":"string","description":"Der bei create erhaltene ownerKey."},"withInputs":{"type":"boolean","description":"Eingaben mitliefern."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":120,"tokensAfter":120},{"name":"envelope_upload_final","fixed":{"name":"envelope_upload_final","description":"Lädt das fertige (z. B. lokal signierte) PDF für einen Vorgang hoch. Nur mit ownerKey.","inputSchema":{"type":"object","required":["id","ownerKey","pdfBase64"],"properties":{"id":{"type":"string","description":"Vorgangs-id."},"ownerKey":{"type":"string","description":"ownerKey."},"pdfBase64":{"type":"string","description":"Fertiges PDF."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"fax_countries","fixed":{"name":"fax_countries","description":"Unterstützte Fax-Zielländer + Hinweise zur E.164-Nummer.","inputSchema":{"type":"object","required":[],"properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"fax_create_checkout","fixed":{"name":"fax_create_checkout","description":"Startet den bezahlten Faxversand: liefert eine Stripe-Checkout-URL. Der MENSCH bezahlt über diese URL; danach fax_confirm mit der job_id. (Kein kostenloser Direktversand über die KI.)","inputSchema":{"type":"object","required":["to","pdfBase64"],"properties":{"to":{"type":"string","description":"Zielnummer in E.164, z. B. +4976339202117."},"pages":{"type":"integer","description":"Seitenzahl (optional)."},"filename":{"type":"string","description":"Dateiname (optional)."},"pdfBase64":{"type":"string","description":"Das zu faxende PDF."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":172,"tokensAfter":172},{"name":"fax_ping","fixed":{"name":"fax_ping","description":"Prüft, ob Faxversand verfügbar ist und ob er bezahlt (Stripe) läuft.","inputSchema":{"type":"object","required":[],"properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":55,"tokensAfter":55},{"name":"fax_status","fixed":{"name":"fax_status","description":"Zustellstatus eines Fax (queued/sending/success/failed) per id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Fax-id."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"get_provider","fixed":{"name":"get_provider","description":"Ein Anbieter per id (Kündigungsadresse, Fax, typische Frist).","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Anbieter-id."},"country":{"type":"string","description":"Land: de | at | ch."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":87,"tokensAfter":87},{"name":"get_template","fixed":{"name":"get_template","description":"Details + Feld-Schema einer Vorlage: welche Felder (Name, Typ, Label, Optionen) auszufüllen sind, plus Rechtsraum. Adressierbar per slug ODER per id+lang. Feldnamen sind sprachübergreifend gleich.","inputSchema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"Sprachneutrale Vorlagen-ID (mit lang kombinieren)."},"lang":{"type":"string","description":"Basissprache, wenn per id adressiert."},"slug":{"type":"string","description":"Global eindeutiger Slug (aus search_templates)."},"country":{"type":"string","description":"Land ISO-2 für den passenden Rechtsraum."},"includeBlankPdf":{"type":"boolean","description":"Blanko-PDF als base64 mitliefern."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":210,"tokensAfter":210},{"name":"info","fixed":{"name":"info","description":"Überblick über Tamgara: Anzahl Vorlagen, Sprachen, Rechtsräume.","inputSchema":{"type":"object","required":[],"properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":52,"tokensAfter":52},{"name":"list_categories","fixed":{"name":"list_categories","description":"Vorlagen-Kategorien mit Anzahl (cancellation, sale, rental, …).","inputSchema":{"type":"object","required":[],"properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":55,"tokensAfter":55},{"name":"list_languages","fixed":{"name":"list_languages","description":"Alle unterstützten Basissprachen mit Vorlagen-Anzahl, RTL-Flag und Rechtsräumen.","inputSchema":{"type":"object","required":[],"properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"list_locales","fixed":{"name":"list_locales","description":"Alle Locales (Sprache×Land) mit lokalisierter Rechtsphrase.","inputSchema":{"type":"object","required":[],"properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"list_providers","fixed":{"name":"list_providers","description":"Anbieter für Kündigungen (Kündigungsadresse/Fax/Frist). Länder: de, at, ch. Optional Freitextsuche.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"integer","description":"Max. Treffer (Default 25)."},"query":{"type":"string","description":"Freitext über Name/Aliase (min. 2 Zeichen)."},"country":{"type":"string","description":"Land: \"de\" | \"at\" | \"ch\" (Default de)."},"category":{"type":"string","description":"Anbieter-Kategorie (optional)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":154,"tokensAfter":154},{"name":"search_templates","fixed":{"name":"search_templates","description":"Vorlagen suchen/filtern. Freitext über Titel/Slug/Beschreibung, optional nach Sprache, Land (ISO-2, z. B. \"DE\", \"EG\") und Kategorie. Liefert Slugs zum Weiterverwenden.","inputSchema":{"type":"object","required":[],"properties":{"lang":{"type":"string","description":"Basissprache, z. B. \"de\", \"en\", \"ar\"."},"limit":{"type":"integer","description":"Max. Treffer (1–200, Default 50)."},"query":{"type":"string","description":"Freitext, z. B. \"Kündigung\" oder \"car purchase\"."},"country":{"type":"string","description":"Ländercode ISO-2 groß, z. B. \"DE\", \"AT\", \"EG\"."},"category":{"type":"string","description":"Kategorie aus list_categories."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":205,"tokensAfter":205}],"toolsChanged":21,"tokensSaved":0,"todo":[{"tool":"add_cover_page","params":["recipient"]},{"tool":"fill_pdf","params":["extraText","manualPlacement"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}