瑞士联邦法律搜索服务器

一个强大的模型上下文协议(MCP)服务器,用于通过官方Fedlex SPARQL端点搜索和深度链接瑞士联邦法律(分类汇编 - SR/RS)。

  • by legalgian
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 EdgarMate/fedlex-sr-mcp

使用说明

Fedlex SR MCP服务器

一个强大的模型上下文协议(MCP)服务器,用于使用官方Fedlex SPARQL端点搜索和深度链接瑞士联邦法律(机密编译-SR/RS)。

特性

  • SR号码搜索:通过系统法编号查找任何瑞士法律(例如。, 210, 101, 0.312.11).
  • 全面的缩写支持:使用1600多个官方法律缩写进行搜索(例如。, OR, ZGB, BV, StGB, SchKG).
  • 深度链接(细分):使用URL片段自动生成指向特定细分的直接链接:
    • 条款: OR 41 -> #art_41
    • 段落(摘要): OR 41 Abs. 2 -> #art_41/para_2
    • 字母(Litera): Art. 52 Abs. 1 lit. c -> #art_52/para_1/lbl_c
    • 数字(数字): Art. 1 Ziff. 1 -> #art_1/lbl_1
  • 全文检索:自动获取 权威文章措辞 通过官方Fedlex镜像(GitHub),绕过门户限制。
  • 灵活的语法:识别各种标签,如 Art., Abs., Absatz, lit., Buchstabe, Ziff.,以及 Ziffer 而不管它们是否被提供。

安装

先决条件

  • Python 3.10+
  • pip

依赖项

安装所需的软件包: pip安装httpx fastmcp美化程序4


## Setup

1. **Clone the repository**:
   ```bash
   git clone https://github.com/EdgarMate/fedlex-sr-mcp.git
   cd fedlex-sr-mcp
  1. 生成/刷新映射 (可选): 存储库附带了一个预先生成的 abbreviation_mapping.json。要从Fedlex SPARQL端点刷新它:
    python build_mapping.py
    

用法

运行服务器

您可以使用以下命令运行服务器 fastmcp:

fastmcp dev main.py

工具: search_law

服务器公开了一个工具 search_law 接受a query 弦。

查询示例:

  • OR 41, Abs. 2
  • Art. 52 Abs. 1 lit. c
  • ZGB 1
  • Bundesverfassung (通过缩写 BV)
  • 210 (ZGB的SR编号)

技术架构

  • SPARQL端点:查询 https://fedlex.data.admin.ch/sparqlendpoint 将SR编号和缩写解析为 ConsolidationAbstract 和 Expression URI。
  • FastMCP:实现模型上下文协议,与人工智能助手无缝集成。
  • 深度链接策略:使用与ELI兼容的URL片段(#art_N, /para_N, /lbl_X)以提供直接内容访问。

数据源

瑞士联邦总理府通过 Fedlex.

用反重力创造

这个项目是用 反重力,谷歌DeepMind的代理AI编码助手。

贡献和反馈

欢迎投稿!如果您有改进、新功能或发现任何问题的想法,请随时:

  • 打开问题或拉取请求。
  • 提出建议或反馈。
  • 根据您自己的需求使用和调整此项目。

我们将继续改进访问瑞士立法的工具,您的意见将受到高度重视!

许可证

麻省理工学院