MCP App Store
by KeenEthics
Lexplorer Swiss Law Research icon

Lexplorer Swiss Law Research

By Lexplorer

Get New App Alerts

Overview

Lexplorer searches Swiss law with verified, citable sources: around one million court decisions (Federal Supreme Court including the published leading cases, the other federal courts, the courts of all 26 cantons, European Court of Human Rights), the federal law in force with earlier and future versions of each article, the cantonal legislation of all 26 cantons with article text, plus Federal Council messages and a citation graph. Claude plans the research the way a lawyer would: statute first, then the leading cases and the newest decisions applying them, and for cantonal questions the sources of the right canton. Every key statement comes with a precise citation and a link to the original source. Examples: "What does Art. 336a OR say about compensation for abusive dismissal?" · "Is BGE 123 III 246 still good law?" · "What does § 260 of the Zurich planning and building act (PBG ZH) say?" · "Find decisions of the Zurich High Court on extending a lease." Built for lawyers, legal departments, courts and law students. Requires a Lexplorer account (sign in on first use). More at lexplorer.ch.

Tools

corpus_status

ChatGPT
Size and search coverage of the Lexplorer corpus: decisions, passages and how many of them are embedded for semantic search, citation edges, federal laws/articles, cantonal catalog. Check embed_frontier_year before relying on semantic search for older years. Large counts are fast estimates. Reads only the Lexplorer database.

find_leading_cases

ChatGPT
Leading cases on a topic and/or a statute article, ranked by relevance × citation authority. topic: free text (searched keyword+semantic over regeste/summary/considerations). law_code+article anchor via the citation graph ('OR','271'). Combine both to focus a norm on a fact pattern. When topic is given, its text is embedded by an external embedding service (EU region) for the semantic part; results come exclusively from the Lexplorer corpus.

get_article

ChatGPT
Text of a federal statute article, e.g. get_article('OR', '271'). abbreviation: German abbr (OR, ZGB, BGG, StGB ...) or SR number.

get_article_case_law

ChatGPT
Decisions applying a federal statute article (via the citation graph), e.g. ('OR','271'). sort: citations (most-cited first = leading cases) | date_desc. Reads only the Lexplorer database.

get_article_purpose

