关于 mcp-server-legifrance
这是一个实验性的 MCP 服务,通过 Legifrance API 让 Claude 等兼容的 LLM 检索法国法律文本、法典条文和司法判例。它面向需要进行法律检索的用户,并借助模型辅助分析检索结果。
主要功能
- 01检索法律文本(法律、法令、政令、部长令)
- 02查询法国法典条文
- 03检索司法判例
- 04支持按字段与检索方式筛选
适用场景
- 01检索某一法律文本或特定条文
- 02围绕某一法律主题撰写法律综述
- 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 的重要之处在于,它能够在大模型与外部系统之间创建标准化接口。这种标准化有多项优势:
-
模块化架构:开发者可以创建专用工具,并轻松将其集成到各种兼容该协议的大模型中。
-
增强安全性:MCP 将模型的访问权限限制在明确指定的功能范围内,从而降低安全风险。
-
简化维护:外部工具的更新可以独立于模型进行,便于系统演进。
-
扩展能力:大模型可以访问实时数据并执行复杂操作,而这些操作单靠模型自身无法完成。
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)
安装
- 创建并激活虚拟环境:
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
- 使用 pip 安装:
pip install git+https://github.com/rdassignies/mcp-server-legifrance.git
- 使用 uv 安装
uv pip install git+https://github.com/rdassignies/mcp-server-legifrance.git
- 在项目根目录创建
.env文件,并填写您的凭据:
DASSIGNIES_API_KEY=votre_clé_api
DASSIGNIES_API_URL=https://lab.dassignies.law/api/ # ou l'URL correspondante
如需获取测试用 API 密钥,请通过 LinkedIn 联系我。
使用
与 Claude 集成
这是最“简单”的集成。
- 使用以下配置文件,将 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"
]
}
}
}
- 启动 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)出发,可以分步骤进行分析:
- 找到判决,Claude 生成判决摘要
- 要求它提取所引用的条文,并在 Legifrance 中查找
- 要求它查找类似判例
- 等等 ...
参数:
- 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。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。