Index / MCP servers / OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine

OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine MCP server

OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine is a remote MCP server that gives an AI agent 42 tools, among them analyze_legal_trend, attest_response, browse_legislation_changes. It answers at https://mcp.opencaselaw.ch/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 4 September 2026; the last check, on 17 October 2026, succeeded.

Status
Answering
Tools
42
Official
yes, served from opencaselaw.ch
Reliability
10 of 10 checks
Response time
67 ms
Transport
streamable HTTP
Last checked
17 October 2026

1M+ Swiss court decisions, statutes & doctrine with citation graph (DE/FR/IT). CC0, free, 42 tools.

Description as the publisher wrote it.

The 42 tools OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine offers

ToolWhat it does
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 counts with visual bar chart.
Inputs: query, law_code, article, court, date_from, date_to
attest_responseMANDATORY FINAL-STEP AUDIT of your draft answer. Checks five hallucination classes: (1) every case citation (BGE/BGer/BVGer/BStGer/BPatGer/MKGE and FR/IT forms) exists in the corpus and any pinpoint (E. X.Y / consid. X.Y) resolves to a real
Inputs: draft_text, audit_grounding, audit_quotes
browse_legislation_changesBrowse recent legislation changes for a canton or federal level. Shows new laws, amendments, and abrogations with dates.
Inputs: canton, language
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 from the decision (Erwägung if pinpoint given, else Regeste, else first portion of full text)
Inputs: claim, decision_id, pinpoint
citeGet 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 canonical URL) and a verbatim rule_statement. If
Inputs: reference, pinpoint, language
draft_mock_decisionBuild 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: The tool may return clarification question
Inputs: facts, question, preferred_language, deciding_court, statute_references, fedlex_urls
fetchMinimal fetch tool following the deep-research search/fetch convention. Fetches one Swiss decision's full text by id, returning {id, title, text, url, metadata}. The id comes from a `search` result (a decision_id like bger_6B_1234_2025; a d
Inputs: id
find_appeal_chainTrace 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. Bezirksgericht → Obergericht → Bundesgericht. Uses t
Inputs: decision_id, min_confidence
find_citationsGiven 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 confidence scores and unresolved references.
Inputs: decision_id, direction, min_confidence, limit, offset
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, court, and date range. Top-3 results auto-attach a `pinpoint` field {e_number, matched_sen
Inputs: query, law_code, article, court, date_from, date_to
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/low) and a highlighted_snippet wrapping the matched sentence in <mark>…</mark> (quote it
Inputs: decision_id, claim, top_k
find_scholarship_citing_decisionFind OA legal scholarship that cites a specific Swiss court decision. Reverse direction of the scholarship↔caselaw bridge: given a decision_id (e.g. 'bge_BGE_140_III_86' or 'bger_4A_571_2008'), return open-access publications that cite it i
Inputs: decision_id, limit
find_scholarship_citing_statuteFind OA legal scholarship that cites a given Swiss statute article. Sourced from article-anchored commentaries (OnlineKommentar / OpenLegalCommentary) PLUS full-text citation extraction across the open-access journal corpus (~90k statute re
Inputs: sr_number, article, limit
generate_exam_questionGenerate 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 case, legal test, correct outcome). Workf
Inputs: topic, exclude_ids
get_article_historyChronological story of a single statute article: current text + every linked Botschaft (enacted + amendments) + leading court interpretations + doctrinal commentary, all ordered by date. Combines statutes.db, materialien.db, reference_graph
Inputs: sr_number, article, language, leading_cases_limit
get_article_purposeReturn 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 publications, Akoma Ntoso XML where available, PDF
Inputs: sr_number, article, language, max_paragraphs
get_case_briefStructured 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, decision_id, or docket. To pinpoint which Erwäg
Inputs: case
get_commentaryLook 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 commentary text, authors, and citation. Cov
Inputs: abbreviation, sr_number, article, language
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. Full text is truncated at 200,000 characters for very long decisions. Set full_text=false
Inputs: decision_id, full_text
get_decision_structureStructured 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. Returns excerpts; for verbatim full text
Inputs: decision_id
get_decisionsUse this tool to fetch SEVERAL decisions at once (1-10 ids) instead of calling get_decision repeatedly. Same data per decision — canonical citation strings, Markdown link, Regeste, metadata — in ONE call. Prefer this whenever you are about
Inputs: decision_ids, full_text, max_chars_per_decision
get_doctrineGet 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 about the purpose, intent, or ratio legis
Inputs: query
get_erwaegungVerbatim 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 only a claim was given (no e_number): use find_relevant_erwaegung — never guess. Ret
Inputs: decision_id, e_number
get_lawAUTHORITATIVE LOOKUP for the text of any Swiss law article — federal OR cantonal — from two local mirrors. Federal (canton='CH', default): Fedlex mirror, all federal acts (OR, ZGB, StGB, StPO, ZPO, BV, SchKG, BGG/LTF, DBG, IPRG, AIG, BVG, K
Inputs: sr_number, systematic_number, abbreviation, article, language, canton
get_legislationRetrieve 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 cantonal laws, the law is downloaded from
Inputs: lexfind_id, systematic_number, canton, include_versions, language
get_materialienLook 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 articles); `botschaft_documents` = the Federal Council messages that concern this
Inputs: law_code, article
get_practiceRetrieve a single federal administrative-practice document by its doc_id (e.g. 'estv_ks_ks_nr_28', 'sem_weisungen_weisungen-aug-d', 'bsv_weisungen_6930_v20_de', 'seco_alv_avig_ale_de'). Returns full body text, title, date, issuing authority
Inputs: doc_id
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 especially, this is the canonical citation target. Often references specific Erwägungen via
Inputs: decision_id
get_scholarshipFetch a single OA legal publication (article, dissertation, commentary, etc.) by its pub_id. Returns full metadata + abstract + full text if available + cross-citations to statutes and decisions.
Inputs: pub_id
get_scholarship_full_textFetch 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 under CC-BY-* (except CC-BY-ND), OA-Swiss-federal, or OA-author-permitted-reuse are e
Inputs: pub_id
get_statisticsGet aggregate statistics about the dataset. Optionally filter by court, canton, or year.
Inputs: court, canton, year
list_courtsList all available courts with decision counts, date ranges, and language coverage. Use this to discover what data is available.
list_scholarship_sourcesList the open-access legal scholarship sources currently indexed, with publication counts by source, type, and language. Use this to discover what corpora are available before searching.
searchMinimal search tool following the deep-research search/fetch convention. Returns a ranked list of Swiss court decisions matching a query, each as {id, title, url, snippet}. Pair with `fetch` to retrieve a decision's full text by id. General
Inputs: query, limit
search_botschaftUse this tool to retrieve and quote the VERBATIM text of Federal Council Botschaften (legislative messages). Where get_article_purpose answers 'why does Art. X exist?', this tool answers 'show me every Botschaft passage about TOPIC X'. Usef
Inputs: query, language, year_min, year_max, limit
search_commentariesUse this tool ONLY for article-anchored commentary from OnlineKommentar.ch — doctrinal discussion tied to a specific statute article. For the full OA scholarship corpus (which includes OnlineKommentar) use search_scholarship. Searches comme
Inputs: query, abbreviation, language, limit
search_decisionsUse this tool to find COURT DECISIONS (Rechtsprechung): 1,050,000+ Swiss federal and cantonal decisions plus ~2,800 ECtHR decisions concerning Switzerland. Full-text search with keywords, phrases (in quotes), Boolean operators (AND, OR, NOT
Inputs: query, court, canton, language, date_from, date_to
search_lawsUse this tool to find STATUTE ARTICLES by topic — full-text over every locally indexed article, federal (Fedlex mirror) AND cantonal (LexFind mirror, all 26 cantons), interleaved. Not for whole laws by name (search_legislation) or court dec
Inputs: query, sr_number, canton, jurisdiction, language, limit
search_legislationUse 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 ('Hundegesetz Bern', 'loi sur l'énergie Vaud'). Not for article-level topic search (search
Inputs: query, canton, active_only, search_in_content, language, limit
search_materialienUse this tool for DIGESTED legislative history — per-article intent summaries and key arguments, not verbatim text. COVERAGE IS NARROW: BV and BGFA digests (167 articles) plus BV debate transcripts, and nothing else. For any other law this
Inputs: query, law_code, limit
2 more tools

search_practice, search_scholarship

Add OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine to your AI client

Every block below points at https://mcp.opencaselaw.ch/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http opencaselaw-swiss-caselaw-statut https://mcp.opencaselaw.ch/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "opencaselaw-swiss-caselaw-statut": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.opencaselaw.ch/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "opencaselaw-swiss-caselaw-statut": {
      "url": "https://mcp.opencaselaw.ch/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "opencaselaw-swiss-caselaw-statut": {
      "type": "http",
      "url": "https://mcp.opencaselaw.ch/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "opencaselaw-swiss-caselaw-statut": {
      "url": "https://mcp.opencaselaw.ch/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "opencaselaw-swiss-caselaw-statut": {
      "serverUrl": "https://mcp.opencaselaw.ch/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "opencaselaw-swiss-caselaw-statut": {
      "url": "https://mcp.opencaselaw.ch/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine
version: 0.0.1
schema: v1
mcpServers:
  - name: OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine
    type: streamable-http
    url: https://mcp.opencaselaw.ch/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "opencaselaw-swiss-caselaw-statut": {
      "httpUrl": "https://mcp.opencaselaw.ch/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "opencaselaw-swiss-caselaw-statut": {
      "type": "http",
      "url": "https://mcp.opencaselaw.ch/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "opencaselaw-swiss-caselaw-statut": {
      "url": "https://mcp.opencaselaw.ch/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fmcp.opencaselaw.ch%2Fmcp&type=streamable_http&id=opencaselaw-swiss-caselaw-statut&name=OpenCaseLaw%20%E2%80%94%20Swiss%20Caselaw%2C%20Statutes%20%26%20Doctrine

Is OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine up right now?

It answered our last check on 17 October 2026 in 67 ms. Over 10 checks since 4 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine

Questions about OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine

Is there an official OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine MCP server?

Yes. It is published by opencaselaw.ch and served from mcp.opencaselaw.ch, the vendor's own domain: https://mcp.opencaselaw.ch/mcp.

How many tools does OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine have?

42, as returned by the server's own tools/list on 9 September 2026: analyze_legal_trend, attest_response, browse_legislation_changes, check_claim_support, cite, draft_mock_decision, fetch, find_appeal_chain, and 34 more.

Is OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine down?

It answered our last check on 17 October 2026 in 67 ms. Over 10 checks since 4 September 2026 it answered 10.

How do I add OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.opencaselaw.ch/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does OpenCaseLaw — Swiss Caselaw, Statutes & Doctrine need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: ch.opencaselaw. Endpoint host: mcp.opencaselaw.ch. ARD identifier: urn:air:ch.opencaselaw:mcp:swiss-caselaw. First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.