关于 Entscheidsuche — Schweizer Gerichtsentscheide
Entscheidsuche 是面向需要检索瑞士法院判决的开发者和客户端的 MCP 服务,涵盖联邦及州级来源,支持德语、法语和意大利语全文搜索与文档获取。
主要功能
- 01支持 Lucene 语法的全文搜索
- 02按案号或引证检索
- 03获取判决全文
- 04按日期、法院和语言筛选
- 05浏览法院层级与分类面板
适用场景
- 01查找匹配法律术语的判决
- 02按案号获取判决
- 03比较不同语言地区的判决
MCP 相关
公开的 Streamable HTTP 端点 `https://mcp.entscheidsuche.ch/mcp` 提供搜索、文档获取、层级、分类面板和服务器信息工具。无需身份验证。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.entscheidsuche.ch/mcpclaude mcp add --transport http ch-entscheidsuche https://mcp.entscheidsuche.ch/mcp{"mcpServers":{"ch-entscheidsuche":{"type":"http","url":"https://mcp.entscheidsuche.ch/mcp"}}}在 Cursor 中打开{"servers":{"ch-entscheidsuche":{"type":"http","url":"https://mcp.entscheidsuche.ch/mcp"}}}在 VS Code 中打开{"mcpServers":{"ch-entscheidsuche":{"type":"http","url":"https://mcp.entscheidsuche.ch/mcp"}}}{"mcpServers":{"ch-entscheidsuche":{"serverUrl":"https://mcp.entscheidsuche.ch/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
6| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| size | integer | 否 | 每页结果数(1–100)。 |
| sort | enum | 否 | 可选排序顺序:'relevance' | 'date'(裁决日期)| 'scrapedate'。默认值为 'relevance'。relevance | date | scrapedate |
| query | string | 否 | 全文查询。短语使用 "...",布尔运算符使用 AND/OR/NOT,通配符使用 * 和 ?。"*" 匹配所有内容。 |
| language | any | 否 | 可选的首选语言,用于高亮/显示(de、fr、it)。如果省略,则返回第一个可用的语言字段——这不会进行筛选;如需筛选,请使用 `language_filter`。 |
| hierarchy | any | 否 | 层级 ID 列表(州/法院/审判庭)。多个 ID 之间使用 OR;与其他筛选条件之间使用 AND。 |
| search_after | any | 否 | 来自上一条响应的 `next_cursor` 的游标。 |
| scrape_date_to | any | 否 | 抓取日期上限(YYYY-MM-DD,含当日)。 |
| language_filter | any | 否 | 按文档语言筛选。 |
| decision_date_to | any | 否 | 裁决日期上限(YYYY-MM-DD,含当日)。 |
| scrape_date_from | any | 否 | 抓取日期下限(YYYY-MM-DD,含当日)。 |
| decision_date_from | any | 否 | 裁决日期下限(YYYY-MM-DD,含当日)。 |
| include_aggregations | boolean | 否 | 包含聚合统计(结果分布)。 |
详细介绍
entscheidsuche-mcp
面向瑞士公开判例的 MCP 服务(Beta)—— 以德语、法语和意大利语全文搜索并访问所有瑞士司法机构 (联邦法院、州级法院、行政机关、刑事命令)发布的法院判决, 通过 Model Context Protocol 提供。
面向瑞士判例的 MCP 服务(Beta)。 搜索并获取所有瑞士司法机构(联邦法院、全部 26 个州、行政机关、刑事命令)发布的德语、法语和意大利语法院判决。 由非营利协会 entscheidsuche.ch 作为开放的瑞士法律数据基础设施运营,自 2020 年起在瑞士享有免税资格。
公共端点: https://mcp.entscheidsuche.ch/mcp
(Streamable HTTP,无需身份验证)
面向终端用户的落地页: mcp.entscheidsuche.ch — 该页面提供了在 Claude.ai、ChatGPT、Cursor、 VS Code、Claude Desktop 和其他客户端中进行配置所需的全部信息。本仓库主要面向开发者、第三方应用和自行运营者。
目录
关于 MCP 服务
瑞士法院判决在形式上是公开的,但实际上分散在 26 个以上的州级门户、多个联邦法院和结构各异的发布格式中。entscheidsuche.ch 协会自 2017 年起收集这些判决,对其进行全文索引并提供访问。由于法院判决不受版权保护,因此没有许可证。本 MCP 服务将这些数据提供给 AI 助手和程序化客户端。
服务的独特之处
- 由非营利组织 entscheidsuche.ch 协会运营(2017 年在 Landquart GR 成立,自 2020 年起在伯尔尼以公益宗旨享有免税资格)——由集体共同支持的瑞士法律数据基础设施,并非业余项目
- 自有数据集:每日直接从所有瑞士法院的原始来源抓取数据。还收录了机关未发布或未以合适形式发布、通过上传功能(自 2021 年起)提交的判决,包括刑事命令
- 三种官方语言(DE / FR / IT),支持定向语言筛选和跨语言搜索
- 开放——无需身份验证,无需 API 密钥,无许可限制
工具
| 工具 | 用途 |
|---|---|
search | 使用 Lucene 语法进行全文搜索。按判决日期、抓取日期、层级(州 / 法院 / 法庭)和语言筛选。按相关性、判决日期或抓取日期排序。通过 next_cursor / search_after 分页。支持用于分面分析的聚合。 |
search_by_case_number | 对案号、档案编号和 BGE 引用进行精确短语搜索(例如 BGE 142 III 1、6B_1234/2025、5A_396/2015)。会自动为编号添加引号。 |
fetch_document | 根据 ID 获取完整判决及其全文。 |
list_hierarchy | 获取层级 ID(联邦 / 州 / 法院 / 法庭)及命中数。 |
list_facets | 获取带有 DE/FR/IT 本地化标签的层级分面树。 |
server_info | 版本和配置信息。 |
完整的接口说明,包含所有参数、筛选条件、 返回架构和示例:docs/API.md。
搜索语法 — 速查表
| 任务 | 示例 |
|---|---|
| 全文搜索,包含所有词(AND) | Mietzins Kündigung |
| 短语,精确顺序 | "fristlose Kündigung" |
| 案号 | "BGE 142 III 1" |
| OR | Mietzins OR Pachtzins |
| 排除 | Mietzins NOT Erhöhung |
| 通配符 | Mietz* |
| 字段搜索 | title.de:"Kündigung" |
词语之间默认使用 AND 连接。搜索范围包括
title、abstract、meta、attachment.content 和 reference。
language 和 sort 是可选项。未设置 language 时,不会
限制语言 — 服务会返回第一个可用的语言字段(de → fr → it)。未设置 sort 时,按相关性
排序。若要明确筛选语言,请使用 language_filter。
允许的语言:de、fr、it。
快速接入 MCP 客户端
详细的客户端专属指南及前提条件 (claude.ai 和 ChatGPT 的套餐要求、配置路径) 请参阅落地页和 docs/CLIENTS.md。基本步骤如下:
Claude Code(CLI)
claude mcp add --transport http entscheidsuche https://mcp.entscheidsuche.ch/mcp
Cursor / Windsurf / VS Code / 通用(mcp.json)
{
"mcpServers": {
"entscheidsuche": {
"url": "https://mcp.entscheidsuche.ch/mcp"
}
}
}
Claude Desktop(仅支持 stdio,因此需通过 mcp-remote 桥接):
{
"mcpServers": {
"entscheidsuche": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.entscheidsuche.ch/mcp"]
}
}
}
用于测试的 MCP Inspector
npx @modelcontextprotocol/inspector https://mcp.entscheidsuche.ch/mcp
提示:并非每份客户端指南都经过完整验证; Anthropic、OpenAI 和其他提供商的套餐、工具列表和配置路径 经常变动。如有出入,请以相应客户端的官方文档为准 — 欢迎通过 Issue 或 PR 反馈。
本地开发
git clone https://github.com/entscheidsuche/entscheidsuche-mcp.git
cd entscheidsuche-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
# Server starten — Streamable HTTP auf 127.0.0.1:8765/mcp
python -m entscheidsuche_mcp
# Alternative: stdio (für lokale CLI-Clients)
python -m entscheidsuche_mcp --transport stdio
配置(环境变量)
完整列表请参阅 .env.example。以下是最重要的变量:
| 变量 | 默认值 | 含义 |
|---|---|---|
ENTSCHEIDSUCHE_ES_URL | https://entscheidsuche.pansoft.de:9200/entscheidsuche.v2-*/_search | Elasticsearch 端点 |
ENTSCHEIDSUCHE_FACETS_URL | https://www.recherche.histoirerurale.ch/Facetten.json | 分面层级 |
HOST / PORT | 127.0.0.1 / 8765 | 监听地址 |
MCP_PATH | /mcp | HTTP 路径 |
MCP_STATELESS_HTTP | true | 无需会话的 Streamable HTTP |
MCP_DNS_REBINDING_PROTECTION | true | 主机 / 来源检查 |
PUBLIC_BASE_URL | https://mcp.entscheidsuche.ch | 公共基础 URL |
LOG_LEVEL | INFO | 日志级别 |
使用 curl 快速测试
# initialize
curl -N -H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
http://localhost:8765/mcp \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'
# tools/list
curl -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
http://localhost:8765/mcp \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# search
curl -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
http://localhost:8765/mcp \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search","arguments":{"query":"\"BGE 142 III 1\"","language":"de","size":3}}}'
使用真正的 MCP 客户端(MCP Inspector、Claude Code)会更方便 — 它会自动处理 Streamable HTTP 会话管理。
部署自己的实例(Debian)
此仓库包含一个 systemd 单元、一个 nginx 虚拟主机和一个 安装脚本。借助它,任何人都可以针对同一个 Elasticsearch 索引运行自己的 MCP 端点。
ssh [email protected]
git clone https://github.com/entscheidsuche/entscheidsuche-mcp.git /opt/entscheidsuche-mcp
sudo bash /opt/entscheidsuche-mcp/deploy/install.sh
# TLS-Zertifikat
sudo apt-get install -y certbot python3-certbot-nginx
sudo certbot --nginx -d mcp.example.org
该脚本会创建系统用户 entscheidsuche,构建 venv,
将 .env.example 复制到 /etc/entscheidsuche-mcp.env,安装
systemd 单元和 nginx 虚拟主机。
检查状态:
systemctl status entscheidsuche-mcp
journalctl -u entscheidsuche-mcp -f
使用统计(/statistik)
MCP 服务在 /statistik 提供一个独立的
HTML 页面,展示每日数据、热门工具、AI 客户端分类
(clientInfo.name)、每小时迷你图和方法分布。
每次访问时都会实时生成;之前日期的数据会固定保存在
JSON 缓存中(/var/lib/entscheidsuche-mcp/stats-cache.json)。
通过环境变量启用 Basic Auth(在 /etc/entscheidsuche-mcp.env 中):
ESC_STATS_USER=admin
ESC_STATS_PASS=DEIN_PASSWORT
如果两项都为空,则可不受限制地访问 /statistik(开发模式)。
nginx 虚拟主机会将 Authorization 标头原样转发给
Python 服务;服务会使用 hmac.compare_digest 与环境变量进行校验。
内容仅包含汇总数据。设置 ESC_ACCESS_LOG_ARGS_MAX=0(.env.example 中的默认值)后,
工具参数——也就是用户的搜索查询——根本不会被记录。
数据源:/var/log/entscheidsuche-mcp/access.log(由
entscheidsuche_mcp.access 中间件写入)。例如,可通过
/etc/logrotate.d/entscheidsuche-mcp 配置日志轮转:
/var/log/entscheidsuche-mcp/access.log {
weekly
rotate 12
compress
delaycompress
missingok
notifempty
copytruncate
}
copytruncate 很重要,这样日志记录器就能继续写入轮转后的
文件,无需重启服务。
架构
MCP-Client (Claude, ChatGPT, Cursor, ...)
│ Streamable HTTP (JSON-RPC)
▼
mcp.entscheidsuche.ch
│ TLS, nginx Reverse Proxy
▼
127.0.0.1:8765/mcp ← uvicorn + FastMCP
│ HTTPS
▼
Elasticsearch (entscheidsuche.v2-*)
实现:Python + FastMCP。
运营协会
MCP 服务、底层平台和数据集由Verein entscheidsuche.ch运营。
- 成立时间: 2017 年,地点为 Landquart(GR)
- 协会宗旨: 让所有人都能搜索和访问瑞士法院的判例 (章程)
- 公益性质: 自 2020 年起,因追求公益目的而免于缴纳伯尔尼州税款
- 理事会: Jörn Erbguth、Daniel Kettiger、Claudia Schreiber
- 联系方式:
[email protected] - 邮寄地址: Verein entscheidsuche.ch,3000 Bern
- 捐款账户: Postfinance IBAN
CH04 0900 0000 1412 0685 4, Verein entscheidsuche.ch,8000 Zürich(可按需提供捐款收据) - 会员资格: 个人每年 100 CHF, 机构会员每年 1'000 CHF
该平台于 2018–2020 年通过 wemakeit 众筹活动 筹资。2021 年 7 月,《民事诉讼与强制执行法杂志》(ZZZ)刊登了该项目的简短介绍。
用于从原始来源获取判决的爬虫同样是开源的——请参阅该协会在 GitHub 上的仓库。
参与贡献
欢迎提交 Issue、Pull Request 和建议,尤其是:
- 关于搜索或 API 的错误报告
- 扩展 MCP 工具(例如聚合/统计工具、 引证图谱)
- 改进 docs/CLIENTS.md 中的客户端指南
- 翻译
如遇数据错误或缺少判决,请直接联系
[email protected]——数据集由中央维护,
不在此仓库中维护。
许可证
代码: MIT
数据: 底层法院判决属于官方作品, 根据 URG 第 5 条不受版权保护。Verein entscheidsuche.ch 对数据所做的结构化整理 可自由使用——详情请见 entscheidsuche.ch。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。