m

mcp-server-legifrance

@pylegifrance/mcp-server-legifrance
0 Stars 159 次浏览 pylegifrance 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "legifrance": {
      "args": [
        "\u003cCHEMIN_VERS_VOTRE_REP\u003e/mcp-server-legifrance/src/server.py"
      ],
      "command": "\u003cCHEMIN_VERS_VOTRE_REP\u003e/mcp-server-legifrance/venv/bin/python"
    }
  }
}

服务介绍

mcp-server-legifrance

Serveur MCP Model Context Protocol exprimental permettant d'interroger les bases juridiques franaises via l'API Legifrance dans des LLMs compatibles comme Claude.

Description

Ce projet implmente un serveur MCP qui permet d'accder aux ressources juridiques franaises (textes lgaux, codes, jurisprudence) directement depuis un Large Language Model. Il facilite les recherches juridiques en rendant les donnes de Legifrance accessibles via des outils interactifs.

Il faut suite la cration du package pylegifrance.

Qu'est-ce que le MCP ?

Le Model Context Protocol (MCP) est un protocole standardis dvelopp par Anthropic qui permet aux modles de langage comme Claude d'interagir de manire structure avec des outils et services externes. Il s'agit d'une avance intressante dans l'interoprabilit des LLMs car il tablit un cadre commun pour l'change de donnes et l'excution de fonctions entre les modles et les API tierces. Jusqu' maintenant, il fallait dvelopper, pour chaque service, des appels de fonctions spcifiques.

L'interoprabilit via MCP

L'importance du MCP rside dans sa capacit crer une interface standardise entre les LLMs et les systmes externes. Cette standardisation prsente plusieurs avantages :

  1. Architecture modulaire : Les dveloppeurs peuvent crer des outils spcialiss qui sont facilement intgrables diffrents LLMs compatibles avec le protocole.

  2. Scurit accrue : Le MCP limite l'accs des modles aux seules fonctionnalits explicitement dfinies, rduisant ainsi les risques de scurit.

  3. Maintenance simplifie : Les mises jour des outils externes peuvent tre faites indpendamment du modle, facilitant l'volution des systmes.

  4. Extension des capacits : Les LLMs peuvent accder des donnes en temps rel et excuter des oprations complexes qu'ils ne pourraient pas raliser seuls.

mcp-server-legifrance ?

Lide est dexploiter la puissance des modles de langage comme Claude pour effectuer des traitements sur des contenus juridiques officiels via Lgifrance, et terme, dautres bases de donnes publiques comme le RNE, le BODACC, etc. Les premiers rsultats sont trs prometteurs et permettent de pallier certaines limites de la recherche statistique classique propose par Lgifrance. Le service est en amlioration continue, mais vous pouvez dj consulter quelques exemples de recherches ci-dessous.

Le serveur prend en charge les fonctionnalits suivantes:

  • Recherche dans les textes lgaux (lois, ordonnances, dcrets, arrts)
  • Consultation des articles de codes juridiques franais
  • Recherche dans la jurisprudence judiciaire

Les autres fonds Legifrance seront bientt implments.

Si vous souhaitez accder directement l'API Legifrance pour connecter votre propre serveur MCP,
c'est par ici : https://lab.dassignies.law ou linkedin

Prrequis

  • Python 3.9+
  • Cl API pour Legifrance ( obtenir auprs de lab.dassignies.law)
  • Un modle compatible avec le protocole MCP (comme Claude desktop)

Installation

  1. Crez un environnement virtuel et activez-le:
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. Installer via pip:
pip install git+https://github.com/rdassignies/mcp-server-legifrance.git
  1. Installer via uv
uv pip install git+https://github.com/rdassignies/mcp-server-legifrance.git
  1. Crez un fichier .env la racine du projet avec vos identifiants:
DASSIGNIES_API_KEY=votre_cl_api
DASSIGNIES_API_URL=https://lab.dassignies.law/api/ # ou l'URL correspondante

Pour obtenir vos cls API de test, merci de me contacter via LinkedIn

Utilisation

Intgration avec Claude

C'est l'intgration la plus "simple".

  1. Utilisez le fichier de configuration suivant pour intgrer le serveur MCP dans Claude Desktop.
    Pour trouver ce fichier, il faut aller dans paramtres>Dveloppeur>modifier la configuration (renvoie vers le fichier de configuration au format .json).

