mcpField
M
mcp-server-legifrance

mcp-server-legifrance

本地服务
github.com/rdassignies法律与政务6576 周前更新

关于 mcp-server-legifrance

这是一个实验性的 MCP 服务,通过 Legifrance API 让 Claude 等兼容的 LLM 检索法国法律文本、法典条文和司法判例。它面向需要进行法律检索的用户,并借助模型辅助分析检索结果。

主要功能

  1. 01检索法律文本(法律、法令、政令、部长令)
  2. 02查询法国法典条文
  3. 03检索司法判例
  4. 04支持按字段与检索方式筛选

适用场景

  1. 01检索某一法律文本或特定条文
  2. 02围绕某一法律主题撰写法律综述
  3. 03按主题汇总近期司法判例并整理成表格

MCP 相关

该项目是 MCP 服务,向兼容 MCP 的客户端(如 Claude Desktop)暴露法律文本、法典和判例的检索工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-server-legifrance

实验性 Model Context Protocol MCP 服务,可通过 Legifrance API 查询法国法律数据库,适用于 Claude 等兼容的大模型。

描述

本项目实现了一个 MCP 服务,可直接通过大语言模型访问法国法律资源(法律文本、法典、判例)。它通过交互式工具开放 Legifrance 数据,方便法律检索。

该项目是在创建 pylegifrance 软件包后开发的。

什么是 MCP?

Model Context Protocol(MCP)是由 Anthropic 开发的标准化协议,可让 Claude 等语言模型以结构化方式与外部工具和服务交互。它是提升大模型互操作性的一项重要进展,因为它为模型与第三方 API 之间的数据交换和函数执行建立了通用框架。此前,每项服务都需要开发专用的函数调用。

通过 MCP 实现互操作性

MCP 的重要之处在于,它能够在大模型与外部系统之间创建标准化接口。这种标准化有多项优势:

  1. 模块化架构:开发者可以创建专用工具,并轻松将其集成到各种兼容该协议的大模型中。

  2. 增强安全性:MCP 将模型的访问权限限制在明确指定的功能范围内,从而降低安全风险。

  3. 简化维护:外部工具的更新可以独立于模型进行,便于系统演进。

  4. 扩展能力:大模型可以访问实时数据并执行复杂操作,而这些操作单靠模型自身无法完成。

mcp-server-legifrance?

本项目旨在利用 Claude 等语言模型的强大能力,通过 Légifrance 官方法律内容执行处理,并最终支持 RNE、BODACC 等其他公共数据库。初步结果非常令人鼓舞,有助于弥补 Légifrance 传统统计搜索的部分局限。服务将持续改进,但您现在就可以查看下方的一些搜索示例。

该服务支持以下功能:

  • 搜索法律文本(法律、法令、政令、行政命令)
  • 查阅法国法典条文
  • 搜索司法判例

Legifrance 的其他数据库即将实现。

如果您希望直接访问 Legifrance API,以连接自己的 MCP 服务, 请访问: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,你应该会看到工具图标: 替代文本

可用工具

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 法律制度的概要”

图片

参数:

  • search:搜索词
  • code_name:法典名称(例如:"Code civil"、"Code du travail")
  • 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. 等等 ...

图片

参数:

  • 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

创建一个法律专家 Agent,它可以:

  • 始终引用来源
  • 使用相关工具搜索信息
  • 提供逐步分析
  • 附上法律条文的官方链接

用法:

# 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 限制,请求速率限制为每秒 10 次
  • 访问法律数据库需要互联网连接
  • 服务端不会缓存结果,每次请求都会查询 API

贡献

欢迎贡献!如有任何改进或修正,请提交 issue 或 pull request。

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。