法律数据库查询服务

一个通过MCP协议实现的服务器,允许兼容的大型语言模型(如Claude)查询法国法律数据库Legifrance,支持法律文本、法典和判例的搜索。

  • by pylegifrance
  • Python
  • 本地部署
  • 65 星标
  • 更新于
在 GitHub 查看 rdassignies/mcp-server-legifrance

使用说明

mcp服务器legifrance

MCP服务器 模型上下文协议 通过Legifrance API在兼容的LLM(如Claude)中查询法国法律基础的实验。

描述

该项目实现了一个MCP服务器,允许直接从大型语言模型访问法国法律资源(法律文本、法典、判例法)。它通过交互式工具提供Legifrance数据,促进法律研究。

您必须在创建包之后 法国.

什么是MCP?

模型上下文协议(MCP)是由Anthropic开发的标准化协议,允许像Claude这样的语言模型以结构化的方式与外部工具和服务交互。这是LLM互操作性的一个有趣的进步,因为它为模型和第三方API之间的数据交换和功能执行建立了一个通用框架。到目前为止,必须为每个服务开发特定的函数调用。

通过MCP实现互操作性

MCP的重要性在于其在LLM和外部系统之间创建标准化接口的能力。这种标准化有几个优点:

  1. 模块化架构 :开发人员可以创建专用工具,这些工具可以轻松集成到与协议兼容的不同LLM中。

  2. 提高安全性 :MCP将模型的访问限制为仅明确定义的功能,从而降低了安全风险。

  3. 简化维护 :外部工具的更新可以独立于模型进行,从而促进系统的发展。

  4. 能力扩展 :LLM可以访问实时数据并执行他们无法单独执行的复杂操作。

mcp服务器合法吗?

其想法是利用Claude等语言模型的力量,通过Légifrance处理官方法律内容,并最终处理其他公共数据库,如RNE、BODACC等。第一个结果非常有希望,可以克服Légifrance提出的经典统计研究的一些局限性。该服务正在不断改进,但您已经可以查看下面的一些研究示例。

服务器支持以下功能:

  • 搜索法律文本(法律、法令、法令)
  • 法国法律法规条款的咨询
  • 司法法理学研究

其他Legifrance基金将很快实施。

如果您想直接访问Legifrance API连接您自己的MCP服务器, c’est par ici: https://lab.dassignies.law 欧点 领英

先决条件

  • Python 3.9+
  • Legifrance的API密钥(可从 lab.dassistances.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 pip install git+https://github.com/rdassignies/mcp-server-legifrance.git
  1. 创建文件 .env 在项目的根目录中使用您的ID:
DASSIGNIES_API_KEY=votre_clé_api
DASSIGNIES_API_URL=https://lab.dassignies.law/api/ # ou l'URL correspondante

要获取测试API密钥,请通过以下方式与我联系: 领英

使用

与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桌面,您需要看到工具图标:

可用工具

1.在法律文本中搜索

搜索法律文本中的文章(法律、法令、法令)。

设置 :

  • text_id:文本标识符(例如,“78-17”用于数据保护法)
  • 搜索:关键词或文章编号
  • 冠军:研究区(“全部”、“标题”、“表格”、“编号_摘要”、“文章”)
  • type_recherche:搜索模式(“字段中的所有单词”、“精确表达式”、“至少一个单词”)
  • 页面大小:结果数(最大100)

有关详细信息,请参阅 https://lab.dassignies.law/api/docs

示例: 搜索第78-17号法律第7条:

{
  "text_id": "78-17",
  "search": "7",
  "champ": "NUM_ARTICLE"
}

2.搜索代码

搜索法国法律法规中的文章。

例如,“给我写一份关于PACS法律制度的摘要”

设置 :

  • 搜索:搜索词
  • 代码名称:代码名称(例如:“民法典”、“劳动法典”)
  • 冠军:研究区
  • 排序:结果排序
  • type_recherche:研究模式
  • 页面大小:结果数
  • fetch_all:如果必须恢复所有结果

示例: 要在民法典中查找有关PACS的信息,语言模型将发送以下查询:

{
  "search": "pacte civil de solidarité",
  "code_name": "Code civil"
}

有关详细信息,请参阅 https://lab.dassignies.law/api/docs

3.搜索、判例、司法

搜索司法法理学数据库。语言模型的力量可以直接用于Legifrance中的判例研究。

示例1 关于特定主题的最新JP全景图(例如,“为我找到关于已建立商业关系突然破裂的最新JPs,并为我写一张汇总表”)。

示例2 根据已知的特定决定(上诉编号23-23.382),可以分阶段进行分析:

  1. 我们找到停止,Claude生成停止表
  2. 他被要求提取目标物品并在Legifrance找到它们
  3. 他被要求找到类似的JP
  4. 等。..

设置 :

  • 搜索:条款或业务编号
  • 出版物_公告:是否在公告[“T”]中发布[“F”]
  • 排序:结果排序
  • 冠军:研究区
  • type_recherche:研究模式
  • 页面大小:结果数
  • fetch_all:如果必须恢复所有结果
  • juri_keys:要提取的响应字段
  • 陪审团:法院名单

有关详细信息,请参阅 https://lab.dassignies.law/api/docs

预定义提示

服务器可以包括预定义的提示以便于使用。 目前,仅实现了一个提示作为示例。可以设置更多的提示 特别是用于执行类型操作的详细信息 深度搜索 或多个文档中的摘录。。。

法律代理人专家

创建一名专家法律代理人:

  • 系统地引用其来源
  • 使用相关工具搜索信息
  • 提供逐步分析
  • 包括法律文本的官方链接

用途:

# 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?"
                        }
                    }
                }
            ]
        }
    ]
)

局限性

  • 请求限制为每秒10个,以满足API限制
  • 需要互联网连接才能访问法律依据
  • 服务器不缓存结果,每个请求都查询API

贡献

欢迎捐款!请打开问题或提交拉取请求以进行任何改进或更正。

许可证

MIT许可证