# OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine > OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine, an MCP server by opencaselaw.ch, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. 1M+ Swiss court decisions, statutes & doctrine with citation graph (DE/FR/IT). CC0… - Canonical: https://www.anchorterminal.com/tools/opencaselaw-swiss-caselaw - Markdown: https://www.anchorterminal.com/tools/opencaselaw-swiss-caselaw.md (~2,700 tokens) - Slim: https://www.anchorterminal.com/tools/opencaselaw-swiss-caselaw.min.md (~2,630 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/tools/opencaselaw-swiss-caselaw.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-04 # OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine > Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/ - Kind: MCP server, by opencaselaw.ch (https://opencaselaw.ch) - Listed because: It's published in the registry under opencaselaw.ch, a namespace the registry only gives to whoever proves they control that domain. - What the official MCP registry says: 1M+ Swiss court decisions, statutes & doctrine with citation graph (DE/FR/IT). CC0, free, 42 tools. ## Facts - MCP registry: `ch.opencaselaw/swiss-caselaw` 1.3.0 - Endpoint: https://mcp.opencaselaw.ch/mcp (streamable HTTP) - Source: https://github.com/jonashertner/caselaw-repo-1 - Website: https://opencaselaw.ch - GitHub stars: 72 - Registry entry updated: 2026-07-30 ## Tools - Tools it lists (42, about 22,229 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-10-04 22:21 UTC): - `search` (read-only): Minimal search tool following the deep-research search/fetch convention. Returns a ranked list of Swiss court decisions matching a query, each as {id, title,… - `fetch` (read-only): Minimal fetch tool following the deep-research search/fetch convention. Fetches one Swiss decision's full text by id, returning {id, title, text, url,… - `search_decisions` (read-only): Use this tool to find COURT DECISIONS (Rechtsprechung): 1,050,000+ Swiss federal and cantonal decisions plus ~2,800 ECtHR decisions concerning Switzerland.… - `get_decision` (read-only): 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… - `get_decisions` (read-only): Use this tool to fetch SEVERAL decisions at once (1-10 ids) instead of calling get_decision repeatedly. Same data per decision — canonical citation strings,… - `list_courts` (read-only): List all available courts with decision counts, date ranges, and language coverage. Use this to discover what data is available. - `get_statistics` (read-only): Get aggregate statistics about the dataset. Optionally filter by court, canton, or year. - `find_citations` (read-only): Given a decision_id, show what it cites and what cites it. Uses the reference graph database with 9.65M citation edges. Returns resolved citations with… - `find_appeal_chain` (read-only): Trace the appeal chain (Instanzenzug) for a decision. Shows prior instances (lower courts) and subsequent instances (appeals to higher courts). Reconstructs… - `find_leading_cases` (read-only): Find the most-cited decisions for a topic or statute. Authority ranking based on citation graph; a free-text topic ranks decisions whose regeste carries the… - `analyze_legal_trend` (read-only): Year-by-year decision counts showing jurisprudence evolution. Use with a statute reference (law_code + article), a text query, or both. Returns yearly counts… - `draft_mock_decision` (read-only): Build a research-only mock decision outline from user facts. Combines relevant Swiss case law retrieval with statute references. If possible, enriches statutes… - `get_case_brief` (read-only): Structured case brief: regeste, Sachverhalt, key Erwägungen (first 12 only — for orientation, NOT a pinpoint ranking), Dispositiv, statutes, citation… - `get_decision_structure` (read-only): Structured decision fields: Sachverhalt (facts), Erwägungen as numbered paragraphs ('1', '1.1', '2.3'), Dispositiv (ruling), Regeste (BGE only). Federal… - `get_erwaegung` (read-only): Verbatim text of ONE numbered Erwägung — the citable unit in Swiss practice (e.g. 'BGE 136 III 513 E. 2.3'). Use when the user already gave an e_number. If… - `find_relevant_erwaegung` (read-only): 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… - `get_article_purpose` (read-only): Return verbatim text from the Federal Council Botschaft (or Erläuterungsbericht) explaining the legislative purpose of a specific article. Joins the verbatim… - `search_botschaft` (read-only): Use this tool to retrieve and quote the VERBATIM text of Federal Council Botschaften (legislative messages). Where get_article_purpose answers 'why does Art. X… - `get_article_history` (read-only): Chronological story of a single statute article: current text + every linked Botschaft (enacted + amendments) + leading court interpretations + doctrinal… - `get_regeste` (read-only): 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,… - `check_claim_support` (read-only): 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… - `attest_response` (read-only): MANDATORY FINAL-STEP AUDIT of your draft answer. Checks five hallucination classes: (1) every case citation (BGE/BGer/BVGer/BStGer/BPatGer/MKGE, FR/IT forms)… - `cite` (read-only): Get the canonical Swiss citation string for a decision reference. CALL THIS BEFORE writing any case citation in your response. Returns ready-to-embed… - `get_doctrine` (read-only): Get statute text + leading cases + doctrinal timeline + Federal Council Botschaft (legislative intent) + scholarly commentary for a Swiss law article or legal… - `generate_exam_question` (read-only): 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… - `get_law` (read-only): AUTHORITATIVE LOOKUP for the text of any Swiss law article — federal OR cantonal — from two local mirrors. Federal (canton='CH', default): Fedlex mirror, all… - `search_laws` (read-only): Use this tool to find STATUTE ARTICLES by topic — full-text over every locally indexed article, federal (Fedlex mirror) AND cantonal (LexFind mirror, all 26… - `get_commentary` (read-only): 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… - `search_commentaries` (read-only): Use this tool ONLY for article-anchored commentary — doctrinal discussion tied to a specific statute article: OnlineKommentar.ch / OpenLegalCommentary.ch… - `search_scholarship` (read-only): Use this tool for open-access SCHOLARSHIP (Lehre): OA journal articles (sui generis et al.), OA legal commentaries (OnlineKommentar, OpenLegalCommentary — this… - `get_scholarship` (read-only): Fetch a single OA legal publication (article, dissertation, commentary, etc.) by its pub_id. Returns full metadata + abstract + full text if available +… - `find_scholarship_citing_statute` (read-only): Find OA legal scholarship that cites a given Swiss statute article. Sourced from article-anchored commentaries (OnlineKommentar / OpenLegalCommentary) PLUS… - `find_scholarship_citing_decision` (read-only): Find OA legal scholarship that cites a specific Swiss court decision. Reverse direction of the scholarship↔caselaw bridge: given a decision_id (e.g.… - `list_scholarship_sources` (read-only): List the open-access legal scholarship sources currently indexed, with publication counts by source, type, and language. Use this to discover what corpora are… - `get_scholarship_full_text` (read-only): Fetch the full text of an OA legal publication by pub_id, on demand. Cached after first fetch so subsequent calls are instant. License-gated: only records… - `get_materialien` (read-only): Look up Materialien for a Swiss federal law article. Returns up to three things: `sources` = per-article digests of legislative intent (BV and BGFA only — 167… - `search_materialien` (read-only): Use this tool for DIGESTED legislative history — per-article intent summaries and key arguments, not verbatim text. COVERAGE IS NARROW: BV and BGFA digests… - `search_legislation` (read-only): Use this tool to find WHOLE LAWS by name or subject — 33,000+ federal and cantonal enactments from LexFind.ch; the entry point for cantonal questions… - `get_legislation` (read-only): 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… - `browse_legislation_changes` (read-only): Browse recent legislation changes for a canton or federal level. Shows new laws, amendments, and abrogations with dates. - `search_practice` (read-only): Use this tool when the question involves federal ADMINISTRATIVE PRACTICE (Verwaltungspraxis): Wegleitungen, Kreisschreiben, Weisungen, Rundschreiben — agency… - `get_practice` (read-only): Retrieve a single federal administrative-practice document by its doc_id (e.g. 'estv_ks_ks_nr_28', 'sem_weisungen_weisungen-aug-d',… - How its tools read to an agent (0 errors, 7 warnings, 2 notes, about 22,229 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score): - warn TC11 get_article_history: 1 parameter without a description: language - warn TC14 get_legislation: allowed values are in the description, not an enum: systematic_number - warn TC22 cite: the definition is about 2,056 tokens - warn TC22 get_decision: the definition is about 1,505 tokens - warn TC22 get_law: the definition is about 1,966 tokens - warn TC22 search_decisions: the definition is about 2,655 tokens - warn TC23 server: 42 tools, about 22,255 tokens of definitions - note TC24 server: 32 of 42 tools have no outputSchema - note TC29 server: about 1,312 tokens (5% of the definitions) are titles that repeat property or function names - JSON: https://www.anchorterminal.com/api/v1/tools/opencaselaw-swiss-caselaw.json - Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming