Skip to content
Back to search
100
MCP live v1.0.0 sse

Swiss Case Law

ch.opencaselaw/swiss-caselaw

956k Swiss court decisions: full-text search, citation graph, statute lookup (DE/FR/IT)

Uptime
18.8%
32 probes
Response
122ms
last probe
Tools
33
callable

Tools · 33

search_decisions

Search Swiss court decisions AND European Court of Human Rights decisions concerning Switzerland (~2,800 ECHR docs across bge_egmr, hudoc_ch, ecthr_chamber, ecthr_committee, ecthr_grand_chamber) using…

get_decision

Fetch 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. Full text is truncated at 200,000 characters for v…

list_courts

List all available courts with decision counts, date ranges, and language coverage. Use this to discover what data is available.

get_statistics

Get aggregate statistics about the dataset. Optionally filter by court, canton, or year.

find_citations

Given a decision_id, show what it cites and what cites it. Uses the reference graph database with 9.86M citation edges. Returns resolved citations with confidence scores and unresolved references.

find_appeal_chain

Trace the appeal chain (Instanzenzug) for a decision. Shows prior instances (lower courts) and subsequent instances (appeals to higher courts). Reconstructs the full procedural path, e.g. Bezirksgeric…

find_leading_cases

Find the most-cited decisions for a topic or statute. Authority ranking based on citation graph. Filter by statute (law_code + article), topic query, court, and date range. Top-3 results auto-attach a…

analyze_legal_trend

Year-by-year decision counts showing jurisprudence evolution. Use with a statute reference (law_code + article), a text query, or both. Returns yearly counts with visual bar chart.

draft_mock_decision

Build a research-only mock decision outline from user facts. Combines relevant Swiss case law retrieval with statute references. If possible, enriches statutes with Fedlex text excerpts. IMPORTANT: Th…

get_case_brief

Structured case brief: regeste, Sachverhalt, key Erwägungen (first 12 only — for orientation, NOT a pinpoint ranking), Dispositiv, statutes, citation authority, related cases. Accepts BGE ref, decisio…

get_decision_structure

Structured decision fields: Sachverhalt (facts), Erwägungen as numbered paragraphs ('1', '1.1', '2.3'), Dispositiv (ruling), Regeste (BGE only). Federal decisions only; for cantonal use get_decision. …

get_erwaegung

Verbatim 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. If only a claim was given (no e_number): use fin…

find_relevant_erwaegung

Find 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/low) and a highlighted_snippet wrapping the match…

get_article_purpose

Return verbatim text from the Federal Council Botschaft (or Erläuterungsbericht) explaining the legislative purpose of a specific article. Joins the verbatim Botschaft corpus (post-2003 BBl publicatio…

search_botschaft

Full-text search across the verbatim Federal Council Botschaft corpus. Where get_article_purpose answers 'why does Art. X exist?', this tool answers 'show me every Botschaft passage about TOPIC X'. Us…

get_article_history

Chronological story of a single statute article: current text + every linked Botschaft (enacted + amendments) + leading court interpretations + doctrinal commentary, all ordered by date. Combines stat…

get_regeste

Get 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 especially, this is the canonical citation target. O…

check_claim_support

Verify whether a Swiss court decision actually supports a legal claim. Uses an independent Sonnet judge to compare the claim against verbatim text from the decision (Erwägung if pinpoint given, else R…

attest_response

MANDATORY FINAL-STEP AUDIT covering up to FIVE hallucination classes: (1) case citations — verifies every BGE/BGer/BVGer/BStGer/BPatGer/MKGE/ATF/TF/TAF/TPF/TFB/ATMC/STMC reference exists in the corpus…

cite

Get the canonical Swiss citation string for a decision reference. CALL THIS BEFORE writing any case citation in your response. Returns ready-to-embed citation_string (DE/FR/IT variants plus a canonica…

get_doctrine

Get statute text + leading cases + doctrinal timeline + Federal Council Botschaft (legislative intent) + scholarly commentary for a Swiss law article or legal concept. ALWAYS USE THIS for questions ab…

generate_exam_question

Generate a Swiss law exam practice question (Fallbearbeitung) based on a real BGE. Returns a fact pattern (Sachverhalt) from a real court decision and a hidden analysis (applicable statutes, leading c…

get_law

AUTHORITATIVE LOOKUP for the current text of any Swiss law article — federal OR cantonal. Served from two local mirrors: • Federal (canton='CH', default): Fedlex mirror — core codes (OR, ZGB, StGB, …

search_laws

UNIFIED full-text search across every Swiss statute article indexed locally — federal (Fedlex mirror) AND cantonal (LexFind mirror across all 26 cantons). BM25-ranked per corpus, merged by interleavin…

get_commentary

Look up a scholarly legal commentary from OnlineKommentar.ch (CC-BY-4.0) for a Swiss federal law article. Without article: lists available commentaries for that law. With article: returns the full com…

search_commentaries

Full-text search across all OnlineKommentar.ch legal commentaries. Searches commentary text, titles, and article numbers. Returns ranked results with snippets, authors, and links. Useful for finding d…

get_materialien

Look up Materialien for a Swiss federal law article: Botschaft (legislative intent, key arguments, design choices, rejected alternatives) + parliamentary modifications. COVERAGE TODAY: per-article dig…

search_materialien

Full-text search across digested Materialien (legislative intent, key arguments, design choices, general context). COVERAGE TODAY: BV + BGFA digests + BV parliamentary debate transcripts only. Full pe…

search_legislation

NATURAL-LANGUAGE SEARCH across all Swiss legislation — 33,000+ federal and cantonal legislative texts from LexFind.ch, covering all 26 cantons (ZH, BE, LU, UR, SZ, OW, NW, GL, ZG, FR, SO, BS, BL, SH, …

get_legislation

Retrieve the FULL TEXT and article list of a specific Swiss law, federal or cantonal, by LexFind ID or SR/systematic number. For federal laws in the Fedlex mirror this is instant (local SQLite). For c…

browse_legislation_changes

Browse recent legislation changes for a canton or federal level. Shows new laws, amendments, and abrogations with dates.

search_practice

Full-text search across Swiss FEDERAL administrative practice (Verwaltungspraxis): Kreisschreiben, Rundschreiben, Weisungen, Vollzugshilfen, Handbücher. These are NOT court decisions — they are the bi…

get_practice

Retrieve a single federal administrative-practice document by its doc_id (e.g. 'estv_ks_ks_nr_28', 'sem_weisungen_weisungen-aug-d'). Returns full body text, title, date, issuing authority, and PDF URL…

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "swiss_case_law": {
      "url": "https://mcp.opencaselaw.ch",
      "transport": "sse"
    }
  }
}