M

MCP Server 法国法律资源访问服务器

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

一个实现模型上下文协议的服务器,允许从兼容的大语言模型(如Claude)直接访问法国法律资源(法律、法规、判例法),通过Legifrance API实现交互式法律研究。

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"
    }
  }
}

该服务需要配置环境变量:LAB_DASSIGNIES_API_KEY、LEGAL_API_URL

服务介绍

mcp-server-legifrance

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

说明

此项目实现了一个MCP服务器,可以从大型语言模型直接访问法国的法律资源(法律文本、法典、司法判例)。它通过使Legifrance的数据可以通过交互式工具访问,从而简化了法律研究。

该项目是在创建了pylegifrance包之后进行的。

什么是MCP?

Model Context Protocol (MCP) 是由Anthropic开发的一种标准化协议,允许像Claude这样的语言模型以结构化的方式与外部工具和服务交互。这是LLMs互操作性的一个有趣进步,因为它为模型和第三方API之间的数据交换和功能执行建立了一个共同框架。到目前为止,对于每个服务都需要开发特定的功能调用。

通过MCP实现互操作性

MCP的重要性在于它能够创建一个标准接口,连接LLMs和外部系统。这种标准化有几个优点:

  1. 模块化架构:开发者可以创建易于集成到不同兼容LLMs中的专门工具。
  2. 增强的安全性:MCP限制了模型仅能访问明确定义的功能,从而减少了安全风险。
  3. 简化维护:外部工具的更新可以独立于模型进行,简化了系统的演进过程。
  4. 扩展能力:LLMs可以访问实时数据并执行它们自身无法完成的复杂操作。

mcp-server-legifrance是什么?

我们的想法是利用像Claude这样的语言模型的强大功能,通过Légifrance处理官方法律内容,并最终包括其他公共数据库如RNE, BODACC等。初步结果非常有希望,能够弥补Légifrance提供的传统统计搜索的一些局限性。虽然服务仍在持续改进中,但您已经可以查看下面的一些搜索示例。

服务器支持以下功能:

  • 在法律文本(法律、法令、命令、决定)中搜索
  • 查看法国法律条文
  • 在司法判例中搜索

其他Legifrance资料库将很快被实现。

如果您希望通过自己的MCP服务器直接访问Legifrance API,
请访问这里:https://lab.dassignies.lawlinkedin

先决条件

请注意,原文档中“Prérequis”部分没有提供具体内容,因此在翻译中保留了标题但未添加具体细节。如果需要进一步补充先决条件的信息,请提供相关细节。

  • Python 3.9+
  • Legifrance 的 API 密钥(请从 lab.dassignies.law 获取)
  • 一个与 MCP 协议兼容的模型(如 Claude 桌面版)

安装

  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 文件,填入您的认证信息:
LAB_DASSIGNIES_API_KEY=votre_clé_api
LEGAL_API_URL=https://lab.dassignies.law/api/ # ou l'URL correspondante

使用方法

与 Claude 集成

这是最“简单”的集成方式。

  1. 使用以下配置文件将 MCP 服务器集成到 Claude 桌面版中。要找到此文件,请转至设置>开发者>编辑配置(指向 .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 桌面版,您应该能看到工具图标出现:
    alt text

可用工具

在法律文本(法律、法令、条例等)中搜索条文。

参数:

  • 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

示例:
查找信息技术和个人自由法第7条:

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

2. rechercher_code

在法国法律代码中搜索条文。

例如:“为我撰写一份关于PACS法律制度的摘要”

参数:

  • 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 特定主题的最新判决概览(例如:“找给我最近关于突然中断已建立商业关系的案例,并为我总结成表格”)。

示例 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

预定义提示

服务器可以包含预定义的提示以方便使用。
目前仅实现了一个示例提示。可以设置更详细的提示,特别是用于执行 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?"
                        }
                    }
                }
            ]
        }
    ]
)

限制

  • 查询每秒限制为 10 次,以符合 API 的限制
  • 访问法律数据库需要互联网连接
  • 服务器不缓存结果,每次查询都会调用 API

贡献

欢迎贡献!请就任何改进或修正提交问题或拉取请求。

许可证

MIT License

相关 MCP 服务