返回 MCP 目录
public公开dns本地运行

droitfrancaismcp

这是一个基于MCP协议的法国法律研究服务器,提供对法国官方法律数据源(Légifrance和JudiLibre)的统一访问接口,支持查询法规、法典、判例等法律信息。

article

README

🚀 法国法律MCP服务器

本项目旨在探索通过 模型上下文协议(Model Context Protocol,MCP)Claude Desktop 中集成工具。

此项目是一次实验与验证,旨在了解工具编排如何提升语言模型(LLM)在处理技术数据时的可靠性、相关性和效率。

在此框架下,项目着重于获取来自官方来源的可靠法律数据。

这里开发的MCP服务器提供了一个统一接口,用于查询法国法律的公共API,特别是:

  • 立法网(Légifrance)——用于查询立法、法典、法律和法令
  • 司法自由(JudiLibre)——用于查询判例法和司法判决

借助该服务器,用户可以搜索和查阅:

  • 📖 法国法律法规(民法典、刑法典、劳动法等)
  • 📜 法律、法令、政令和行政命令
  • ⚖️ 所有法国司法管辖区的判例法
  • 📰 《法兰西共和国政府公报》(JORF)
  • 🤝 集体协议
  • 🏛️ 国务委员会、最高法院和法庭的判决

🚀 快速开始

本项目旨在通过MCP协议在Claude Desktop中集成工具,以提升语言模型处理法律数据的能力。以下是使用该项目的快速步骤:

  1. 确保满足先决条件
  2. 完成安装配置
  3. 启动服务器并开始使用,参考使用示例

✨ 主要特性

🔍 立法网搜索

  • 高级搜索:可在所有法国法律库中进行高级搜索。
  • 强大的过滤功能:可按性质、日期、司法管辖区、部门等进行过滤。
  • 条款查询:可查看完整文本及详细元数据。
  • 多库支持:支持法典、法律、政府公报、判例法、集体协议等。

⚖️ 司法自由搜索

  • 判例法搜索:可在所有法国司法管辖区搜索判例法。
  • 上下文过滤:可按司法管辖区、分庭、地点、解决方案、主题等进行过滤。
  • 完整判决文本:包含结构化区域的完整判决文本。
  • 完整分类法:可访问有效值列表(分庭、组成、主题等)。

🛠️ 技术特性

  • 安全的OAuth 2.0认证
  • 自动令牌管理
  • 详细的日志记录:便于调试
  • 沙盒和生产模式
  • 参数验证
  • 错误处理

📦 安装指南

1. 克隆仓库

git clone https://github.com/jmtanguy/DroitFrancaisMCP.git
cd DroitFrancaisMCP

或者下载项目的ZIP文件。

2. 安装

执行与您操作系统对应的安装脚本:

  • Windows:install.ps1
  • macOS / Linux:install.sh

这些脚本将自动执行以下操作:

  • 📦 创建Python虚拟环境
  • 🔽 安装所有必要的依赖项
  • ⚙️ 配置Claude Desktop客户端以使用此MCP服务器

⚙️ 配置

1. 创建环境文件

# 复制示例文件
cp .env.example .env

2. 填写PISTE凭证

编辑 .env 文件,填入真实值:

# PISTE生产环境API凭证
PISTE_CLIENT_ID=您的生产环境客户端ID
PISTE_CLIENT_SECRET=您的生产环境客户端密钥

# PISTE沙盒环境API凭证(可选,用于测试)
PISTE_SANDBOX_CLIENT_ID=您的沙盒环境客户端ID
PISTE_SANDBOX_CLIENT_SECRET=您的沙盒环境客户端密钥

⚠️ 重要提示

.env 文件包含您的机密信息,切勿提交到Git仓库!

3. 配置MCP客户端

配置Claude Desktop

要在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

要在Cursor中使用服务器,请在MCP配置文件(通常为 ~/.cursor/mcp.json 或在Cursor设置中)添加以下配置:

{
  "mcpServers": {
    "DroitFrancaisMCP": {
      "command": "<DroitFrancaisMCP项目路径>/.venv/bin/python3",
      "args": [
        "-u",
        "<DroitFrancaisMCP项目路径>/droit_francais_MCP.py"
      ],
      "cwd": "<DroitFrancaisMCP项目路径>",
      "env": {
        "PYTHONPATH": "<DroitFrancaisMCP项目路径>",
        "PYTHONUNBUFFERED": "1",
        "PYTHONIOENCODING": "utf-8"
      },
      "envFile": "<环境文件路径>",
      "description": "用于法国法律研究的MCP服务器(立法网、司法自由)",
      "enabled": true
    }
  }
}

💡 使用建议

  • 请将 <DroitFrancaisMCP项目路径> 替换为您的 DroitFrancaisMCP 项目目录的完整路径。
  • 请将 <环境文件路径> 替换为包含PISTE凭证的 .env 文件的完整路径。

💻 使用示例

基础用法

在Claude Desktop或Cursor中,您可以尝试以下示例:

帮我查找民法典中关于婚姻的条款
最高法院近期关于严重过错解雇的判决有哪些?
请提供2021年8月24日第2021 - 1109号关于尊重共和国原则的法律全文

Claude或Cursor将自动识别合适的MCP工具,查询官方来源并展示相应结果。

🛠️ 可用工具

立法网

| 工具 | 描述 | | ---- | ---- | | rechercher_droit_francais() | 在所有法国法律库中进行多条件高级搜索 | | obtenir_article() | 获取条款的完整文本及元数据 |

司法自由

| 工具 | 描述 | | ---- | ---- | | rechercher_jurisprudence_judilibre() | 使用高级过滤功能搜索司法判决 | | obtenir_decision_judilibre() | 获取判决的完整文本 | | obtenir_taxonomie_judilibre() | 访问有效值列表(分庭、司法管辖区等) |

🏗️ 架构

DroitFrancaisMCP/
├── droit_francais_MCP.py          # 主MCP服务器
├── api_legifrance.py              # 立法网API客户端
├── api_legifrance_search_input.py # 立法网查询模型
├── api_legifrance_search_output.py# 立法网响应模型
├── api_judilibre.py               # 司法自由API客户端
├── test_api_legifrance.py         # 立法网测试
├── test_api_judilibre.py          # 司法自由测试
├── requirements.txt               # Python依赖项
├── .env.example                   # 配置模板
└── README.md                      # 文档

主要组件

  • droit_francais_MCP.py:通过FastMCP暴露工具的MCP服务器
  • api_legifrance.py:带有OAuth认证的立法网API客户端
  • api_judilibre.py:带有令牌管理的司法自由API客户端
  • 测试:功能验证脚本

🧪 测试

测试立法网API

python3 test_api_legifrance.py

测试司法自由API

python3 test_api_judilibre.py

使用pytest测试

pytest test_api_legifrance.py -v
pytest test_api_judilibre.py -v

📄 许可证

本项目采用MIT许可证。详情请参阅 LICENSE 文件。

🔗 有用链接

🤖 人工智能辅助开发

本项目在人工智能工具的辅助下开发:

  • Claude(Anthropic)—— 开发助手和代码生成工具
  • GitHub Copilot —— 代码自动补全工具

使用这些工具加速了开发进程,同时保证了代码质量和文档完整性。所有生成的内容都经过了审查、验证,并根据项目的特定需求进行了调整。

💡 使用建议

此说明有助于贡献者和用户了解项目的创建背景。

👤 作者

Jean - Michel Tanguy

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端