ooligo
mcp-server

Triage Relativity review-set metadata from Claude via MCP

Difficulty
Profi
Setup time
2-4 hours
For
legal-ops-manager
Legal Ops

Stack

Ein Model Context Protocol (MCP)-Server, der Workspace-, Review-Set- und Saved-Search-Metadaten aus Relativity als Tools innerhalb einer Claude-Konversation verfügbar macht. Legal-Ops-Manager und E-Discovery-Engineers können Claude bitten, aktive Workspaces aufzulisten, Dokumentzahlen eines Review-Sets abzurufen oder die Definition einer gespeicherten Suche zusammenzufassen — ohne die Relativity-Oberfläche zu öffnen oder eine eigene Abfrage zu schreiben. Das Scaffold liegt unter apps/web/public/artifacts/mcp-server-relativity-ediscovery/ und ist bewusst schreibgeschützt: Es werden keine Dokumente abgerufen, keine Kodierungsentscheidungen pro Dokument ausgegeben und keine Schreiboperationen registriert.

Wann verwenden

Greifen Sie auf diesen Server zurück, wenn Ihr Team Relativity einsetzt — entweder RelativityOne in der Cloud oder Relativity Server on-prem — und Sie drei oder mehr wiederkehrende operative Fragen benennen können, die mehrmals wöchentlich eine Navigation durch die Relativity-Oberfläche erfordern. Typische Beispiele: „Wie viele Dokumente befinden sich im Review-Set der Alpha-Sache und wie viel Prozent wurden bereits geprüft?”, „Welche Workspaces sind derzeit aktiv und wie hoch sind ihre Dokumentzahlen?”, „Zeige mir die gespeicherten Suchen im Workspace der Bravo-Sache und wer die Eigentümer sind.” Diese Fragen sind operative Navigation; keine davon erfordert das Lesen eines einzelnen Dokuments oder das Einsehen einer einzelnen Kodierungsentscheidung. Sie sind genau die Art von Arbeit, die sich gut in eine Claude-Konversation komprimieren lässt.

Das wirtschaftliche Argument ist konkret. Ein E-Discovery-Team, das 8 bis 12 aktive Sachen gleichzeitig verwaltet, verbringt einen erheblichen Teil jeder Woche damit, Statuszahlen aus Relativity zu holen: Workspace-Dashboards öffnen, zwischen Sachansichten wechseln, den Fortschritt von Review-Sets prüfen, Definitionen gespeicherter Suchen für bevorstehende Produktionen bestätigen. Eine konservative Schätzung (basierend auf der Struktur der Aufgabe, nicht auf einer kontrollierten Studie) liegt bei 45 Minuten pro Tag für einen Vollzeit-Legal-Ops-Manager in diesem Umfang. Wenn diese Suchen auf 30-Sekunden-Claude-Konversationen komprimiert werden, sinkt der operative Aufwand auf unter 5 Minuten pro Tag. Die zurückgewonnene Zeit fließt in substantielle Koordinationsarbeit: Kommunikation des Prüfungsfortschritts an externe Anwälte, Anpassung von Review-Set-Zuweisungen und Vorbereitung von Produktionsplänen.

Dieser Server ist auch für die Einarbeitung neuer Teammitglieder nützlich. Wenn jemand Neues einem Sachteam beitritt, ist es schneller, Claude zu bitten, die gespeicherten Suchen und Review-Sets des Workspaces aufzulisten, als eine Führung durch die Relativity-Oberfläche zu planen. Das Metadaten-Portrait einer Sache — wie viele Workspaces, welche Review-Sets, was die wichtigsten Suchen sind — wird in einer Claude-Konversation sofort zugänglich.

Wann NICHT verwenden

