NeuAlles unterschreiben, versiegelt. Jedes PDF direkt im Dokument ausfüllen und unterschreiben, auch Scans, und jedes Exemplar versiegelt.Was neu ist
Entwickler · MCP-Server

KI-Agenten arbeiten in Qasha, in Ihrem Namen.

Qashas MCP-Server gibt KI-Agenten zwölf Tools für Dokumente, Signaturen, Kunden und Rechnungen. Jeder Aufruf läuft als die Person, deren Token der Agent trägt, mit denselben Regeln und Zugriffen wie im Workspace.

Verbinden

Adresse
Ihre Qasha-Adresse, gefolgt von /api/mcp. Sie steht kopierbereit unter „Settings → API tokens & agents“.
Transport
Streamable HTTP. JSON-RPC-2.0-Nachrichten, einzeln oder als Batch, werden per POST gesendet, und die Antworten kommen als JSON zurück.
Authentifizierung
Ein persönliches Token, gesendet als Authorization: Bearer <token>. Siehe persönliche Tokens.
Protokollversionen
2025-06-18 (Standard), 2025-03-26 und 2024-11-05.
Methoden
initialize, ping, tools/list und tools/call.

Mit Claude Code:

Terminal
claude mcp add --transport http qasha \
  https://<your-qasha-address>/api/mcp \
  --header "Authorization: Bearer $QASHA_TOKEN"

Clients, die ihre Server aus einer JSON-Datei lesen, erhalten die Adresse und einen Header. Üblich ist diese Form:

mcp.json
{
  "mcpServers": {
    "qasha": {
      "url": "https://<your-qasha-address>/api/mcp",
      "headers": { "Authorization": "Bearer <your personal token>" }
    }
  }
}

Mit curl ausprobieren

Der Server braucht keine Sitzung, eine einzelne Anfrage genügt, um die Tools zu sehen:

Tools auflisten
curl -s https://<your-qasha-address>/api/mcp \
  -H "Authorization: Bearer $QASHA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Dann rufen Sie eines auf. Jedes Tool antwortet mit einem einzelnen Textelement, das sein Ergebnis als JSON enthält:

Ein Tool aufrufen
curl -s https://<your-qasha-address>/api/mcp \
  -H "Authorization: Bearer $QASHA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"search_documents","arguments":{"status":"sent","limit":5}}}'
Antwort
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [{ "type": "text", "text": "[ { \"id\": \"…\", \"title\": \"Master services agreement\", \"status\": \"sent\", … } ]" }]
  }
}

Tools

Zwölf Tools; der Server beschreibt sie dem Agenten auf Englisch. Fett gedruckte Eingaben sind Pflicht.

ToolWas es tutEingaben
search_documentsFindet Dokumente (Angebote und Verträge), die die Person sehen darf, nach Wörtern im Titel, beim Kunden oder bei den Unterzeichnern, und nach Status.querystatuskindlimit
get_documentEin Dokument vollständig: Text, Unterzeichner und deren Stand, Anhänge und Daten.id
create_documentErstellt den Entwurf eines Angebots oder Vertrags, der der Person gehört. Nichts wird verschickt, bevor send_for_signature aufgerufen wird.titlekindcontentsignerscustomer_id
send_for_signatureSendet einen Entwurf an seine Unterzeichner, in Reihenfolge. Jede Person erhält ihren eigenen Link per E-Mail.id
remind_signersErinnert per E-Mail alle, die mit dem Unterschreiben an der Reihe sind, höchstens einmal am Tag pro Person.id
waiting_for_my_signatureDokumente, die auf die Unterschrift der Person warten, und solche, auf die sie wartet.Keine
review_documentLässt den Assistenten ein Dokument auf riskante Klauseln und versteckte Absichten prüfen und liefert Urteil, Zusammenfassung und Hinweise.id
list_customersKunden (Organisationen und Personen) mit ihren Kontakten.query
list_invoicesRechnungen, mit offenen Beträgen und Status.status
create_invoiceErstellt einen Rechnungsentwurf für einen Kunden. Beträge in Haupteinheiten (etwa Euro, nicht Cent).customer_iditemscurrencydue_datenotes
send_invoiceSendet eine Rechnung per E-Mail an ihren Kunden, mit einem Link zum Ansehen und Bezahlen.id
my_notificationsWas mit den Dokumenten und Rechnungen geschehen ist, die die Person betreffen.Keine
status (Dokumente)
draft, sent, viewed, signed, declined oder void.
status (Rechnungen)
draft, sent, partially_paid, paid, overdue oder void.
kind
quote oder contract.
content
Markdown: ## Überschriften, Absätze, - Listen und **fett**.
signers
Wer unterschreibt, in Reihenfolge: jeweils mit Name und E-Mail, optional mit Reihenfolge und ob die Person intern ist (aus Ihrem Team).
items
Mindestens eine Position, jeweils mit description und unit_amount (in Haupteinheiten), optional mit quantity und tax_percent.

Ein Dokument entwerfen

Ein Agent entwirft mit create_document, und nichts erreicht einen Kunden, bevor er send_for_signature aufruft. Ein so erstellter Entwurf gehört der Person, wie jeder Entwurf, den sie selbst schreibt.

Parameter für tools/call
{
  "name": "create_document",
  "arguments": {
    "title": "Order form: Northwind",
    "kind": "quote",
    "content": "## Services\nImplementation and support, as discussed.\n\n**Total:** $12,000",
    "signers": [
      { "name": "Ada Obi", "email": "ada@northwind.example", "order": 1 },
      { "name": "Sam Reyes", "email": "sam@yourcompany.example", "order": 2, "internal": true }
    ]
  }
}

Was ein Agent darf

  • Nur, was die Person darf. Jedes Tool ist eine gewöhnliche Anfrage der Person, deren Token der Agent trägt, über dieselbe API mit denselben Regeln und Zugriffen; der Agent sieht also ihre Dokumente und Kunden und keine anderen.
  • Erst Entwürfe. Ein Dokument oder eine Rechnung zu erstellen, erzeugt einen Entwurf. Das Versenden ist ein eigenes Tool, das der Agent aufrufen muss.
  • Höfliche Erinnerungen. remind_signers erreicht jede unterzeichnende Person höchstens einmal am Tag.
  • Ihr Modell für Prüfungen. review_document nutzt den Assistenten, den Ihr Workspace eingerichtet hat.
  • Sofort abgeschaltet. Widerrufen Sie das Token, und die nächste Anfrage wird abgelehnt.

Fehler

CodeBedeutung
401Es wurde kein gültiges persönliches Token gesendet. Die Antwort enthält WWW-Authenticate: Bearer.
405Die Anfrage war kein POST. Der Server nimmt nur Streamable-HTTP-POST-Anfragen an.
-32700Der Body ist kein JSON (mit HTTP 400).
-32600Die Nachricht ist keine JSON-RPC-2.0-Anfrage.
-32601Der Server beantwortet diese Methode nicht.
-32602Es gibt kein Tool mit diesem Namen.
isErrorDas Tool lief und schlug fehl, etwa weil die Person dieses Dokument nicht sehen darf. Der Grund steht im Text des Ergebnisses.

Einen Agenten in Qasha arbeiten sehen.

Wir verbinden mit Ihnen einen Agenten mit einem Workspace und zeigen, was er entwerfen, versenden und beantworten kann.