Il existe galement une procdure la ligne de commande via uv qui sera documente ultrieurement.

Voici un exemple d'utilisation:

{
  "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. Dmarrer Claude desktop, vous devez voir apparatre des icnes outils :
    alt text

Outils disponibles

Recherche des articles dans les textes lgaux (lois, ordonnances, dcrets, arrts).

Paramtres:

  • text_id: Identifiant du texte (ex: "78-17" pour la loi informatique et liberts)
  • search: Mots-cls ou numro d'article
  • champ: Zone de recherche ("ALL", "TITLE", "TABLE", "NUM_ARTICLE", "ARTICLE")
  • type_recherche: Mode de recherche ("TOUS_LES_MOTS_DANS_UN_CHAMP", "EXPRESSION_EXACTE", "AU_MOINS_UN_MOT")
  • page_size: Nombre de rsultats (max 100)

Pour les dtails, cf https://lab.dassignies.law/api/docs

Exemple:
Pour rechercher l'article 7 de la loi 78-17:

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

2. rechercher_code

Recherche des articles dans les codes juridiques franais.

Par ex. "Rdige moi une synthse sur le rgime juridique du PACS"

Paramtres:

  • search: Termes de recherche
  • code_name: Nom du code (ex: "Code civil", "Code du travail")
  • champ: Zone de recherche
  • sort: Tri des rsultats
  • type_recherche: Mode de recherche
  • page_size: Nombre de rsultats
  • fetch_all: Si tous les rsultats doivent tre rcuprs

Exemple:
Pour rechercher des informations sur le PACS dans le Code civil, le modle de langage va envoyer la requte suivante :

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

Pour les dtails, cf https://lab.dassignies.law/api/docs

3. rechercher_jurisprudence_judiciaire

Recherche dans la base de jurisprudence judiciaire. On peut utiliser la puissance des modles de langage pour faire des recherches de jurisprudences directement dans Legifrance.

Exemple 1 Panorama des dernires jp sur un thme particulier (ex. "Trouve moi les dernires jp sur la rupture brutale des relations commerciales tablies et rdige moi un tableau de synthse" ).

Exemple 2 A partir d'une dcision particulire connu (numro de pourvoi 23-23.382), on peut faire des analyses par tapes :

  1. On trouve l'arrt et Claude gnre la fiche d'arrt
  2. On lui demande d'extraire les articles viss et de les trouver dans Legifrance
  3. On lui demande de trouver des jp similaires
  4. etc ...

image

Paramtres:

  • search: Termes ou numro d'affaire
  • publication_bulletin: Si publie au bulletin ["T"] ou non ["F"]
  • sort: Tri des rsultats
  • champ: Zone de recherche
  • type_recherche: Mode de recherche
  • page_size: Nombre de rsultats
  • fetch_all: Si tous les rsultats doivent tre rcuprs
  • juri_keys: Champs de rponse extraire
  • juridiction_judiciaire: Liste des juridictions

Pour les dtails, cf https://lab.dassignies.law/api/docs

Prompts prdfinis

Le serveur peut inclure des prompts prdfinis pour faciliter l'utilisation.
Pour le moment, seul un prompt a t implment titre d'exemple. Il est possible de mettre en place des prompts beaucoup plus
dtaills notamment pour effectuer des oprations de type deepsearch ou des extractions dans plusieurs documents ...

agent_juridique_expert

Cre un agent juridique expert qui:

  • Cite systmatiquement ses sources
  • Utilise les outils pertinents pour rechercher des informations
  • Fournit des analyses tape par tape
  • Inclut les liens officiels vers les textes juridiques

Usage:

# Exemple d'utilisation du prompt prdfini
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?"
                        }
                    }
                }
            ]
        }
    ]
)

Limitations

  • Les requtes sont limites 10 par seconde pour respecter les limites de l'API
  • Une connexion internet est ncessaire pour accder aux bases juridiques
  • Le serveur ne met pas en cache les rsultats, chaque requte interroge l'API

Contribution

Les contributions sont les bienvenues! Veuillez ouvrir une issue ou soumettre une pull request pour toute amlioration ou correction.

Licence

MIT License

相关 MCP 服务