mcpField
E
Entscheidsuche — Schweizer Gerichtsentscheide

Entscheidsuche — Schweizer Gerichtsentscheide

远程服务
entscheidsuche.ch法律与政务45 周前更新

关于 Entscheidsuche — Schweizer Gerichtsentscheide

Entscheidsuche 是面向需要检索瑞士法院判决的开发者和客户端的 MCP 服务,涵盖联邦及州级来源,支持德语、法语和意大利语全文搜索与文档获取。

主要功能

  1. 01支持 Lucene 语法的全文搜索
  2. 02按案号或引证检索
  3. 03获取判决全文
  4. 04按日期、法院和语言筛选
  5. 05浏览法院层级与分类面板

适用场景

  1. 01查找匹配法律术语的判决
  2. 02按案号获取判决
  3. 03比较不同语言地区的判决

MCP 相关

公开的 Streamable HTTP 端点 `https://mcp.entscheidsuche.ch/mcp` 提供搜索、文档获取、层级、分类面板和服务器信息工具。无需身份验证。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.entscheidsuche.ch/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

6
参数类型必填说明
sizeinteger否每页结果数(1–100)。
sortenum否可选排序顺序:'relevance' | 'date'(裁决日期)| 'scrapedate'。默认值为 'relevance'。relevance | date | scrapedate
querystring否全文查询。短语使用 "...",布尔运算符使用 AND/OR/NOT,通配符使用 * 和 ?。"*" 匹配所有内容。
languageany否可选的首选语言,用于高亮/显示(de、fr、it)。如果省略,则返回第一个可用的语言字段——这不会进行筛选;如需筛选,请使用 `language_filter`。
hierarchyany否层级 ID 列表(州/法院/审判庭)。多个 ID 之间使用 OR;与其他筛选条件之间使用 AND。
search_afterany否来自上一条响应的 `next_cursor` 的游标。
scrape_date_toany否抓取日期上限(YYYY-MM-DD,含当日)。
language_filterany否按文档语言筛选。
decision_date_toany否裁决日期上限(YYYY-MM-DD,含当日)。
scrape_date_fromany否抓取日期下限(YYYY-MM-DD,含当日)。
decision_date_fromany否裁决日期下限(YYYY-MM-DD,含当日)。
include_aggregationsboolean否包含聚合统计(结果分布)。

详细介绍

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"
ORMietzins 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_URLhttps://entscheidsuche.pansoft.de:9200/entscheidsuche.v2-*/_searchElasticsearch 端点
ENTSCHEIDSUCHE_FACETS_URLhttps://www.recherche.histoirerurale.ch/Facetten.json分面层级
HOST / PORT127.0.0.1 / 8765监听地址
MCP_PATH/mcpHTTP 路径
MCP_STATELESS_HTTPtrue无需会话的 Streamable HTTP
MCP_DNS_REBINDING_PROTECTIONtrue主机 / 来源检查
PUBLIC_BASE_URLhttps://mcp.entscheidsuche.ch公共基础 URL
LOG_LEVELINFO日志级别
使用 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。