ooligo
mcp-server

Answer Everlaw review-progress questions from Claude via MCP

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

Stack

Everlaw は自社ホスト型の MCP サーバーを提供しています。したがって重要な問いは、案件に Claude をつなぐかどうかではなく、そのサーバーでは何が聞けないままなのか、です。答えはレビュー管理です。アサインメントグループ、コーディングスキーマ、そしてレビューチームがバッチをどこまで進めたのか。apps/web/public/artifacts/mcp-server-everlaw-ediscovery/ にあるスキャフォールドは、この欠落だけを埋めます。

まず公式サーバーから

Everlaw は https://api.everlaw.com/v1/mcp でホスト型 MCP サーバーを公開しています。サーバー名は everlaw-mcp、バージョン 0.1.0、プロトコルリビジョン 2025-11-25 で、2026年7月9日公開の開発者リファレンスに基づきます。RFC 9728 の保護リソースメタデータを広告する標準準拠の OAuth 2.0 認可サーバーであり、準拠クライアントはリソース URL 以外の設定なしで接続できます。すべての操作はサインイン中のユーザーの権限で実行されます。そのユーザーが Everlaw の Web UI で見られないものは、サーバーからも見えません。

登録されるツールは 8 個です。GetProjectsGetProjectBindersGetProjectMetadataFieldsGetProjectProcessedUploadsGetProjectDatasets がプロジェクトを列挙します。PostProjectSearchGetProjectSearchResultDescribeProjectSearchTerm が 24 種類の検索タームで検索を実行し、結果をページングします。ドキュメント単位のメタデータ、テキストのダウンロードリンク、AI 抽出値はオプションで付けられます。

まずこのサーバーをつないでください。ドキュメントを探す用途では、自作するどんなものより優れています。ユーザー単位の権限を継承し、認証情報のプロビジョニングが不要で、保守は Everlaw が行います。

このスキャフォールドが埋める欠落

PostProjectSearch が受け付ける検索タームのうち 2 つは、この 8 個のツールだけでは組み立てられません。ASSIGNEDassignmentGroup.idassignmentIduserId のいずれかを要求します。CODEDlabelId、つまりカテゴリまたはコードの ID を要求します。Everlaw 自身のリファレンスは、これらのタームの説明で読者を GetProjectAssignmentGroupsGetProjectCodesGetProjectUsersGetProjectGroups に案内しますが、4 つとも REST 操作であって、ホスト型サーバーのツールではありません。

実務上の帰結はこうです。ホスト型サーバーだけにつないだエージェントは、Bates 範囲の中で「補償」を含む文書をすべて見つけられますが、二次レビューの秘匿特権バッチが存在することすら伝えられません。まして、そのうちどれだけが未コーディングかは分かりません。レビュー状況の質問は Legal Ops の担当者が日に何度も受けるものであり、まさにホスト型サーバーが届かない領域です。

このスキャフォールドは、その環を閉じるために REST API 上に読み取り専用ツールを 5 つ登録します。list_assignment_groups はグループ、アサインメント数、担当者 ID を返します。list_codes はカテゴリとコードを、排他フラグ付きで返します。review_progress はレビュー済みと未レビューの文書数を、グループ単位の百分率とともに返します。list_search_term_reports はレポート名、所有者、ターム数を返します。resolve_assignee_names はユーザー ID をレビュアー名に変換しますが、既定では無効です。

検索ツール、ドキュメント取得ツール、ドキュメントテキストツールは意図的に登録していません。それらはホスト型サーバーにすでにあり、サインイン中のユーザーの権限で動きます。組織 API キーの下より、そちらのほうが安全な置き場所です。

review_progress が Everlaw の公開しない数値を算出する仕組み

Everlaw にレビュー進捗のエンドポイントはありません。src/everlaw_ediscovery_mcp/server.py の集計は、ASSIGNED タームをグループごとに 2 回、reviewStatus: "REVIEWED""NOT_REVIEWED" で実行し、各レスポンスの numDocs を読むことで得ています。

名指しすべき設計判断は集計の粒度です。スキャフォールドはアサインメント単位ではなく ALL_IN_GROUP 単位、つまりグループあたり 2 回の検索で問い合わせます。PostProjectSearch の呼び出しは毎回、保存検索オブジェクトを実体化させ、それが app.everlaw.com の URL としてプロジェクトの検索履歴に現れます。しかも Everlaw は API が作成できるユーザー可視オブジェクトの数に上限を設けており、超えると 422 を返します。担当者 12 人のグループは、グループ単位なら 2 回、アサインメント単位なら 24 回の検索を要します。誰も求めていない内訳のために、です。

使うべきでない場合

