tamgara
Registry code: b8320c90e7c8b5a5
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.
- endpoint
- https://api.tamgara.com/api/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is tamgara live?
- Yes — it answered the hub's last check (checked 2h ago). It answered 99% of checks over the last 30 days.
- Is tamgara free to use?
- Not measured yet.
- What tools does tamgara have?
- 33 tools: search_templates, get_template, inspect_pdf, fill_pdf, add_cover_page, apply_scan_answers, account_balance, account_topup, ….
- Is tamgara safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99.3%· all time 99.3%
last good check
of 33 tools
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- used for
- fill a legal pdf template
- fill and sign any pdf form
- send a document for e-signature
- send a letter or fax by post
- takes → gives
- text, documents, images → documents, data
- tools
- 16 reads2 changes data3 moves money4 sends messages
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
search_templates unknown never probed
Vorlagen suchen/filtern. Freitext über Titel/Slug/Beschreibung, optional nach Sprache, Land (ISO-2, z. B. "DE", "EG") und Kategorie. Liefert Slugs zum Weiterverwenden.
{ "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 }arguments 27 linesget_template unknown 46d ago
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.
{ "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 }arguments 27 linesinspect_pdf reads unknown never probed
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.
{ "type": "object", "required": [ "pdfBase64" ], "properties": { "pdfBase64": { "type": "string", "description": "Das PDF als base64." } }, "additionalProperties": false }arguments 13 linesfill_pdf reads unknown never probed
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/…).
{ "type": "object", "required": [ "pdfBase64" ], "properties": { "lang": { "type": "string", "description": "Sprachhinweis für die Schrift (z. B. ar, zh, hi) — optional." }, "answers": { "type": "object", "description": "Feldname → Wert (String/Boolean).", "additionalProperties": true }, "filename": { "type": "string", "description": "Dateiname (optional)." }, "extraText": { "type": "object", "required": [], "properties": { "text": { "type": "string", "description": "Zusatztext (z. B. Ort, Datum)." }, "placement": { "type": "object", "required": [], "properties": { "xRatio": { "type": "number", "description": "X 0..1." }, "yRatio": { "type": "number", "description": "Y 0..1 von oben." }, "pageIndex": { "type": "integer", "description": "Seitenindex." } }, "additionalProperties": false } }, "additionalProperties": false }, "pdfBase64": { "type": "string", "description": "Das auszufüllende PDF (base64)." }, "manualPlacement": { "type": "object", "required": [], "properties": { "xRatio": { "type": "number", "description": "X 0..1." }, "yRatio": { "type": "number", "description": "Y 0..1 von oben." }, "pageIndex": { "type": "integer", "description": "Seitenindex (0-basiert)." } }, "additionalProperties": false }, "signaturePngDataUrl": { "type": "string", "description": "Unterschrift als PNG data:-URL (optional)." } }, "additionalProperties": false }arguments 79 linesadd_cover_page reads unknown never probed
Stellt einem PDF ein DIN-5008-Adressblatt voran (für den Postversand). recipient = {name,street,zip,city,country}.
{ "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 }arguments 54 linesapply_scan_answers reads unknown never probed
Befüllt erkannte Felder eines gescannten (nicht-AcroForm-)PDFs: Text auf Schreiblinien, X in Checkboxen — per Ratio-Positionen (z. B. aus einer Feld-Erkennung).
{ "type": "object", "required": [ "pdfBase64", "fields", "values" ], "properties": { "lang": { "type": "string", "description": "Sprachhinweis für die Schrift (optional)." }, "fields": { "type": "array", "items": { "type": "object", "required": [ "id", "type", "pageIndex", "xStartRatio", "xEndRatio", "yRatio" ], "properties": { "id": { "type": "string", "description": "Feld-id (Schlüssel in values)." }, "type": { "enum": [ "line", "checkbox", "signature" ], "type": "string" }, "yRatio": { "type": "number", "description": "Y 0..1 von oben (Basislinie/Mitte)." }, "pageIndex": { "type": "integer", "description": "Seitenindex (0-basiert)." }, "xEndRatio": { "type": "number", "description": "X-Ende 0..1." }, "xStartRatio": { "type": "number", "description": "X-Start 0..1." } }, "additionalProperties": false }, "description": "Erkannte Felder." }, "values": { "type": "object", "description": "Feld-id → Wert (Text; \"true\" für Checkbox).", "additionalProperties": true }, "filename": { "type": "string", "description": "Dateiname (optional)." }, "pdfBase64": { "type": "string", "description": "Das gescannte PDF (base64)." } }, "additionalProperties": false }arguments 74 linesaccount_balance reads unknown never probed
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.
{ "type": "object", "required": [], "properties": { "account_id": { "type": "string", "description": "Bestehendes Konto (optional)." } }, "additionalProperties": false }arguments 11 linesaccount_topup moves money unknown never probed
Guthaben aufladen. Hinweis: Die Zahlung wird gerade eingerichtet — der Aufladewunsch wird vermerkt, aber noch nicht real belastet (die kostenlosen Funktionen bleiben ohnehin frei).
{ "type": "object", "required": [], "properties": { "account_id": { "type": "string", "description": "Konto (optional; sonst neu)." }, "amount_cents": { "type": "integer", "description": "Wunschbetrag in Cent (optional)." } }, "additionalProperties": false }arguments 15 linesbrief_cancel unknown never probed
Storniert einen Brief im 15-Minuten-Fenster von LetterXpress.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Brief-id." } }, "additionalProperties": false }arguments 13 linesget_provider reads unknown never probed
Ein Anbieter per id (Kündigungsadresse, Fax, typische Frist).
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Anbieter-id." }, "country": { "type": "string", "description": "Land: de | at | ch." } }, "additionalProperties": false }arguments 17 linespdf_from_images reads unknown never probed
Aus einem oder mehreren Bildern (base64 PNG/JPEG) ein PDF bauen — ein Bild pro Seite (Foto/Scan → PDF).
{ "type": "object", "required": [ "images" ], "properties": { "images": { "type": "array", "items": { "type": "string" }, "description": "base64-Bilder (mit oder ohne data:-Präfix)." }, "filename": { "type": "string", "description": "Dateiname (optional)." } }, "additionalProperties": false }arguments 20 lineslist_categories reads unknown never probed
Vorlagen-Kategorien mit Anzahl (cancellation, sale, rental, …).
{ "type": "object", "required": [], "properties": {}, "additionalProperties": false }arguments 6 lineslist_providers reads unknown never probed
Anbieter für Kündigungen (Kündigungsadresse/Fax/Frist). Länder: de, at, ch. Optional Freitextsuche.
{ "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 }arguments 23 linesfax_quote reads unknown never probed
Preis für einen Faxversand. Seitenzahl aus pdfBase64 abgeleitet, wenn nicht angegeben.
{ "type": "object", "required": [], "properties": { "to": { "type": "string", "description": "Zielnummer E.164 (optional, für Zonenpreis)." }, "pages": { "type": "integer", "description": "Seitenzahl (optional; sonst aus PDF)." }, "pdfBase64": { "type": "string", "description": "Das zu faxende PDF (z. B. aus fill_template)." } }, "additionalProperties": false }arguments 19 linesfax_create_checkout moves money unknown never probed
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.)
{ "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 }arguments 26 linesfax_status unknown never probed
Zustellstatus eines Fax (queued/sending/success/failed) per id.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Fax-id." } }, "additionalProperties": false }arguments 13 linesbrief_confirm sends messages unknown never probed
Nach Zahlung: Brief einreichen. Braucht die job_id aus brief_create_checkout.
{ "type": "object", "required": [ "jobId" ], "properties": { "jobId": { "type": "string", "description": "job_id aus brief_create_checkout." } }, "additionalProperties": false }arguments 13 linesenvelope_status unknown never probed
Status eines Signier-Vorgangs (wer hat gesehen/unterschrieben) per id + ownerKey.
{ "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 }arguments 22 linesenvelope_void changes data unknown never probed
Storniert/annulliert einen Signier-Vorgang. Nur mit ownerKey.
{ "type": "object", "required": [ "id", "ownerKey" ], "properties": { "id": { "type": "string", "description": "Vorgangs-id." }, "ownerKey": { "type": "string", "description": "ownerKey." } }, "additionalProperties": false }arguments 18 linesenvelope_upload_final changes data unknown never probed
Lädt das fertige (z. B. lokal signierte) PDF für einen Vorgang hoch. Nur mit ownerKey.
{ "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 }arguments 23 linesinfo reads unknown never probed
Überblick über Tamgara: Anzahl Vorlagen, Sprachen, Rechtsräume.
{ "type": "object", "required": [], "properties": {}, "additionalProperties": false }arguments 6 lineslist_languages unknown never probed
Alle unterstützten Basissprachen mit Vorlagen-Anzahl, RTL-Flag und Rechtsräumen.
{ "type": "object", "required": [], "properties": {}, "additionalProperties": false }arguments 6 lineslist_locales reads unknown never probed
Alle Locales (Sprache×Land) mit lokalisierter Rechtsphrase.
{ "type": "object", "required": [], "properties": {}, "additionalProperties": false }arguments 6 linesfill_template reads unknown never probed
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.
{ "type": "object", "required": [], "properties": { "ai": { "type": "boolean", "description": "KI-Dokumenterstellung nutzen (kostenpflichtig, 0,20 € vom Guthaben; normales Ausfüllen ist kostenlos)." }, "id": { "type": "string", "description": "Alternativ: sprachneutrale id (mit lang)." }, "lang": { "type": "string", "description": "Basissprache, wenn per id adressiert." }, "slug": { "type": "string", "description": "Slug der Vorlage." }, "answers": { "type": "object", "description": "Feldname → Wert (String oder Boolean).", "additionalProperties": true }, "country": { "type": "string", "description": "Land ISO-2 für den Rechtsraum-Vermerk (optional)." }, "account_id": { "type": "string", "description": "Guthaben-Konto (nur für ai:true). Fehlt es, wird eins mit 1 € Startguthaben ausgestellt und in der Antwort zurückgegeben." }, "signaturePngDataUrl": { "type": "string", "description": "Unterschrift als PNG data:-URL (optional)." } }, "additionalProperties": false }arguments 40 linesfax_countries unknown never probed
Unterstützte Fax-Zielländer + Hinweise zur E.164-Nummer.
{ "type": "object", "required": [], "properties": {}, "additionalProperties": false }arguments 6 linesfax_ping reads unknown never probed
Prüft, ob Faxversand verfügbar ist und ob er bezahlt (Stripe) läuft.
{ "type": "object", "required": [], "properties": {}, "additionalProperties": false }arguments 6 linesfax_confirm sends messages unknown never probed
Nach erfolgter Zahlung: Fax in die Warteschlange geben. Braucht die job_id aus fax_create_checkout.
{ "type": "object", "required": [ "jobId" ], "properties": { "jobId": { "type": "string", "description": "job_id aus fax_create_checkout." } }, "additionalProperties": false }arguments 13 linesenvelope_send_invite sends messages unknown never probed
Verschickt (erneut) die Signier-Einladung per E-Mail an einen Empfänger. Nur mit ownerKey.
{ "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 }arguments 28 linesbrief_ping reads unknown never probed
Prüft, ob Briefversand (Post via LetterXpress) verfügbar/bezahlt ist.
{ "type": "object", "required": [], "properties": {}, "additionalProperties": false }arguments 6 linesbrief_quote unknown never probed
Preis für einen Postbrief (Standard oder Einschreiben). Länder: DE/AT/CH.
{ "type": "object", "required": [], "properties": { "pages": { "type": "integer", "description": "Seitenzahl (optional; sonst aus PDF)." }, "country": { "type": "string", "description": "Zielland: DE | AT | CH (Default DE)." }, "pdfBase64": { "type": "string", "description": "Das zu versendende PDF." }, "registered": { "type": "boolean", "description": "Einwurf-Einschreiben statt Standard." } }, "additionalProperties": false }arguments 23 linesbrief_create_checkout moves money unknown never probed
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.)
{ "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 }arguments 34 linesbrief_status reads unknown never probed
Status/Tracking eines Briefs per id.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Brief-id." } }, "additionalProperties": false }arguments 13 linesenvelope_create sends messages unknown never probed
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.
{ "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 }arguments 111 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idb8320c90e7c8b5a5.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/b8320c90e7c8b5a5/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/b8320c90e7c8b5a5?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.