mcpField
M
mcp-server-legifrance

mcp-server-legifrance

ローカル
github.com/rdassignies法務・行政6576 週間前に更新

mcp-server-legifrance について

Legifrance API を通じて、Claude などの互換 LLM からフランスの法令、法典、判例を検索できる実験的な MCP サーバーです。法律調査を行う利用者が、検索結果の分析にモデルを活用する場合を想定しています。

主な機能

  1. 01法律、オルドナンス、デクレなどの法令検索
  2. 02フランスの法典条文の取得
  3. 03司法判例の検索
  4. 04検索フィールドと検索モードによる絞り込み

活用シーン

  1. 01特定の法令や条文番号の調査
  2. 02PACS などの法律テーマに関する要約の作成
  3. 03テーマ別の最新判例の収集と表形式での整理

MCP 対応

本プロジェクトは MCP サーバーであり、法令、法典、判例の検索ツールを Claude Desktop などの MCP 対応クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-server-legifrance

Claude などの互換性のある LLM から、Legifrance API を通じてフランスの法律データベースを照会できる実験的な Model Context Protocol MCP サーバーです。

説明

このプロジェクトは、LLM からフランスの法律リソース(法令、法典、判例)に直接アクセスできる MCP サーバーを実装します。Legifrance のデータをインタラクティブなツール経由で利用可能にし、法律調査を容易にします。

このプロジェクトは、pylegifrance パッケージの作成を受けて開発されました。

MCP とは?

Model Context Protocol(MCP)は、Anthropic が開発した標準化プロトコルです。Claude のような言語モデルが、外部のツールやサービスと構造化された方法でやり取りできるようにします。モデルとサードパーティ API 間のデータ交換と関数実行に共通の枠組みを確立するため、LLM の相互運用性における興味深い進歩です。これまでは、サービスごとに個別の関数呼び出しを開発する必要がありました。

MCP による相互運用性

MCP の重要性は、LLM と外部システムの間に標準化されたインターフェースを作成できることにあります。この標準化には、次のような利点があります。

  1. モジュール式アーキテクチャ:開発者は、プロトコルに対応するさまざまな LLM に簡単に統合できる、専門的なツールを作成できます。

  2. セキュリティの強化:MCP はモデルのアクセスを明示的に定義された機能のみに制限し、セキュリティ上のリスクを軽減します。

  3. メンテナンスの簡素化:外部ツールの更新をモデルとは独立して行えるため、システムの進化が容易になります。

  4. 機能の拡張:LLM はリアルタイムデータにアクセスし、単独では実行できない複雑な処理を実行できます。

mcp-server-legifrance とは?

Claude のような言語モデルの能力を活用し、Légifrance を通じて公式の法律コンテンツを処理することを目指しています。将来的には、RNE、BODACC など、ほかの公的データベースにも対応する予定です。初期の成果は非常に有望で、Légifrance が提供する従来の統計的検索の限界をいくつか補うことができます。サービスは継続的に改善されていますが、以下の検索例をすでにご覧いただけます。

サーバーは次の機能に対応しています。

  • 法令(法律、オルドナンス、デクレ、アレテ)の検索
  • フランス法典の条文の閲覧
  • 司法判例の検索

Legifrance のほかのデータベースにも、近日中に対応する予定です。

独自の MCP サーバーを接続するために Legifrance API に直接アクセスしたい場合は、こちらをご覧ください:https://lab.dassignies.law または linkedin

前提条件

  • Python 3.9+
  • Legifrance の API キー(lab.dassignies.law から取得してください)
  • MCP プロトコルに対応するモデル(Claude desktop など)

インストール

  1. 仮想環境を作成して有効化します。
python -m venv venv 
source venv/bin/activate  # Sur Windows: venv\Scripts\activate
uv venv .venv 
source .venv/bin/activate  # Sur Windows: venv\Scripts\activate
  1. pip でインストールします。
pip install git+https://github.com/rdassignies/mcp-server-legifrance.git
  1. uv でインストールします。
uv pip install git+https://github.com/rdassignies/mcp-server-legifrance.git
  1. プロジェクトのルートに .env ファイルを作成し、認証情報を入力します。
DASSIGNIES_API_KEY=votre_clé_api
DASSIGNIES_API_URL=https://lab.dassignies.law/api/ # ou l'URL correspondante

テスト用 API キーを取得するには、LinkedIn からご連絡ください。

使用方法

Claude との統合

これが最も「簡単」な統合です。

  1. 次の設定ファイルを使用して、MCP サーバーを Claude Desktop に統合します。 このファイルを見つけるには、「設定」>「開発者」>「設定を編集」に移動します(.json 形式の設定ファイルが開きます)。

