ooligo
mcp-server

Ironclad MCP-Server für Claude

Difficulty
Profi
Setup time
120min
For
legal-ops · in-house-counsel · contract-manager · legal-tech-engineer
Legal Ops

Stack

Ein Model Context Protocol (MCP)-Server, der Ironclad als Tool-Oberfläche für Claude freigibt — damit Anwälte und Legal-Ops-Engineers Claude bitten können, einen Workflow nachzuschlagen, das ausgeführte Vertragsrepository zu durchsuchen, einen bestimmten Klauseltyp abzurufen, die Metadaten eines Workflows zusammenzufassen oder einen Datensatz zu annotieren — alles aus einer Claude-Konversation heraus statt aus der Ironclad-UI. Das Gerüst befindet sich unter apps/web/public/artifacts/mcp-server-ironclad-legal/ und ist bewusst read-mostly konzipiert: Entwürfe innerhalb aktiver Workflows sind typischerweise privilegiertes Arbeitsprodukt, daher schneidet der Server Dokumententexte standardmäßig ab und erzwingt einen expliziten zweiten Tool-Aufruf zum Abrufen des vollständigen Textes.

Wann verwenden

Greifen Sie hierauf zurück, wenn Ihr Inhouse-Team bereits auf Ironclad ist und Sie drei oder mehr wiederkehrende Abfragen benennen können, die Anwälte wöchentlich durch mehrfaches Klicken in der Ironclad-UI ausführen — typische Beispiele: „alle aktiven MSAs über $500K auflisten”, „die Schadensersatz-Klausel aus den letzten zwanzig abgeschlossenen Deals abrufen”, „Workflows zeigen, die seit mehr als fünf Geschäftstagen auf die Gegenseite warten”. Diese Abfragen sind mechanisch: Vertragstyp identifizieren, nach einer Eigenschaft filtern, ein Metadatenfeld zurückgeben. Sie sind genau die Form von Arbeit, die sich gut in eine Claude-Tool-Konversation komprimieren lässt.

Das wirtschaftliche Argument: Ein Stage 4 Optimized Legal-Ops-Team, das das Äquivalent von 200 solcher Abfragen pro Woche durchführt, bei etwa vier Minuten pro Abfrage End-to-End (Ironclad öffnen, Suche ausführen, filtern, Ergebnis kopieren, in Mandatsnotizen einfügen), verbringt etwa 13 Stunden pro Woche mit UI-Navigation. Das auf ~30 Sekunden pro Claude-Turn zu komprimieren, bringt die Zeit auf unter zwei Stunden. Die verbleibenden Stunden gehen zurück an die inhaltliche Prüfarbeit — wo die marginale Stunde des Teams tatsächlich knapp ist.

Wann NICHT verwenden

Überspringen Sie dies, wenn das Volumen dieser wiederkehrenden Abfragen Ihres Teams unter etwa zwanzig pro Woche liegt — die Einrichtungskosten (rechtliche Prüfung der Privilege-Position, Sicherheitsüberprüfung des Blast-Radius des Bearer-Tokens und der Sandbox-to-Production-Validierungszyklus) amortisieren sich bei diesem Volumen nicht. Klicken Sie durch die Ironclad-UI; überdenken Sie dies, wenn das Volumen wächst.

