search_decisionsSearch Swiss court decisions AND European Court of Human Rights decisions concerning Switzerland (~2,800 ECHR docs across bge_egmr, hudoc_ch, ecthr_ch
get_decisionFetch a single court decision with full text. Look up by decision_id (e.g., bger_6B_1234_2025), docket number (e.g., 6B_1234/2025), or partial match.
list_courtsList all available courts with decision counts, date ranges, and language coverage. Use this to discover what data is available.
get_statisticsGet aggregate statistics about the dataset. Optionally filter by court, canton, or year.
find_citationsGiven a decision_id, show what it cites and what cites it. Uses the reference graph database with 9.86M citation edges. Returns resolved citations wit
find_appeal_chainTrace the appeal chain (Instanzenzug) for a decision. Shows prior instances (lower courts) and subsequent instances (appeals to higher courts). Recons
find_leading_casesFind the most-cited decisions for a topic or statute. Authority ranking based on citation graph. Filter by statute (law_code + article), topic query,
analyze_legal_trendYear-by-year decision counts showing jurisprudence evolution. Use with a statute reference (law_code + article), a text query, or both. Returns yearly
draft_mock_decisionBuild a research-only mock decision outline from user facts. Combines relevant Swiss case law retrieval with statute references. If possible, enriches
get_case_briefStructured case brief: regeste, Sachverhalt, key Erwägungen (first 12 only — for orientation, NOT a pinpoint ranking), Dispositiv, statutes, citation
get_decision_structureStructured decision fields: Sachverhalt (facts), Erwägungen as numbered paragraphs ('1', '1.1', '2.3'), Dispositiv (ruling), Regeste (BGE only). Feder
get_erwaegungVerbatim text of ONE numbered Erwägung — the citable unit in Swiss practice (e.g. 'BGE 140 III 86 E. 2.3'). Use when the user already gave an e_number
find_relevant_erwaegungFind which Erwägung paragraph(s) match a legal claim. Server-side FTS5+BM25 over per-paragraph text; returns top-k with confidence labels (high/medium
get_article_purposeReturn verbatim text from the Federal Council Botschaft (or Erläuterungsbericht) explaining the legislative purpose of a specific article. Joins the v
search_botschaftFull-text search across the verbatim Federal Council Botschaft corpus. Where get_article_purpose answers 'why does Art. X exist?', this tool answers '
get_article_historyChronological story of a single statute article: current text + every linked Botschaft (enacted + amendments) + leading court interpretations + doctri
get_regesteGet the official Regeste (head-note) of a Swiss court decision. The Regeste is the court's own formulation of the legal rule established — for BGEs es
check_claim_supportVerify whether a Swiss court decision actually supports a legal claim. Uses an independent Sonnet judge to compare the claim against verbatim text fro
+21 more tools
No proxied traffic observed for this host yet. Connect it at /connect and its grade gains a measured Reliability score + per-tool behavioral evidence — the half a static scan can't produce.
We re-grade mcp.opencaselaw.ch on a schedule and alert your Slack/webhook the moment its tools change or its grade drops — rug-pull insurance for the connection.
Add the wmcp.sh trust oracle as an MCP server and call grade_mcp_server / check_mcp_drift in your agent's pre-connection gate:
https://wmcp.sh/mcp/trust
readOnly vs observed behavior) layer on via the wmcp.sh proxy.