ホスト型サーバーをまだつないでいないなら、見送ってください。案件チームの質問はほぼすべてドキュメントの質問であり、小さいほうのカテゴリを先に片付けるために認証基盤を組むのは順序が逆です。

同時進行の案件が 4 件程度を下回る場合、またはレビュー状況の照会が週 15 件程度に届かない場合も見送ってください。セットアップには 2〜4 時間かかります。組織管理者が API キーを発行し、担当者が必要な 4 つの権限を割り当て、社内法務が組織スコープの認証情報の影響範囲を検討し、README.md の検証 4 ステップを、手作業で数値を確認できるプロジェクトに対して実行する必要があります。取扱量が少なければ元は取れません。Everlaw 自身のダッシュボードを使ってください。

組織管理者に絞り込んだキーを発行してもらえないなら、見送ってください。Everlaw の API キーはユーザーアカウントに紐づかず、組織管理者と同等のアクセスを付与します。制限をかけるのは、そのキーに与えたエンドポイント単位の権限だけです。入手できるのが無制限のキーだけなら、セキュリティレビューは通りませんし、通ってはいけません。

案件データの送信や処理の方法が保護命令に規定されているなら、見送ってください。アサインメントグループ名やコーディングカテゴリは、レビュー戦略そのものを表します。Claude のセッションを経由させる前に法務に確認してください。

障害モードとその防護

組織スコープのキーは案件をまたいで読める。 単一の認証情報が組織内のすべてのプロジェクトに届きます。異なる保護命令下の案件も含めてです。防護: EVERLAW_ALLOWED_PROJECTS に明示的な数値 ID を設定します。README.md の検証ステップ 2 は、リスト外のプロジェクトを要求し、HTTP リクエストを一切出さずに拒否されることを期待します。

403 は設計上あいまい。 Everlaw は、プロジェクトが存在しない場合とアクセス権がない場合とで同一の 403 を返します。プロジェクト ID を列挙できないようにするためです。エージェントはこれを打ち間違いと解釈し、別の ID で再試行します。防護: raise_for_everlaw() が 403 を書き換え、2 つのケースは区別できないこと、数字ではなくキーの権限を確認すべきことを伝えます。

定期ポーリングはオブジェクト上限を食い潰す。 review_progress は呼び出しごとにグループあたり 2 件の保存検索を書き込みます。10 グループを毎時ポーリングすれば 1 日 480 件、上限付きの枠に対して積み上がり、レビューチームが使う検索履歴を汚します。防護: ツールの説明に明記し、README はポーリングループに置くことを禁じ、422 は汎用エラーではなく上限の説明に翻訳されます。

「レビュー済み」の意味はグループごとに違う。 各アサインメントグループは独自のレビュー基準を持つため、百分率はグループ作成者の定義に従い、「コーディング済み」と同義ではありません。同じプロジェクトの 2 つのグループが、同じ数値について食い違うこともあります。防護: review_progress のレスポンスはすべて _note フィールドでその旨を示し、検証ステップ 4 は、どの数値を引用する前にも 1 グループを UI と突き合わせるよう求めます。

レート制限は認証情報ごとに共有される。 Everlaw は認証済みユーザーアカウントあたり毎秒 25 リクエストを課し、超過分には 429 を返します。防護: クライアントは毎秒 8 リクエストに自らを律し、4 並列の同時実行ゲートと指数バックオフを備えます。README は、夜間のエクスポートジョブには専用のキーを与えるよう指示します。

代替案と、それが勝つ場面

ホスト型サーバー単体は、問いがバッチではなくドキュメントに関わる限り勝ちます。無料で、権限を継承し、ベンダーが保守します。このスキャフォールドを足すのは、それが答えられないレビュー状況の質問を具体的に挙げられるようになってからです。

Everlaw 自身の分析機能は、レビュアー単位の生産性レポートで勝ちます。GetProjectAnalyticsSECURITY_READ スコープグループにあり、組織管理者アクセスを要します。スキャフォールドが意図的に除外しているのは、レビュアー単位の活動データが、チャットツールが不用意に答えるべきでない監督上の論点を生むからです。

Relativity 版 は、両プラットフォームを運用しているなら写すべき型です。ただしトレードオフは逆で、Relativity にはホスト型 MCP サーバーがなく、表面のすべてを自分で作ることになります。

Everlaw の課金はシート数ではなくデータ量に基づくため、ここで説明した内容が請求額を動かすことはありません。コストはセットアップの 2〜4 時間と、組織スコープの認証情報を絞り続ける恒常的な義務です。概念的な背景を先に押さえたいなら MCP サーバーと Claude skill の違いeDiscovery を、周辺の道具立てを組むなら eDiscovery スタック が周辺のプラットフォーム選定を扱っています。

Files in this artifact

Download all (.zip)