ChatGPT
Ratio legis: verbatim Botschaft paragraphs for a statute article (official Materialien, navigable ids bbl_{year}_{page}#p{n}). Cite as 'Botschaft, BBl {year} {page}'. Coverage: Botschaften from 2003 onward that are available in the official publication.

get_cantonal_law

ChatGPT
Fetch a cantonal (or CH) act by the ID returned by search_cantonal_law or by a "CANTON:systematic_number" ref, e.g. "ZH:700.1". language: de|fr|it. Without article: returns metadata (title, canton, systematic number, version history, links to the official text) PLUS systematics_siblings — neighbouring acts filed under the same systematics category, for browsing. With article: returns the actual article TEXT (heading + content), not just a link. On the first article request for an act, its official PDF is retrieved and split into articles (§/Art. heuristic); later requests for other articles of the same act are answered from the server's cache, and those articles become searchable via search_cantonal_law(vector_query=...). Quality gate: if the PDF is a scan or no article numbering is found, no article text is returned; the pdf_scan/no_article_structure flag and the links to the official text are returned instead. A new consolidated version in force replaces the cached articles automatically. External services: the act's metadata (cached 7 days) and, on the first article request for an act, its official PDF are fetched from a public directory of Swiss legislation, and the extracted articles are embedded by an external embedding service (EU region). The extracted text is stored only in the server's own Lexplorer database (cache); nothing is written to the directory or to any user account.

get_case_brief

ChatGPT
Structured one-call brief of a decision: metadata, regeste, AI summary (facts/considerations/result where available), key statute articles, citation impact (cited_by + newest citers) and structure map. Replaces ~5 separate navigation calls; cite from read_chunk, not from the brief.

get_cited_decisions

ChatGPT
Outgoing citations of a decision: the earlier judgments it relies on, resolved against the Lexplorer corpus (confidence 0..1 reflects docket-resolution certainty). Reverse of get_citing_decisions.

get_citing_decisions

ChatGPT
'Are there newer judgments on this?' — decisions citing this one, newest first, each with regeste preview. since_date (YYYY-MM-DD) filters to later citers; confidence 0..1 reflects docket-resolution certainty.

get_decision_articles

ChatGPT
Statute articles a decision cites (reverse of get_article_case_law) — the bridge from a judgment to the applied law. Sorted by mention count.

nav_find

ChatGPT
Fuzzy docket lookup: '4A_123/2024', 'BGE 140 III 86'-style refs, or free substrings of docket numbers. Returns decision_ids + breadcrumbs.

nav_law_toc

ChatGPT
Table of contents of one federal law: its official structure (Abteilung/Titel/Abschnitt) with article ranges and counts, in document order. law: abbreviation or SR number. Drill into a range via nav_list_articles(offset) or get_article directly.

nav_list_articles

ChatGPT
List articles of one law in document order (browse like a table of contents). law: abbreviation (OR, ZGB, ...) or SR number. Returns article_id for get_article / read access, heading (Randtitel) and a short preview. Paginated via limit/offset.

nav_list_chunks

ChatGPT
Chunks of one section in reading order (key, parent, depth, preview). section: regeste|facts|considerations|verdict. parent_key drills into sub-Erwägungen (e.g. parent_key='2' lists 2.1, 2.2 ...).

nav_list_decisions

ChatGPT
List decisions with filters: year, chamber (substring), legal_area (substring), language de|fr|it, court (code from nav_tree, e.g. bger, bge = published leading cases, bvger, zh_obergericht). Paginated via limit/offset. Reads only the Lexplorer database.

nav_list_laws

ChatGPT
The 'folders' of the statute corpus: all loaded federal laws with SR number, abbreviations (de/fr/it), title and article count. Optional substring filter on abbreviation/title/SR number.

nav_list_sections

ChatGPT
The 'folders' of one decision: sections (regeste/facts/considerations/verdict) with chunk counts, plus metadata and citation counts.

nav_tree

ChatGPT
Browse the corpus by year and court. Without year: decision counts per year plus courts, the list of all court codes (code, canton, decision count) — use a code as the court filter of the search and list tools. With year (optionally court): up to 100 decisions of that year, newest first. Reads only the Lexplorer database.

read_botschaft

ChatGPT
Full text of one Botschaft paragraph (bbl_{year}_{page}#p{n}) + n neighbor paragraphs — the citation-grade source for Materialien.

read_chunk

ChatGPT
Full text of one chunk plus context neighbor previews before/after (same section, reading order) and the decision's cited statute articles.

read_full_text

ChatGPT
Read the full text of one decision from the Lexplorer corpus, paginated by characters (offset/limit, max 30000). Prefer read_section or read_chunk when you need a specific part.

read_section

ChatGPT
Read a whole section (facts|considerations|verdict|regeste) as continuous text, paginated by characters (offset/limit, max 30000).

search_articles

ChatGPT
Search federal statute articles: keyword_query (websearch syntax) and/or vector_query (semantic), RRF-merged like search_hybrid. The vector_query text is embedded by an external embedding service (EU region); results come exclusively from the Lexplorer statute corpus. Optional filters: language, sr_number.

search_cantonal_law

ChatGPT
Search cantonal (and CH) legislation in the Lexplorer catalog (~21.6k current acts, all 26 cantons + CH): keyword (query, websearch syntax against title/abbreviation/systematics path) and/or vector_query (semantic, for concept/topic queries like "Grenzabstand beim Bauen" rather than exact titles); results are RRF-merged. With vector_query it also searches the article texts already retrieved via get_cantonal_law(..., article=...) — those hits have hit_type "article" with a text preview, everything else is hit_type "law". canton: 2-letter code (ZH, VD, TI, ...) or omit for all. language: de|fr|it (pass the canton's official language for best keyword results). systematics_prefix: restrict to a systematics path substring (e.g. "Bauen" or "Raumplanung") for browsing by subject area. include_live_fallback (default True): additionally runs a live full-text search of query inside the act texts on a public directory of Swiss legislation and merges it into the ranking; if nothing is found at all, those live results are returned as live_fallback. Set False to search the Lexplorer catalog only. External services: unless include_live_fallback is False, the query text is sent to that public legislation directory; a vector_query is embedded by an external embedding service (EU region). Directory responses are kept only in the server's own cache (7 days); nothing is written anywhere else.

search_hybrid

ChatGPT
Hybrid search (semantic + keyword, RRF-fused) with INDEPENDENT queries: vector_query (semantic intent, e.g. a full sentence) and keyword_query (exact terms, e.g. 'Art. 272 OR'); provide one or both. The vector_query text is embedded by an external embedding service (EU region); results come exclusively from the Lexplorer corpus. Same filters as search_semantic.

search_keyword

ChatGPT
Full-text search (websearch syntax: "phrase", OR, -exclusion; terms are ANDed; automatic OR-fallback on zero hits). Returns total_matches + by_year/decision aggregation as result summary. section='header' searches the rubrum — judges (Besetzung), parties, Gegenstand. Docket-pattern queries are redirected to nav_find matches too. Database only, no external service. Filter court: code from nav_tree.

search_materialien

ChatGPT
Search Botschaften/Materialien (verbatim paragraphs of the official publication): keyword_query and/or vector_query, RRF-merged. The vector_query text is embedded by an external embedding service (EU region); results come exclusively from the Lexplorer corpus. For ratio legis, Gesetzgebungsgeschichte, Würdigungen.

search_semantic

ChatGPT
Semantic (vector) search over all decision passages. The query text is embedded by an external embedding service (EU region); results come exclusively from the Lexplorer corpus. Filters: language de|fr|it, section regeste|facts|considerations|verdict, year range, chamber, legal_area, court (code from nav_tree), decision_id. Every hit is a navigation entry point (chunk_id, decision_id).

verify_citations

ChatGPT
Batch-verify judgment citations before submitting an answer. For each ref ('BGE 143 IV 9', '1B_373/2016', ...): exists in corpus? canonical/published form (prefer the BGE form when it exists), decision date, cited_by. Run this over ALL citations in your draft — unverified refs must not be cited.

corpus_status

Claude

find_leading_cases

Claude

get_article

Claude

get_article_case_law

Claude

get_article_purpose

Claude

get_cantonal_law

Claude

get_case_brief

Claude

get_cited_decisions

Claude

get_citing_decisions

Claude

get_decision_articles

Claude

nav_find

Claude

nav_law_toc

Claude

nav_list_articles

Claude

nav_list_chunks

Claude

nav_list_decisions

Claude

nav_list_laws

Claude

nav_list_sections

Claude

nav_tree

Claude

read_botschaft

Claude

read_chunk

Claude

read_full_text

Claude

read_section

Claude

search_articles

Claude

search_cantonal_law

Claude

search_hybrid

Claude

search_keyword

Claude

search_materialien

Claude

search_semantic

Claude

verify_citations

Claude

Example Prompts

Click any prompt to copy it.

Similar Apps