Überspringen Sie dies, wenn Ihr Tenant auf einem Tier oder in einer Region ist, dessen öffentliche API-Oberfläche nicht gegen den angenommenen Basispfad des Gerüsts validiert wurde (https://ironcladapp.com/public/api/v1/). Das Gerüst ist zur Laufzeit nicht getestet; das Ausführen gegen eine nicht verifizierte Basis-URL erzeugt 404-Fehler, die sich als „fehlende Daten” in Claude-Konversationen tarnen — genau das Fehlermuster, das das Vertrauen in MCP-vermittelte Legal-Tooling untergräbt.

Überspringen Sie dies, wenn Ihre Mandatsverwaltungsrichtlinie alle Workflow-Inhalte — Entwürfe, Redlines, Audit-Logs, Kommentare — ausnahmslos als privilegiert behandelt. Die standardmäßige Abschneidungsposition des Servers behandelt den Normalfall, aber ein strenges Privilege-Regime benötigt eine zusätzliche Privilege-Tag-Enforcement-Schicht (Punkt 5 auf der TODO-Liste des Bundles), bevor irgendein Deployment, einschließlich Read-Only, erfolgt.

Und schließlich überspringen Sie dies, wenn Sie noch keine KI-Policy für Legal-Teams haben, die den Claude-Zugriff auf Vertragsdaten abdeckt. Richten Sie zuerst die Policy ein; dann diesen Server.

Setup

Das Setup ist detailliert unter apps/web/public/artifacts/mcp-server-ironclad-legal/README.md dokumentiert. Zusammenfassung:

  1. Das Bundle in ein privates Repo klonen. pip install -e . innerhalb des virtualenv des Bundles ausführen.
  2. Einen Ironclad-API-Token in der Admin-Konsole (Admin → API Keys → Create) mit Read-Scope für Workflows, Records und Documents bereitstellen. Add-Comment-Write-Scope nur hinzufügen, wenn add_comment verwendet werden soll. Die zugrundeliegende Service-Account-Rolle eng bereitstellen — das Bearer-Token sieht alles, was diese Rolle sehen kann.
  3. Umgebungsvariablen setzen: IRONCLAD_API_TOKEN, IRONCLAD_TRUNCATE_AT (Standard 4000 Zeichen pro Dokumenttext in Zusammenfassungsantworten), IRONCLAD_DEFAULT_WORKFLOW_TYPES (z.B. msa,nda,sow,dpa).
  4. Beim Claude Desktop über den JSON-Snippet im README registrieren.
  5. Plausibilitätsprüfung, indem Claude gebeten wird, einen bekannten Workflow zu zusammenfassen, dann bestätigen, dass die Antwort nur Metadaten mit _truncated_at-Markierungen auf Textfeldern ist, dann den vollständigen Dokumenttext anfordern und bestätigen, dass er erst nach dem expliziten get_document-Aufruf ankommt.

Der zweistufige Abruf ist der Kern — wenn Schritt 5 einen vollständigen Dokumenttext direkt beim ersten Aufruf zurückgibt, ist der Abschneide-Guard falsch konfiguriert und Sie sollten stoppen und es beheben, bevor Sie den Server jemandem außer dem Engineering-Mitarbeiter zugänglich machen, der ihn eingerichtet hat.

Was er freigibt

Der Server registriert neun Tools, gruppiert nach dem Privilege-Modell:

  • Objekt-Reads (Read-Only): get_workflow, get_record, get_document. Jedes gibt die Metadaten des angeforderten Objekts zurück; nur get_document gibt vollständigen Bodytext zurück, und nur wenn explizit aufgerufen.
  • Suche (Read-Only): search_records (Volltext gegen das ausgeführte Vertragsrepository), list_workflows (gefiltert nach Status und Typ).
  • Legal-Helfer (Read-Only): clauses_by_type gibt extrahierte Klauseln eines bestimmten Typs zurück (z.B. indemnification, liability_cap, termination) aus Workflow-Dokumenten; expiring_contracts gibt Records zurück, die sich einem Renewal- oder Ablaufdatum in einem Fenster nähern.
  • Audit-Klasse (standardmäßig abgeschnitten): summarize_workflow gibt eine nur-Metadaten-Zusammenfassung plus Dokument-IDs und Titel zurück; Dokumenttexte in der Zusammenfassung werden auf IRONCLAD_TRUNCATE_AT Zeichen abgeschnitten mit einem _truncated_at-Marker.
  • Light Writes (privilegiert): add_comment hängt einen Kommentar an einen Record. Der einzige Write-Pfad mit Absicht. Kommentare in Ironclad sind selbst auffindbar — nichts schreiben, was Sie nicht direkt in der Ironclad-UI schreiben würden.

Die Dispatch-Logik mit dem Abschneide-Helfer und dem nur-Metadaten-Audit-Logger befindet sich in apps/web/public/artifacts/mcp-server-ironclad-legal/src/ironclad_legal_mcp/server.py.

Privilege-Modell

Drei konkrete Positionsentscheidungen, jeweils mit einem Schutz im Gerüst:

  1. Read-mostly. Kein delete_*, keine Entwurfsbearbeitungen, keine Workflow-Stadiumsübergänge, keine Unterzeichneränderungen. Der einzige Write-Pfad ist add_comment. Schutz: Der Dispatch in server.py registriert einfach keine Write-Tools jenseits von Kommentaren. Das Hinzufügen eines zustandsändernden Tools erfordert eine explizite Code-Änderung mit einem Privilege-Review.
  2. Standardmäßig abschneiden. summarize_workflow schneidet Dokumenttexte auf IRONCLAD_TRUNCATE_AT (Standard 4000 Zeichen) ab und kennzeichnet die Antwort mit _truncated_at, damit Claude weiß, einen Follow-up-get_document-Aufruf zu stellen, wenn der Nutzer explizit fragt. Schutz: Der truncate_body()-Helfer in server.py ist der einzige Chokepoint; ihn zu erweitern ändert die Privilege-Position für jede Aufrufstelle auf einmal.
  3. Suchabfrage-Metadaten werden nicht persistiert. Der Audit-Logger erfasst Zeitstempel, Nutzer, Tool-Name und Ergebnis-Count — niemals den Abfrage-String selbst. Schutz: Der log_invocation()-Helfer hat keinen query-Parameter; ihn aufzudecken würde eine Code-Änderung erfordern, die gegen die Privilege-Policy geprüft wird.

Zusammen bedeuten diese drei Entscheidungen, dass Claude durch das Vertragsrepository navigieren, die Metadaten aufdecken kann, die ein Anwalt für eine Entscheidung benötigt, und eine Aktion mit einem Kommentar dokumentieren kann — ohne versehentlich privilegiertes Arbeitsprodukt zu exfiltrieren oder einen auffindbaren Datensatz der Prüfprioritäten des Teams zu erstellen. Das Privilege-Modell ist das Produkt; die Tools sind die Oberfläche.

Kostenrealität

Drei tatsächliche Positionen:

  • Claude-Abonnement. Claude Desktop oder Claude Code mit aktiviertem MCP. Pro bei $20/Nutzer/Monat oder Team bei $25–30/Nutzer/Monat deckt die meisten Inhouse-Legal-Team-Setups ab; sehr intensive Nutzer können Max rechtfertigen.
  • Server-Hosting. Selbst gehosteter Python-Prozess. Lokal pro Anwalt für die Entwicklung ausführen, oder auf einer kleinen internen VM (1 vCPU / 1 GB RAM reicht für unter-100-Aufrufe/Tag-Volumen) hinter Ihrem VPN für gemeinsame Nutzung. Etwa $5–20/Monat auf einem Hyperscaler, kostenlos, wenn bereits Kubernetes-Kapazität vorhanden ist.
  • Ironclad API-Kontingent. Ironclad rate-limitiert pro Tenant; ein Team, das 200 Abfragen/Woche durchführt, bleibt weit innerhalb der Standardkontingente, aber ein Team, das eine Automatisierung baut, die das gesamte Repository nächtlich scannt, wird schnell an Limits stoßen. Die TODO-Liste im README des Bundles kennzeichnet Exponential-Backoff-Retries als Pre-Production-Aufgabe — einmal durch das Kontingent brennen, und Sie verstehen warum.

Die nicht budgetierte Position ist die Zeit für die rechtliche Überprüfung. Planen Sie zwei bis vier Stunden Inhouse-Anwaltszeit für die Privilege-Position vor jedem Produktions-Deployment und weitere ein bis zwei Stunden pro Quartal für die erneute Überprüfung, wenn Ironclad Features veröffentlicht, die die API-Oberfläche ändern.

Wie Erfolg aussieht

Drei Zahlen beobachten:

  • UI-Zeit-pro-Abfrage, durch Sampling gemessen: fünf wiederkehrende Abfragen auswählen, die das Team wöchentlich durchführt, in der Ironclad-UI vor dem Rollout zeitnehmen, dieselben fünf über Claude-Konversation nach dem Rollout zeitnehmen, dividieren. Ziel: 5x oder besser. Unter 2x amortisieren sich die Einrichtungskosten nicht.
  • Abschneidungs-Trigger-Rate, im Audit-Log beobachtbar: wie oft folgt ein Anwalt einem summarize_workflow-Aufruf mit einem expliziten get_document? Das richtige Band liegt bei etwa 20–50%. Über 70% bedeutet, dass der Abschneidungsdeckel zu aggressiv ist und Anwälte blockiert werden; unter 10% bedeutet, dass sie Metadaten akzeptieren, die die Frage eigentlich nicht beantworten.
  • Pro Woche hinzugefügte Kommentare. add_comment ist der einzige Write-Pfad, und es ist das einzige Signal, dass ein Anwalt auf das reagiert hat, was Claude aufgedeckt hat. Eine flache oder null Anzahl zwei Monate nach dem Rollout bedeutet, dass das Tool als reines Nachschlage-Convenience verwendet wird, was in Ordnung ist, aber die Privilege-Review-Kosten nicht rechtfertigt.

Vergleich mit Alternativen

Drei reale Möglichkeiten, jeweils mit einem klaren Kompromiss:

  • Ironclads native KI-Funktionen. Ironclad liefert Klausel-Extraktion und KI-Zusammenfassungs-Funktionen innerhalb des Produkts. Diese wählen, wenn Ihr Workflow in Ironclad bleibt und die Antworten zum Datensatz gehören. Diesen MCP-Server wählen, wenn die Antwort in einer Claude-Konversation landen muss, die auch in Mandatsverwaltungsnotizen, Ihre KI-Policy-Leitplanken, den Rest Ihrer Tool-Oberfläche greift — wenn also die Integration mit Claudes Reasoning der Wert ist, nicht die Vertragssuche selbst.
  • Anbieter-Legal-KI (Harvey, EvenUp usw.) Diese Anbieter liefern auf Rechtsdomänen vortrainierte Modelle über ihre eigenen Ingestion-Pipelines. Einen Anbieter wählen, wenn Sie standardmäßig privilegierte Workflows, anwaltsgrades Retrieval-Evaluation und Budget brauchen (mittlere fünfstellige Summen und mehr jährlich). Diesen MCP-Server wählen, wenn Ihre Modellpräferenz Claude ist, Ihre Ingestion Ironclad-nativ ist und Ihr Team klein genug ist, dass die Per-Seat-Preisgestaltung eines Anbieters nicht aufgeht.
  • Status quo: Anwälte klicken durch die Ironclad-UI. Das ist die ehrliche Baseline. Der MCP-Server schlägt sie nur, wenn das Abfragevolumen hoch genug ist, um die Privilege-Review- und Einrichtungskosten zu amortisieren. Unter ~20 Abfragen/Woche pro Anwalt gewinnt der Status quo.

Fallstricke

Das README des Bundles listet die vollständige Liste auf. Drei Fehlerszenarien sind es wert, hier aufgeführt zu werden, jeweils mit dem spezifischen Schutz:

  • Privilege-Leak durch versehentliches Body-Einschließen. Eine naive Implementierung von summarize_workflow würde den Dokumenttext inlinen. Schutz: summarize_workflow leitet jedes body-Feld durch truncate_body(), das bei IRONCLAD_TRUNCATE_AT deckelt und die Antwort mit _truncated_at kennzeichnet. Diesen Helfer zu erweitern erfordert die Bearbeitung eines Helpers, was der einzige Chokepoint ist, den ein Privilege-Reviewer prüfen muss.
  • Suchabfragen-Protokollierung, die Rechtsüberprüfungsstrategie offenbart. Das Protokollieren des Abfragestrings von search_records würde einen auffindbaren Datensatz erstellen, der zeigt, wonach das Team sucht — selbst privilegierte Metadaten. Schutz: log_invocation() akzeptiert nur Tool-Name und Ergebnis-Count; der Abfrage-String wird niemals in Logs geschrieben. Ihn wiederherzustellen erfordert eine Code-Änderung, die gegen die Privilege-Policy geprüft wird.
  • Fehlende OAuth-Aktualisierung des Gerüsts. Das Gerüst verwendet ein statisches Ironclad-Bearer-Token, das nicht granular widerrufen werden kann, wenn ein Anwalt die Kanzlei verlässt. Schutz (offen): Punkt 2 auf der TODO-Liste des Bundles kennzeichnet OAuth-with-Refresh als Pre-Production-Aufgabe. Bis das implementiert ist, den Token bei jedem Personalwechsel rotieren und das Static-Token-Deployment als Development-Only-Position behandeln.

Stack

Selbst gehosteter Python-MCP-Server (das Gerüst verwendet das offizielle mcp-SDK, httpx, pydantic) der mit der Ironclad Public API im Backend kommuniziert; Claude Desktop oder Code auf der Frontend-Seite. Optional: strukturiertes Logging via python-json-logger geleitet zu Ihrem Mandatsverwaltungs-Audit-Trail; Sentry oder OpenTelemetry-Export, mit Abfrage-Strings und Dokumenttexten bereinigt vor der Übertragung.

Files in this artifact

Download all (.zip)