使用说明

项目简介

本项目 'mcp-server-legifrance' 是一个 Model Context Protocol (MCP) 服务器的实现,旨在弥合大型语言模型 (LLM) 与法国法律资源之间的鸿沟。它允许用户通过兼容 MCP 协议的 LLM(如 Claude)直接访问和查询 Legifrance 提供的法律数据,包括法律文本、法规条文和司法判例。该服务器作为 LLM 的外部工具,扩展了其在法律领域的应用能力,使得用户可以更便捷地进行法律研究和信息检索。

主要功能点

  • 法律文本检索: 允许用户根据关键词或文本ID在法国法律文本(如法律、法令、条例等)中检索特定文章或信息。
  • 法规条文检索: 支持在法国各法律法规代码中查找特定条文,例如民法典、劳动法典等,可以通过关键词或条文内容进行搜索。
  • 司法判例检索: 提供对法国司法判例数据库的访问,用户可以根据关键词、案件编号等信息检索相关判例。
  • 预定义 Prompt: 内置了“法律专家助手” Prompt,旨在模拟专业的法律咨询场景,引导 LLM 进行更结构化和专业的法律分析与解答,并强调信息来源引用。

安装步骤

  1. 环境准备: 确保已安装 Python 3.9 或更高版本。
  2. 创建虚拟环境: 在项目根目录下创建并激活 Python 虚拟环境。
    python -m venv venv
    source venv/bin/activate   # 或根据你的系统使用 venv\Scripts\activate
    或者使用 'uv':
    uv venv .venv
    source .venv/bin/activate  # 或根据你的系统使用 .venv\Scripts\activate
  3. 安装项目: 使用 pip 或 uv 安装 'mcp-server-legifrance'。
    pip install git+https://github.com/rdassignies/mcp-server-legifrance.git
    或者
    uv pip install git+https://github.com/rdassignies/mcp-server-legifrance.git
  4. 配置 API 密钥: 在项目根目录下创建 '.env' 文件,并填入 Legifrance API 的密钥和 URL。你需要先访问 lab.dassignies.law 获取 API 密钥。
    LAB_DASSIGNIES_API_KEY=YOUR_API_KEY
    LEGAL_API_URL=https://lab.dassignies.law/api/

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude)连接,你需要配置客户端的 MCP 服务器设置。以下是一个示例 JSON 配置,你需要根据你的实际安装路径进行调整。

{
  "mcpServers": {
    "legifrance": {
      "command": "your_repo_path/mcp-server-legifrance/venv/bin/python",
      "args": [
        "your_repo_path/mcp-server-legifrance/src/server.py"
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'legifrance' - 服务器名称,可以自定义。
  • 'command': 'your_repo_path/mcp-server-legifrance/venv/bin/python' - Python 解释器的路径,指向项目虚拟环境中的 Python 可执行文件。 请将 'your_repo_path' 替换为你的 'mcp-server-legifrance' 仓库的实际本地路径。
  • 'args': '["your_repo_path/mcp-server-legifrance/src/server.py"]' - 服务器启动参数,指向 'server.py' 脚本。 同样需要将 'your_repo_path' 替换为实际路径。

Claude 配置:

对于 Claude 桌面应用,你需要找到配置文件(通常在设置 > 开发者 > 编辑配置 中可以找到),并将上述 JSON 配置添加到 'mcpServers' 字段中。配置完成后,在 Claude 中应该能看到新增的工具图标,表示 MCP 服务器已成功集成。

基本使用方法

成功配置 MCP 服务器后,在兼容 MCP 的 LLM 应用中(如 Claude),你可以通过自然语言指令调用服务器提供的工具。例如,在 Claude 中,你可以提问:

  • "在法国民法典中搜索关于 PACS(民事互助契约)的信息"
  • "查找 78-17 号法律的第 7 条"
  • "检索关于不正当解雇的最新司法判例"

LLM 会根据你的问题,自动调用 'legifrance' MCP 服务器提供的工具进行法律信息检索,并将结果返回给你。 你也可以使用预定义的 Prompt,例如使用 "agent_juridique_expert" Prompt,以更专业的法律咨询方式与 LLM 互动。

# 使用预定义 Prompt 的示例代码 (在支持 MCP 客户端的应用中)
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?" # 你的法律问题
                        }
                    }
                }
            ]
        }
    ]
)

请注意,你需要替换示例代码中的占位符,并确保你的 MCP 客户端支持工具调用和 Prompt 使用。

信息

分类

网页与API