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**:git clone https://github.com/EdgarMate/fedlex-sr-mcp.git cd fedlex-sr-mcp
2. **生成/刷新映射** (可选):
存储库附带了一个预先生成的 `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](https://fedlex.data.admin.ch/).
## 用反重力创造
这个项目是用 **反重力**,谷歌DeepMind的代理AI编码助手。
## 贡献和反馈
欢迎投稿!如果您有改进、新功能或发现任何问题的想法,请随时:
- 打开问题或拉取请求。
- 提出建议或反馈。
- 根据您自己的需求使用和调整此项目。
我们将继续改进访问瑞士立法的工具,您的意见将受到高度重视!
## 许可证
麻省理工学院