Überspringen Sie dies, wenn Ihre Sachzahl gering ist — weniger als etwa vier aktive Sachen gleichzeitig — oder wenn die operativen Metadatenabfragen Ihres Teams weniger als etwa fünfzehn pro Woche betragen. Die Einrichtungskosten umfassen: Credential-Provisionierung mit Ihrem Relativity-Administrator, eine Privilegienposturen-Überprüfung mit dem Hausjuristen, eine Sicherheitsüberprüfung des Angriffsvektors des Service-Accounts und den Sandbox-zu-Produktion-Validierungszyklus, der im Sanity-Check-Schritt beschrieben wird. Diese Kosten amortisieren sich bei geringem Abfragevolumen nicht. Verwenden Sie direkt die Relativity-Oberfläche; überdenken Sie dies, wenn Sachzahl oder Abfragefrequenz steigen.

Überspringen Sie dies, wenn Ihr Einsatz durch eine Schutzanordnung geregelt wird, die die Übertragung oder Verarbeitung von Falldaten einschränkt. Relativity-Workspace-Namen, Sachzuweisungen und Review-Set-Namen können selbst Vertraulichkeitsverpflichtungen unterliegen. Bevor Sie diese Metadaten durch eine Claude-Session senden, bestätigen Sie mit dem zuständigen Anwalt, dass der Einsatz mit den geltenden Schutzanordnungen und den von Ihrer Kanzlei oder Ihrem Mandanten eingeführten Datenverarbeitungsprotokollen vereinbar ist.

Überspringen Sie dies, wenn Ihre Relativity-Instanz älter als Relativity Server 2022 ist oder wenn Ihr Tenant die API-Basispfade der REST API nicht validiert hat. Das Scaffold zielt auf die REST-API-Konventionen, die für RelativityOne (2024–2025) dokumentiert sind; ältere On-prem-Pfade weichen ab. Das Ausführen gegen einen nicht validierten Basispfad produziert 404-Fehler oder fehlerhafte Antworten, die in Claude als „keine Daten gefunden” erscheinen — genau der Fehlertyp, der das Vertrauen in MCP-vermittelte Legal-Tooling untergräbt. Bestätigen Sie die Pfade mit Ihrem Relativity-Administrator vor dem ersten Einsatz.

Überspringen Sie dies, wenn Sie noch keine KI-Richtlinie haben, die den Claude-Zugriff auf E-Discovery-Metadaten abdeckt. Die Richtlinie sollte adressieren: welche Sachen im Umfang liegen, wer über MCP abfragen darf und wie Claude-Sessions protokolliert werden. Richten Sie die Richtlinie zuerst ein.

Einrichtung