uv を使用したコマンドラインでの手順もあります。こちらは後日ドキュメント化される予定です。

使用例:

{
  "mcpServers": {
    "legifrance": {
      "command": "<CHEMIN_VERS_VOTRE_REP>/mcp-server-legifrance/venv/bin/python",
            "args": [
                "<CHEMIN_VERS_VOTRE_REP>/mcp-server-legifrance/src/server.py"
		]

    }
  }
}
  1. Claude desktop を起動すると、ツールのアイコンが表示されます: alt text

利用可能なツール

1. rechercher_dans_texte_legal

法令の条文(法律、オルドナンス、デクレ、アレテ)を検索します。

パラメーター:

  • text_id: 法令の識別子(例:「78-17」は情報処理と自由に関する法律)
  • search: キーワードまたは条文番号
  • champ: 検索対象領域("ALL"、"TITLE"、"TABLE"、"NUM_ARTICLE"、"ARTICLE")
  • type_recherche: 検索モード("TOUS_LES_MOTS_DANS_UN_CHAMP"、"EXPRESSION_EXACTE"、"AU_MOINS_UN_MOT")
  • page_size: 結果数(最大 100 件)

詳細については、https://lab.dassignies.law/api/docs を参照してください。

例: 法律 78-17 の第 7 条を検索するには:

{
  "text_id": "78-17",
  "search": "7",
  "champ": "NUM_ARTICLE"
}
2. rechercher_code

フランスの法典の条文を検索します。

例:「PACS の法的制度について要約を作成してください」

image

パラメーター:

  • search: 検索語
  • code_name: 法典名(例:「民法典」、「労働法典」)
  • champ: 検索対象領域
  • sort: 検索結果の並べ替え
  • type_recherche: 検索モード
  • page_size: 結果数
  • fetch_all: すべての結果を取得するかどうか

例: 民法典で PACS に関する情報を検索するため、言語モデルは次のクエリを送信します:

{
  "search": "pacte civil de solidarité",
  "code_name": "Code civil"
}

詳細については、https://lab.dassignies.law/api/docs を参照してください。

3. rechercher_jurisprudence_judiciaire

司法判例データベースを検索します。言語モデルの能力を活用して、Legifrance で判例を直接検索できます。

例 1 特定のテーマに関する最新の判例を概観します(例:「継続的な商取引関係の突然の打ち切りに関する最新の判例を探し、要約表を作成してください」)。

image

例 2 既知の特定の判決(上告番号 23-23.382)をもとに、段階的に分析できます:

  1. 判決を検索し、Claude が判決要旨を作成します
  2. 適用条文を抽出し、Legifrance で検索するよう依頼します
  3. 類似の判例を検索するよう依頼します
  4. など

image

パラメーター:

  • search: 検索語または事件番号
  • publication_bulletin: 判例集に掲載されている場合は ["T"]、掲載されていない場合は ["F"]
  • sort: 検索結果の並べ替え
  • champ: 検索対象領域
  • type_recherche: 検索モード
  • page_size: 結果数
  • fetch_all: すべての結果を取得するかどうか
  • juri_keys: 抽出する応答フィールド
  • juridiction_judiciaire: 裁判所のリスト

詳細については、https://lab.dassignies.law/api/docs を参照してください。

定義済みプロンプト

サーバーには、使いやすくするための定義済みプロンプトを含めることができます。 現時点では、例として 1 つのプロンプトのみ実装されています。特に、deepsearch のような処理や複数の文書からの抽出を行うため、より詳細なプロンプトを設定することもできます。

agent_juridique_expert

次の機能を備えた法律専門家エージェントを作成します。

  • 常に出典を引用します
  • 関連するツールを使用して情報を検索します
  • 段階的な分析を提供します
  • 法令の公式リンクを含めます

使用方法:

# Exemple d'utilisation du prompt prédéfini
response = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1000,
    tools=tools,
    messages=[
        {
            "role": "user", 
            "content": [
                {
                    "type": "tool_use",
                    "id": "prompt_use_1",
                    "name": "legifrance.get_prompt",
                    "input": {
                        "prompt_name": "agent_juridique_expert",
                        "inputs": {
                            "question": "Quelles sont les conditions de validité d'un contrat de mariage?"
                        }
                    }
                }
            ]
        }
    ]
)

制限事項

  • API の制限を遵守するため、リクエストは 1 秒あたり 10 件までです
  • 法律データベースにアクセスするには、インターネット接続が必要です
  • サーバーは結果をキャッシュしないため、リクエストのたびに API に問い合わせます

貢献

貢献を歓迎します!改善や修正があれば、issue を作成するか、プルリクエストを送信してください。

ライセンス

MIT ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。