该项目旨在通过模型上下文协议(MCP)探索工具在Claude Desktop中的集成。
它属于一种实验和验证过程,旨在理解工具编排如何提高语言模型(LLM)处理技术数据时的可靠性、相关性和效率。
在此背景下,重点放在访问来自官方来源的可靠法律数据上。
这里开发的MCP服务器提供了一个统一接口,用于查询法国法律的公共API,包括:
借助此服务器,可以搜索和查阅:
重要:要使用此服务器,您必须通过官方网站**PISTE**获取对公共API的访问权限。
为了验证API访问权限,您还需要验证Légifrance和JudiLibre API的使用条款。
CLIENT_ID:唯一的客户端IDCLIENT_SECRET:认证密钥💡 提示:PISTE API是免费的,但需要预先注册。激活账户可能需要几天时间。
git clone https://github.com/jmtanguy/DroitFrancaisMCP.git
cd DroitFrancaisMCP
或下载此项目的ZIP文件。
运行对应您操作系统的安装脚本:
这些脚本会自动执行以下操作:
# 复制示例文件
cp .env.example .env
编辑.env文件并填写真实值:
# 生产环境API PISTE身份凭证
PISTE_CLIENT_ID=您的生产环境client_id
PISTE_CLIENT_SECRET=您的生产环境client_secret
# 沙盒环境API PISTE身份凭证(可选用于测试)
PISTE_SANDBOX_CLIENT_ID=您的沙盒环境client_id
PISTE_SANDBOX_CLIENT_SECRET=您的沙盒环境client_secret
⚠️ 安全性:
.env文件包含您的秘密信息,绝不要提交到Git!
要在Claude Desktop中使用此服务器,请检查以下配置:
macOS/Linux:~/.config/claude-desktop/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"droit-francais": {
"command": "/绝对路径/DroitFrancaisMCP/.venv/bin/python3",
"args": ["/绝对路径/DroitFrancaisMCP/droit_francais_MCP.py"]
}
}
}
💡 建议:将
/绝对路径/替换为您目录的完整路径。
要在Cursor中使用此服务器,请在您的MCP配置文件(通常位于~/.cursor/mcp.json或Cursor设置中)添加以下配置:
{
"mcpServers": {
"DroitFrancaisMCP": {
"command": "<PATH_TO_DroitFrancaisMCP>/.venv/bin/python3",
"args": [
"-u",
"<PATH_TO_DroitFrancaisMCP>/droit_francais_MCP.py"
],
"cwd": "<PATH_TO_DroitFrancaisMCP>",
"env": {
"PYTHONPATH": "<PATH_TO_DroitFrancaisMCP>",
"PYTHONUNBUFFERED": "1",
"PYTHONIOENCODING": "utf-8"
},
"envFile": "<PATH_TO_ENV_FILE>",
"description": "用于法国法律研究的MCP服务器(Légifrance,JudiLibre)",
"enabled": true
}
}
}
💡 替换:
<PATH_TO_DroitFrancaisMCP>为您的DroitFrancaisMCP目录的完整路径<PATH_TO_ENV_FILE>为包含PISTE身份凭证的.env文件的完整路径
在Claude Desktop或Cursor中,尝试这些自然语言查询:
查找关于婚姻的民事法典条文
→ Claude 将使用 rechercher_legifrance() 并传递适当的参数
找到关于经济解雇的劳动法典条文
→ 针对CODE_ETAT数据库的特定搜索
最近的最高法院关于严重过失解雇的裁决是什么?
→ Claude 将使用 rechercher_jurisprudence_judilibre() 并传递日期和主题过滤器
自2020年以来,社会法庭关于道德骚扰的决定
→ 使用法庭和时间段过滤器进行搜索
列出巴黎上诉法院2023年关于医疗责任的裁决
→ 使用位置、法庭和日期过滤器
在2024年1月发布的涉及环境的JORF法令
→ 使用数据库、日期和关键词过滤器进行搜索
Claude或Cursor将自动识别合适的MCP工具来查询官方来源,并为您提供相应的结果。
| 工具 | 描述 |
|---|---|
rechercher_legifrance() | 多标准高级搜索所有法律资料库(法律代码、法律、JORF、判例法、集体合同) |
consulter_legifrance() | 获取文章/文本的全文及完整元数据 |
主要参数:
recherche:搜索词fond:搜索数据库(ALL, CODE_ETAT, LODA_ETAT, JORF, JURI, KALI等)type_champ:搜索字段(ALL, TITLE, ARTICLE等)type_recherche:搜索类型(TOUS_LES_MOTS_DANS_UN_CHAMP, UN_DES_MOTS, EXACTE)code:特定搜索的法律代码名称(例如:"民法典")date_debut, date_fin:日期过滤器(格式YYYY-MM-DD)page, page_taille:结果分页tri:排序方式(PERTINENCE, SIGNATURE_DATE_DESC等)| 工具 | 描述 |
|---|---|
rechercher_jurisprudence_judilibre() | 使用高级过滤器(司法机构、法庭、主题、解决方案、日期)搜索司法判决 |
consulter_decision_judilibre() | 获取带有结构化区域的判决全文 |
obtenir_taxonomie_judilibre() | 访问有效值列表(法庭、司法机构、地点、主题、解决方案) |
主要参数:
recherche:搜索文本juridiction:司法机构代码(cc, ca, tj, ta, caa, ce, tc, crc)chambre:法庭代码(civ1, civ2, civ3, comm, soc, cr等)localisation:司法机构所在地代码(如:ca_paris, tj75101)type_decision:判决类型(arret, ordonnance, qpc, saisie)theme:法律主题solution:解决方案类型(cassation, rejet, annulation等)date_debut, date_fin:日期范围tri:排序(scorepub, score, date)ordre:排序顺序(desc, asc)MCP服务器还提供了可以直接在Claude中访问的文档资源:
Légifrance:
legifrance://documentation/fonds - 可用搜索数据库列表legifrance://documentation/champs - 搜索字段类型legifrance://documentation/types-recherche - 可用搜索类型legifrance://documentation/options-tri - 排序选项legifrance://documentation/filtres-dates - 日期过滤器指南JudiLibre:
judilibre://documentation/juridictions - 司法机构代码judilibre://documentation/chambres - 最高法院法庭judilibre://documentation/localisations - 地点代码(所在地)judilibre://documentation/types-decision - 判决类型judilibre://documentation/themes - 主题(法律主题)judilibre://documentation/solutions - 解决方案类型judilibre://documentation/options-tri - 排序选项这些资源允许Claude访问技术文档而无需手动提供。
DroitFrancaisMCP/
├── droit_francais_MCP.py # 主MCP服务器
├── api_legifrance.py # Légifrance API客户端
├── api_legifrance_query_builder.py # Légifrance复杂查询构造器
├── api_judilibre.py # JudiLibre API客户端
├── __version__.py # 项目版本信息
├── test_api_legifrance.py # Légifrance测试
├── test_api_judilibre.py # JudiLibre测试
├── pyproject.toml # 项目配置
├── .env.example # 配置模板
├── README.md # 文档
├── CHANGELOG.md # 版本历史
├── LICENSE # MIT许可证
├── install.sh # 安装脚本(macOS/Linux)
└── install.ps1 # 安装脚本(Windows)
droit_francais_MCP.py:通过FastMCP暴露工具的主要MCP服务器,附带完整的资源文档api_legifrance.py:具有OAuth 2.0认证的Légifrance API客户端api_legifrance_query_builder.py:用于Légifrance的复杂查询构造器api_judilibre.py:具有自动令牌管理的JudiLibre API客户端__version__.py:集中项目版本信息python3 test_api_legifrance.py
python3 test_api_judilibre.py
pytest test_api_legifrance.py -v
pytest test_api_judilibre.py -v
本项目采用MIT许可证。详情见LICENSE文件。
本项目在开发过程中得到了人工智能工具的帮助:
这些工具的使用加速了开发进程,同时保持了高质量的代码和完整的文档。所有生成的元素都经过审查、验证并根据项目需求进行了调整。
💡 透明度:此说明使贡献者和用户了解项目的创建背景。
Jean-Michel Tanguy