Die vollständige Einrichtung ist in apps/web/public/artifacts/mcp-server-relativity-ediscovery/README.md dokumentiert. Zusammenfassung:

  1. Klonen Sie das Bundle in ein privates Repository. Führen Sie pip install -e . innerhalb einer Python-3.11+-Virtualenv aus.
  2. Provisionieren Sie Credentials. Für den Produktionseinsatz erstellen Sie einen OAuth2-Client in Relativity (Home → Authentication → OAuth2 Client Manager → New; Flow Grant Type: Client Credentials; Context User: ein Service-Account). Kopieren Sie die Client-ID und das Client-Secret. Für ausschließlich entwicklungsseitigen Einsatz wird Basic-Auth (Benutzername/Passwort) unterstützt, für geteilte Umgebungen aber nicht empfohlen.
  3. Setzen Sie Umgebungsvariablen: RELATIVITY_HOST (Ihre Tenant-URL, z. B. https://your-tenant.relativity.one), RELATIVITY_AUTH_MODE (oauth2 oder basic) und die entsprechenden Credential-Variablen.
  4. Registrieren Sie den Server bei Claude Desktop über das JSON-Snippet im README. Der Server registriert fünf Tools unter relativity-ediscovery.
  5. Führen Sie den Sanity-Check durch: Bitten Sie Claude, Ihre Workspaces aufzulisten. Bestätigen Sie, dass Sie Workspace-Namen und ArtifactIDs ohne Dokumenttext erhalten. Fordern Sie die gespeicherten Suchen in einem bestimmten Workspace an. Bestätigen Sie, dass die Antwort nur Suchnamen und Eigentümer enthält. Wenn Dokumentinhalt erscheint, stoppen Sie und untersuchen Sie, bevor Sie den Zugriff erweitern.

Der Service-Account muss Lesezugriff auf die vorgesehenen Workspaces haben. Provisionieren Sie ihn mit dem engsten Umfang, den der Einsatz benötigt — nicht als Instanz-Admin.

Was es tut

Das Scaffold registriert fünf Tools, alle nur lesend:

list_workspaces — ruft den Workspace-Manager-REST-Endpoint auf (GET /Relativity.Rest/api/relativity-environment/v1/workspace/) und gibt eine paginierte Liste zugänglicher Workspaces mit Namen, ArtifactIDs, Status und Sachzuweisungen zurück. Die ArtifactID ist der Schlüssel, der bei allen nachfolgenden Tool-Aufrufen verwendet wird, um Abfragen auf einen bestimmten Workspace zu beschränken.

get_workspace_summary — ruft den Summary-Helper des Workspace Managers (/summary) für einen einzelnen Workspace auf und gibt Dokumentanzahl und Gesamtdateigröße zurück. Die technische Entscheidung hier ist, den Summary-Endpoint anstatt des vollständigen Workspace-Reads zu verwenden: Der Summary-Endpoint gibt die zwei Zahlen zurück, nach denen Legal-Ops-Manager am häufigsten fragen, ohne Workspace-Konfigurationsfelder zurückzugeben, die für operative Statusabfragen irrelevant sind.

get_review_set_metadata — fragt den Object Manager ab (POST /Relativity.Rest/api/Relativity.ObjectManager/v1/workspace/{id}/object/read) für ein bestimmtes Review-Set-Objekt. Review Sets in Relativity sind Relativity Dynamic Objects (RDOs), deren ArtifactTypeID bei der Installation der Review-Anwendung zugewiesen wird und nicht instanzübergreifend fest ist (im Gegensatz zu Dokumenten, die immer Typ 10 sind). Das Scaffold löst die ArtifactTypeID beim ersten Aufruf durch Abfrage der Objekttyp-Registry auf und speichert sie dann für die Session im Cache. Das Tool gibt Metadaten auf Review-Set-Ebene zurück — Name, Status, Gesamtdokumentanzahl, geprüfte Dokumentanzahl, Reviewer-Zuweisungen — und gibt explizit keine Kodierungswerte pro Dokument aus. Die Antwort enthält ein _note-Feld, das Claude daran erinnert, dass Kodierungsdaten pro Dokument absichtlich fehlen.

get_saved_search_summary — ruft den Keyword Search Manager auf (POST /Relativity.Rest/api/Relativity.Services.Search.ISearchModule/Keyword Search Manager/ReadSingleAsync), um das Saved-Search-Definitions-DTO zurückzugeben: Name, Bedingungen, Feldliste und Eigentümer. Die Bedingungen werden an die Claude-Session zurückgegeben, damit Anwälte bestätigen können, was eine gespeicherte Suche tatsächlich durchsucht — ein häufiger operativer Bedarf, bevor man sich für einen Produktions-Batch auf eine Suche verlässt. Die Bedingungen werden nie in Logs geschrieben (der log_invocation()-Helper in server.py lässt sie aus), weil die Bedingungen einer gespeicherten Suche die rechtliche Prüfungsstrategie offenbaren können.

list_saved_searches — ruft den Query-Endpoint des Keyword Search Managers auf, um eine paginierte Liste gespeicherter Suchen in einem Workspace zurückzugeben. Die Antwort wird auf Namen, ArtifactIDs, Eigentümer und Änderungsdaten reduziert; Bedingungen sind in der Listenantwort nicht enthalten (nur im einzelnen get_saved_search_summary-Aufruf, damit der Anwalt sie explizit anfordert).

Der Dispatch in src/relativity_ediscovery_mcp/server.py enthält null Schreiboperationen. Es gibt keine create_*-, update_*-, delete_*-, code_document- oder Produktionsauslöse-Route. Das Hinzufügen einer solchen erfordert eine explizite Codeänderung.

Kostenrealität

Drei Kostenpunkte, alle real:

Claude-Abonnement. Claude Desktop oder Claude Code mit aktiviertem MCP. Pro für $20/Nutzer/Monat oder Team für $25–30/Nutzer/Monat deckt die meisten Legal-Ops-Team-Setups ab. Ein Team, das 200 operative Metadatenabfragen pro Woche über 10 aktive Sachen ausführt, bleibt komfortabel innerhalb dieser Tarife; Einsätze mit sehr hohem Volumen (z. B. stündliche automatisierte Sachstatus-Berichte) können Max rechtfertigen.

Server-Hosting. Selbst gehosteter Python-Prozess. Lokal pro Nutzer für die Entwicklung ausführen. Für gemeinsame Teamnutzung genügt eine kleine interne VM (1 vCPU / 1 GB RAM reicht für unter 200 Aufrufe/Tag) hinter dem Firmen-VPN für etwa $5–15/Monat bei einem Hyperscaler oder ohne zusätzliche Kosten, wenn Sie bereits interne Infrastruktur haben.

REST-API-Kontingent von Relativity. Relativity begrenzt REST-Clients per Tenant, mit Limits, die je nach Instanzversion und Abonnementtarif variieren. Ein Team, das 200 Abfragen pro Woche im von diesem Server generierten Muster (Einzelobjekt-Reads, keine Massen-Dokumentexporte) ausführt, bleibt gut innerhalb der Standard-Kontingente. Eine Automatisierung, die alle Workspaces stündlich in einer großen Instanz abfragt, wird Rate-Limits erreichen; die TODO-Liste im README markiert Wiederholungen mit exponentiellem Backoff als Pre-Produktionsaufgabe.

Der nicht budgetierte Kostenpunkt ist die Zeit von Anwälten und Administratoren. Planen Sie ein bis drei Stunden für die Überprüfung der Privilegienpostur durch den Hausjuristen vor jedem Produktionseinsatz, ein bis zwei Stunden mit Ihrem Relativity-Administrator zur Validierung der API-Pfade und Provisionierung des Service-Accounts mit dem richtigen Umfang sowie eine wiederkehrende vierteljährliche Überprüfung, da Relativity Updates veröffentlicht, die die API-Oberfläche ändern können.

Fehlermodi

Ablauf des Authentifizierungstokens während einer langen Session. Das Scaffold holt beim Start einmalig einen OAuth2-Token. Token laufen nach etwa einer Stunde ab. Wenn eine Claude-Session länger als eine Stunde dauert und der Token mitten in der Konversation abläuft, geben nachfolgende Tool-Aufrufe 401-Fehler zurück, die in der Claude-Konversation als „Relativity hat einen Fehler zurückgegeben” erscheinen. Guard: TODO #2 im README markiert die OAuth2-Token-Erneuerung als erforderliche Aufgabe vor dem Produktionseinsatz. Bis dahin sollte diese Konfiguration nur für Entwicklungs-Sessions unter einer Stunde verwendet werden.

Fehler bei der ArtifactTypeID-Auflösung für Review-Sets. Review-Sets sind RDOs, deren ArtifactTypeID nicht fest ist; das Scaffold löst sie beim ersten Aufruf durch Abfrage der Objekttyp-Registry nach Namen auf. Wenn die Review-Anwendung im Ziel-Workspace nicht installiert ist oder der Objekttypname in der Konfiguration Ihres Tenants von „Review Set” abweicht, schlägt die Suche mit einer beschreibenden Fehlermeldung fehl. Guard: Die Funktion resolve_review_set_artifact_type_id() in server.py gibt eine klare Fehlermeldung aus, die den gesuchten Objekttyp nennt, sodass der Fehler diagnostizierbar ist. Validieren Sie den Objekttypnamen mit Ihrem Relativity-Administrator vor dem Produktionseinsatz.

Offenlegung von Workspace- oder Sachnamen unter einer Schutzanordnung. Relativity-Workspace-Namen enthalten typischerweise Sachnamen. Diese durch eine Claude-Session zu senden kann Vertraulichkeitsverpflichtungen implizieren, wenn die Sache durch eine Schutzanordnung geregelt wird, die die Übertragung von Fallmetadaten einschränkt. Guard: Bestätigen Sie vor dem Einsatz in einer aktiven Sache mit dem zuständigen Anwalt, dass der Einsatz mit geltenden Schutzanordnungen vereinbar ist. Dies ist der einzige Fehlermodus ohne technische Schutzmaßnahme — er erfordert einen rechtlichen Prüfungsschritt. Das README legt dies explizit im Abschnitt zum Sicherheitsmodell fest.

Protokollierung von Bedingungen gespeicherter Suchen. Eine unvorsichtige Instrumentierung des Servers würde Abfrageparameter einschließlich Suchbedingungen protokollieren, was einen auffindlichen Nachweis der Prüfungsstrategie erzeugen könnte. Guard: Der log_invocation()-Helper in server.py akzeptiert nur Tool-Name und Ergebnisanzahl; die Bedingungszeichenkette wird nie an den Logger übergeben. Das Wiederherstellen der Bedingungsprotokollierung erfordert eine Codeänderung, die gegen die Privilegienrichtlinie überprüft wird.

Antwort-Feldnamen weichen von Ihrer Relativity-Version ab. Die Feldnamen in get_review_set_metadata ("Total Documents", "Reviewed Documents", "Reviewers") folgen gängigen RelativityOne-Feldbenennungskonventionen, sind aber anpassbar und Ihr Tenant verwendet möglicherweise andere Namen. Wenn das Tool leere Feldwerte zurückgibt, sind die Feldnamen für Ihren Tenant falsch. Guard: Validieren Sie die Feldnamen anhand der Feldkonfiguration Ihres Relativity-Administrators, bevor Sie sich auf die Ausgabe des Tools verlassen.

Im Vergleich zu Alternativen

Die nativen Dashboards und Widgets von Relativity. Relativity liefert Sachstatus-Dashboards innerhalb jedes Workspaces. Wählen Sie diese, wenn die Antwort in Relativity bleibt und die fragende Person einen Relativity-Login hat. Wählen Sie diesen MCP-Server, wenn die Antwort in einer Claude-Konversation landen muss, die auch E-Mail-Kontext, Matter-Management-Notizen, Kommunikation mit externen Anwälten oder andere Tools in Ihrem Legal-Ops-Stack umfasst — das heißt, wenn der Wert Claudes Reasoning über mehrere Quellen hinweg ist, nicht nur die Relativity-Navigation.

Benutzerdefinierte Berichte direkt über die REST API von Relativity. Jeder Ingenieur kann ein Python-Script schreiben, das die REST API von Relativity abfragt und einen Statusbericht per E-Mail oder Slack verschickt. Dieser Ansatz eignet sich gut für geplante Berichte in festen Formaten. Wählen Sie den MCP-Server, wenn die Abfragen ad hoc sind — wenn der Anwalt vorher nicht weiß, was er fragen wird, oder wenn die Frage aus einer Konversation entsteht statt aus einer festen Berichtsvorlage. Der MCP-Ansatz verarbeitet Abfragevariabilität; ein festes Script nicht.

Status quo: Anwälte und Legal-Ops-Mitarbeiter navigieren durch die Relativity-Oberfläche. Das ist die ehrliche Ausgangslage. Der MCP-Server gewinnt nur, wenn Sachzahl und Abfragefrequenz hoch genug sind, um die Einrichtungskosten zu amortisieren. Bei weniger als etwa vier aktiven Sachen und fünfzehn operativen Abfragen pro Woche ist der Status quo schneller und birgt weniger Risiken.

Stack

Selbst gehosteter Python-MCP-Server (offizielles mcp-SDK, httpx, pydantic), der auf dem Backend mit der REST API von Relativity kommuniziert; Claude Desktop oder Code auf der Vorderseite. Der server.py-Quellcode liegt unter apps/web/public/artifacts/mcp-server-relativity-ediscovery/src/relativity_ediscovery_mcp/server.py. Das vollständige Bundle mit Installationsanleitung, Umgebungsvariablen-Referenz, Registrierungs-JSON und der nummerierten TODO-Liste für die Produktionsreife liegt unter apps/web/public/artifacts/mcp-server-relativity-ediscovery/README.md.

Files in this artifact

Download all (.zip)