Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,558Letters: 14Defects: 1,331counted 3 min ago
teppi

Server definition

Hash
sha256:ac3edb56077aca1c02a154c368c2eb99625ff21f5ea0a93ac19efafbdde05fd2
What it is
What a remote MCP server returned when asked what it offers: 33 tools

The blob, as servednamed by its sha256

{ "instructions": "Tamgara: Rechts-PDF-Vorlagen (Kaufvertrag, Kündigung, Vollmacht u. a.) in vielen Sprachen ausfüllen und signieren. Ablauf: search_templates → get_template (Feld-Schema) → fill_template.", "tools": [ { "description": "Guthaben-Konto abfragen (Kostendeckel für kostenpflichtige KI-Calls). Das Konto mit 1 € Startgutschein wird beim ersten kostenpflichtigen Call ausgestellt und dort zurückgegeben — merken und künftig mitschicken. Kostenlose Funktionen brauchen kein Konto.", "inputSchema": { "additionalProperties": false, "properties": { "account_id": { "description": "Bestehendes Konto (optional).", "type": "string" } }, "required": [], "type": "object" }, "name": "account_balance", "outputSchema": null }, { "description": "Guthaben aufladen. Hinweis: Die Zahlung wird gerade eingerichtet — der Aufladewunsch wird vermerkt, aber noch nicht real belastet (die kostenlosen Funktionen bleiben ohnehin frei).", "inputSchema": { "additionalProperties": false, "properties": { "account_id": { "description": "Konto (optional; sonst neu).", "type": "string" }, "amount_cents": { "description": "Wunschbetrag in Cent (optional).", "type": "integer" } }, "required": [], "type": "object" }, "name": "account_topup", "outputSchema": null }, { "description": "Stellt einem PDF ein DIN-5008-Adressblatt voran (für den Postversand). recipient = {name,street,zip,city,country}.", "inputSchema": { "additionalProperties": false, "properties": { "filename": { "description": "Dateiname (optional).", "type": "string" }, "pdfBase64": { "description": "Das PDF (base64).", "type": "string" }, "recipient": { "additionalProperties": false, "properties": { "city": { "description": "Ort.", "type": "string" }, "country": { "description": "ISO-2, z. B. DE/AT/CH.", "type": "string" }, "name": { "description": "Empfängername.", "type": "string" }, "street": { "description": "Straße + Nr.", "type": "string" }, "zip": { "description": "PLZ.", "type": "string" } }, "required": [ "name", "street", "zip", "city" ], "type": "object" }, "senderLine": { "description": "Einzeilige Rücksendeangabe über dem Adressblock (optional).", "type": "string" } }, "required": [ "pdfBase64", "recipient" ], "type": "object" }, "name": "add_cover_page", "outputSchema": null }, { "description": "Befüllt erkannte Felder eines gescannten (nicht-AcroForm-)PDFs: Text auf Schreiblinien, X in Checkboxen — per Ratio-Positionen (z. B. aus einer Feld-Erkennung).", "inputSchema": { "additionalProperties": false, "properties": { "fields": { "description": "Erkannte Felder.", "items": { "additionalProperties": false, "properties": { "id": { "description": "Feld-id (Schlüssel in values).", "type": "string" }, "pageIndex": { "description": "Seitenindex (0-basiert).", "type": "integer" }, "type": { "enum": [ "line", "checkbox", "signature" ], "type": "string" }, "xEndRatio": { "description": "X-Ende 0..1.", "type": "number" }, "xStartRatio": { "description": "X-Start 0..1.", "type": "number" }, "yRatio": { "description": "Y 0..1 von oben (Basislinie/Mitte).", "type": "number" } }, "required": [ "id", "type", "pageIndex", "xStartRatio", "xEndRatio", "yRatio" ], "type": "object" }, "type": "array" }, "filename": { "description": "Dateiname (optional).", "type": "string" }, "lang": { "description": "Sprachhinweis für die Schrift (optional).", "type": "string" }, "pdfBase64": { "description": "Das gescannte PDF (base64).", "type": "string" }, "values": { "additionalProperties": true, "description": "Feld-id → Wert (Text; \"true\" für Checkbox).", "type": "object" } }, "required": [ "pdfBase64", "fields", "values" ], "type": "object" }, "name": "apply_scan_answers", "outputSchema": null }, { "description": "Storniert einen Brief im 15-Minuten-Fenster von LetterXpress.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "Brief-id.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "brief_cancel", "outputSchema": null }, { "description": "Nach Zahlung: Brief einreichen. Braucht die job_id aus brief_create_checkout.", "inputSchema": { "additionalProperties": false, "properties": { "jobId": { "description": "job_id aus brief_create_checkout.", "type": "string" } }, "required": [ "jobId" ], "type": "object" }, "name": "brief_confirm", "outputSchema": null }, { "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": { "additionalProperties": false, "properties": { "country": { "description": "Zielland: DE | AT | CH.", "type": "string" }, "filename": { "description": "Dateiname (optional).", "type": "string" }, "pages": { "description": "Seitenzahl (optional).", "type": "integer" }, "pdfBase64": { "description": "Das zu versendende PDF.", "type": "string" }, "recipient": { "description": "Anzeigename des Empfängers (für Beleg).", "type": "string" }, "registered": { "description": "Einwurf-Einschreiben.", "type": "boolean" } }, "required": [ "pdfBase64", "recipient" ], "type": "object" }, "name": "brief_create_checkout", "outputSchema": null }, { "description": "Prüft, ob Briefversand (Post via LetterXpress) verfügbar/bezahlt ist.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "brief_ping", "outputSchema": null }, { "description": "Preis für einen Postbrief (Standard oder Einschreiben). Länder: DE/AT/CH.", "inputSchema": { "additionalProperties": false, "properties": { "country": { "description": "Zielland: DE | AT | CH (Default DE).", "type": "string" }, "pages": { "description": "Seitenzahl (optional; sonst aus PDF).", "type": "integer" }, "pdfBase64": { "description": "Das zu versendende PDF.", "type": "string" }, "registered": { "description": "Einwurf-Einschreiben statt Standard.", "type": "boolean" } }, "required": [], "type": "object" }, "name": "brief_quote", "outputSchema": null }, { "description": "Status/Tracking eines Briefs per id.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "Brief-id.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "brief_status", "outputSchema": null }, { "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": { "additionalProperties": false, "properties": { "docName": { "description": "Dokumentname, z. B. \"Mietvertrag.pdf\".", "type": "string" }, "expiresDays": { "description": "Ablauf in Tagen (0 = kein Ablauf).", "type": "integer" }, "fields": { "description": "Feld-Platzierungen.", "items": { "additionalProperties": false, "properties": { "label": { "description": "Feldbeschriftung.", "type": "string" }, "pageIndex": { "description": "Seitenindex (0-basiert).", "type": "integer" }, "recipient": { "description": "Index des Empfängers (0-basiert).", "type": "integer" }, "type": { "enum": [ "signature", "initials", "text", "date", "checkbox" ], "type": "string" }, "xRatio": { "description": "X-Position 0..1 (Mitte).", "type": "number" }, "yRatio": { "description": "Y-Position 0..1 von oben (Mitte).", "type": "number" } }, "required": [ "type", "recipient", "pageIndex", "xRatio", "yRatio" ], "type": "object" }, "type": "array" }, "isPublic": { "description": "Öffentlicher Signier-Link statt fester Empfänger.", "type": "boolean" }, "message": { "description": "Begleitnachricht an die Empfänger (optional).", "type": "string" }, "ownerName": { "description": "Name des Absenders/Erstellers.", "type": "string" }, "pdfBase64": { "description": "Das zu signierende PDF (z. B. aus fill_template).", "type": "string" }, "recipients": { "description": "Empfänger (bei isPublic leer).", "items": { "additionalProperties": false, "properties": { "email": { "description": "E-Mail (optional; für Einladung).", "type": "string" }, "lang": { "description": "Sprache der Einladung: de | en.", "type": "string" }, "name": { "description": "Name des Unterzeichners.", "type": "string" }, "order": { "description": "Reihenfolge (optional).", "type": "integer" } }, "required": [ "name" ], "type": "object" }, "type": "array" } }, "required": [ "ownerName", "docName", "pdfBase64" ], "type": "object" }, "name": "envelope_create", "outputSchema": null }, { "description": "Verschickt (erneut) die Signier-Einladung per E-Mail an einen Empfänger. Nur mit ownerKey.", "inputSchema": { "additionalProperties": false, "properties": { "email": { "description": "Ziel-E-Mail.", "type": "string" }, "id": { "description": "Vorgangs-id.", "type": "string" }, "ownerKey": { "description": "ownerKey.", "type": "string" }, "recipient": { "description": "Empfänger-Index (0-basiert).", "type": "integer" } }, "required": [ "id", "ownerKey", "recipient", "email" ], "type": "object" }, "name": "envelope_send_invite", "outputSchema": null }, { "description": "Status eines Signier-Vorgangs (wer hat gesehen/unterschrieben) per id + ownerKey.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "Vorgangs-id.", "type": "string" }, "ownerKey": { "description": "Der bei create erhaltene ownerKey.", "type": "string" }, "withInputs": { "description": "Eingaben mitliefern.", "type": "boolean" } }, "required": [ "id", "ownerKey" ], "type": "object" }, "name": "envelope_status", "outputSchema": null }, { "description": "Lädt das fertige (z. B. lokal signierte) PDF für einen Vorgang hoch. Nur mit ownerKey.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "Vorgangs-id.", "type": "string" }, "ownerKey": { "description": "ownerKey.", "type": "string" }, "pdfBase64": { "description": "Fertiges PDF.", "type": "string" } }, "required": [ "id", "ownerKey", "pdfBase64" ], "type": "object" }, "name": "envelope_upload_final", "outputSchema": null }, { "description": "Storniert/annulliert einen Signier-Vorgang. Nur mit ownerKey.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "Vorgangs-id.", "type": "string" }, "ownerKey": { "description": "ownerKey.", "type": "string" } }, "required": [ "id", "ownerKey" ], "type": "object" }, "name": "envelope_void", "outputSchema": null }, { "description": "Nach erfolgter Zahlung: Fax in die Warteschlange geben. Braucht die job_id aus fax_create_checkout.", "inputSchema": { "additionalProperties": false, "properties": { "jobId": { "description": "job_id aus fax_create_checkout.", "type": "string" } }, "required": [ "jobId" ], "type": "object" }, "name": "fax_confirm", "outputSchema": null }, { "description": "Unterstützte Fax-Zielländer + Hinweise zur E.164-Nummer.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "fax_countries", "outputSchema": null }, { "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": { "additionalProperties": false, "properties": { "filename": { "description": "Dateiname (optional).", "type": "string" }, "pages": { "description": "Seitenzahl (optional).", "type": "integer" }, "pdfBase64": { "description": "Das zu faxende PDF.", "type": "string" }, "to": { "description": "Zielnummer in E.164, z. B. +4976339202117.", "type": "string" } }, "required": [ "to", "pdfBase64" ], "type": "object" }, "name": "fax_create_checkout", "outputSchema": null }, { "description": "Prüft, ob Faxversand verfügbar ist und ob er bezahlt (Stripe) läuft.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "fax_ping", "outputSchema": null }, { "description": "Preis für einen Faxversand. Seitenzahl aus pdfBase64 abgeleitet, wenn nicht angegeben.", "inputSchema": { "additionalProperties": false, "properties": { "pages": { "description": "Seitenzahl (optional; sonst aus PDF).", "type": "integer" }, "pdfBase64": { "description": "Das zu faxende PDF (z. B. aus fill_template).", "type": "string" }, "to": { "description": "Zielnummer E.164 (optional, für Zonenpreis).", "type": "string" } }, "required": [], "type": "object" }, "name": "fax_quote", "outputSchema": null }, { "description": "Zustellstatus eines Fax (queued/sending/success/failed) per id.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "Fax-id.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "fax_status", "outputSchema": null }, { "description": "Ein BELIEBIGES (nicht-Katalog-)PDF ausfüllen und optional signieren → fertiges PDF (base64). answers = Feldname→Wert (aus inspect_pdf). Unterschrift wird in erkannte Signaturfelder gesetzt oder per manualPlacement platziert. lang (optional) wählt die Schrift für nicht-lateinische Eingaben (ar/zh/hi/…).", "inputSchema": { "additionalProperties": false, "properties": { "answers": { "additionalProperties": true, "description": "Feldname → Wert (String/Boolean).", "type": "object" }, "extraText": { "additionalProperties": false, "properties": { "placement": { "additionalProperties": false, "properties": { "pageIndex": { "description": "Seitenindex.", "type": "integer" }, "xRatio": { "description": "X 0..1.", "type": "number" }, "yRatio": { "description": "Y 0..1 von oben.", "type": "number" } }, "required": [], "type": "object" }, "text": { "description": "Zusatztext (z. B. Ort, Datum).", "type": "string" } }, "required": [], "type": "object" }, "filename": { "description": "Dateiname (optional).", "type": "string" }, "lang": { "description": "Sprachhinweis für die Schrift (z. B. ar, zh, hi) — optional.", "type": "string" }, "manualPlacement": { "additionalProperties": false, "properties": { "pageIndex": { "description": "Seitenindex (0-basiert).", "type": "integer" }, "xRatio": { "description": "X 0..1.", "type": "number" }, "yRatio": { "description": "Y 0..1 von oben.", "type": "number" } }, "required": [], "type": "object" }, "pdfBase64": { "description": "Das auszufüllende PDF (base64).", "type": "string" }, "signaturePngDataUrl": { "description": "Unterschrift als PNG data:-URL (optional).", "type": "string" } }, "required": [ "pdfBase64" ], "type": "object" }, "name": "fill_pdf", "outputSchema": null }, { "description": "Vorlage ausfüllen (und optional signieren) → fertiges PDF als base64. answers ist ein Objekt Feldname→Wert (Text/Datum \"TT.MM.JJJJ\" als String, Checkbox true/false, Radio/Dropdown = Option). Feldnamen vorher mit get_template abfragen.", "inputSchema": { "additionalProperties": false, "properties": { "account_id": { "description": "Guthaben-Konto (nur für ai:true). Fehlt es, wird eins mit 1 € Startguthaben ausgestellt und in der Antwort zurückgegeben.", "type": "string" }, "ai": { "description": "KI-Dokumenterstellung nutzen (kostenpflichtig, 0,20 € vom Guthaben; normales Ausfüllen ist kostenlos).", "type": "boolean" }, "answers": { "additionalProperties": true, "description": "Feldname → Wert (String oder Boolean).", "type": "object" }, "country": { "description": "Land ISO-2 für den Rechtsraum-Vermerk (optional).", "type": "string" }, "id": { "description": "Alternativ: sprachneutrale id (mit lang).", "type": "string" }, "lang": { "description": "Basissprache, wenn per id adressiert.", "type": "string" }, "signaturePngDataUrl": { "description": "Unterschrift als PNG data:-URL (optional).", "type": "string" }, "slug": { "description": "Slug der Vorlage.", "type": "string" } }, "required": [], "type": "object" }, "name": "fill_template", "outputSchema": null }, { "description": "Ein Anbieter per id (Kündigungsadresse, Fax, typische Frist).", "inputSchema": { "additionalProperties": false, "properties": { "country": { "description": "Land: de | at | ch.", "type": "string" }, "id": { "description": "Anbieter-id.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "get_provider", "outputSchema": null }, { "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": { "additionalProperties": false, "properties": { "country": { "description": "Land ISO-2 für den passenden Rechtsraum.", "type": "string" }, "id": { "description": "Sprachneutrale Vorlagen-ID (mit lang kombinieren).", "type": "string" }, "includeBlankPdf": { "description": "Blanko-PDF als base64 mitliefern.", "type": "boolean" }, "lang": { "description": "Basissprache, wenn per id adressiert.", "type": "string" }, "slug": { "description": "Global eindeutiger Slug (aus search_templates).", "type": "string" } }, "required": [], "type": "object" }, "name": "get_template", "outputSchema": null }, { "description": "Überblick über Tamgara: Anzahl Vorlagen, Sprachen, Rechtsräume.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "info", "outputSchema": null }, { "description": "Ein BELIEBIGES PDF (base64) analysieren: Seitenzahl/-größen, ausfüllbare Formularfelder (Name, Typ, Label, Optionen), Signaturfelder und Unterschrifts-Positionen. Grundlage zum Ausfüllen fremder PDFs.", "inputSchema": { "additionalProperties": false, "properties": { "pdfBase64": { "description": "Das PDF als base64.", "type": "string" } }, "required": [ "pdfBase64" ], "type": "object" }, "name": "inspect_pdf", "outputSchema": null }, { "description": "Vorlagen-Kategorien mit Anzahl (cancellation, sale, rental, …).", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "list_categories", "outputSchema": null }, { "description": "Alle unterstützten Basissprachen mit Vorlagen-Anzahl, RTL-Flag und Rechtsräumen.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "list_languages", "outputSchema": null }, { "description": "Alle Locales (Sprache×Land) mit lokalisierter Rechtsphrase.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "list_locales", "outputSchema": null }, { "description": "Anbieter für Kündigungen (Kündigungsadresse/Fax/Frist). Länder: de, at, ch. Optional Freitextsuche.", "inputSchema": { "additionalProperties": false, "properties": { "category": { "description": "Anbieter-Kategorie (optional).", "type": "string" }, "country": { "description": "Land: \"de\" | \"at\" | \"ch\" (Default de).", "type": "string" }, "limit": { "description": "Max. Treffer (Default 25).", "type": "integer" }, "query": { "description": "Freitext über Name/Aliase (min. 2 Zeichen).", "type": "string" } }, "required": [], "type": "object" }, "name": "list_providers", "outputSchema": null }, { "description": "Aus einem oder mehreren Bildern (base64 PNG/JPEG) ein PDF bauen — ein Bild pro Seite (Foto/Scan → PDF).", "inputSchema": { "additionalProperties": false, "properties": { "filename": { "description": "Dateiname (optional).", "type": "string" }, "images": { "description": "base64-Bilder (mit oder ohne data:-Präfix).", "items": { "type": "string" }, "type": "array" } }, "required": [ "images" ], "type": "object" }, "name": "pdf_from_images", "outputSchema": null }, { "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": { "additionalProperties": false, "properties": { "category": { "description": "Kategorie aus list_categories.", "type": "string" }, "country": { "description": "Ländercode ISO-2 groß, z. B. \"DE\", \"AT\", \"EG\".", "type": "string" }, "lang": { "description": "Basissprache, z. B. \"de\", \"en\", \"ar\".", "type": "string" }, "limit": { "description": "Max. Treffer (1–200, Default 50).", "type": "integer" }, "query": { "description": "Freitext, z. B. \"Kündigung\" oder \"car purchase\".", "type": "string" } }, "required": [], "type": "object" }, "name": "search_templates", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:ac3edb56077aca1c02a154c368c2eb99625ff21f5ea0a93ac19efafbdde05fd2 | sha256sum