OpenHelvetia Gateway

swiss.openhelvetia/gateway

Swiss federal law (Fedlex) and political data (LINDAS) for agents, every answer with sources

Yes, your AI can use this right now.Answered a live MCP handshake in 649 ms with no sign-in needed and exposes 65 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://mcp.openhelvetia.swiss/mcp

65 tools, verified live

Pulled straight from the server with tools/list on 2026-10-18.
directory.getread-only

The directory envelope (v0.2, authority: manifest). Real entries only — a data source enters on one of three admission routes (E21); an empty list is the honest state, never padded.

facts.badgeread-only

shields.io endpoint JSON for one subject, derived from the fact table — «no facts» in grey when nothing is recorded, never rounded up.

facts.latestread-only

Latest effective facts per subject+metric from the versioned fact table — the bitemporal as_of cutoff is exposed; an absent store is the honest empty view.

fedlex.check_in_forceread-only

Check whether an act was in force on a date; false is a valid answer, never an error: use for «gilt das noch?» questions. norm.

fedlex.check_quoteread-only

Check a quote (Zitat) against the norm text of one element: use before citing, to prove the wording is in what was read (Belegkette). norm.

fedlex.citeread-only

Cite an element as its canonical Fundstelle («Art. 7 Abs. 1 Bst. b LSV») from eli_version and eId: use to label a read place in the Belegkette. norm.

fedlex.compare_versionsread-only

Compare an element or every article between two Fassungen of an act — added, removed, changed paragraphs with wording: use for «was hat sich geändert?». norm.

fedlex.detect_foreign_contentread-only

Detect what the text tools hide in a Fassung: sections in another language (xml:lang) and <foreign> islands (formulas, graphics): use before quoting. norm.

fedlex.explore_noderead-only

Explore a JOLux node's edges (predicates and neighbours, both directions, capped): use to debug what the graph holds about an IRI; never as proof. hint.

fedlex.extract_tablesread-only

Extract the tables of a consolidation or of one element (annex limit values, tariffs) as header and rows: use when a norm is a table, not prose. norm.

fedlex.find_related_topicread-only

Find acts in the same field of law via the legal taxonomy, by ELI or SR: use to discover neighbouring Erlasse; candidates only. hint.

fedlex.find_treatiesread-only

Find treaty processes (Staatsverträge) by a title word, partner country IRI or bilaterality: use to locate a treaty before get_treaty_info. hint.

fedlex.get_article_historyread-only

Trace which amendments and consolidations changed one Artikel (eId) of an act, with dates: use for «seit wann gilt Art. X so?». norm.

fedlex.get_citationsread-only

List an act's relations: cites|cited_by (formal citations, act level) or in|out (foreseen impacts, mostly consultation drafts): use to see who cites X. norm.

fedlex.get_consultation_documentsread-only

List the position statements and result reports of one consultation IRI: use after get_consultations to read the genesis record. norm.

fedlex.get_consultationsread-only

List the consultations (Vernehmlassungen) of an act's drafts or of one draft, with status and dates: use for the genesis, never for law in force. hint.

fedlex.get_draftsread-only

List the legislative drafts (Entwürfe, eli/proj) an act came from, with the Curia Vista number: use as the entry to consultations and materials. norm.

fedlex.get_fga_documentsread-only

List the Federal Gazette (BBl) documents of an act's genesis — Botschaft, reports — with genre and date: use for materials, never for law in force. norm.

fedlex.get_law_metadataread-only

Read the JOLux profile of an act (titles de/fr/it, status, dates, identifier) for an ELI: use to confirm a search hit before you cite. norm.

fedlex.get_memorialread-only

List the AS/BBl issue (memorial) an oc publication appeared in and the acts of that issue: use after get_oc_act to locate the volume. norm.

fedlex.get_modificationsread-only

List the amendment notes («Fassung gemäss …», AS refs) per element of a consolidation: use for «wann und wodurch wurde Art. X geändert?». norm.

fedlex.get_oc_actread-only

Resolve an act's binding AS/RO publication (oc ELI, date, genre, office, memorial) from its consolidation ELI: use to cite the Amtliche Sammlung. norm.

fedlex.get_referencesread-only

List the references (Verweise) an act's text makes, with ELI where linked, optionally within one eId: use to follow cross-references. hint.

fedlex.get_structureread-only

Outline one consolidation (sections, articles with eId, num and heading): use when you know the act but not the article number. norm.

fedlex.get_subdivisionsread-only

List the subdivisions JOLux knows for an act (amended elements only, a gap catalogue): use to see which Artikel carry amendments; outline: get_structure. norm.

fedlex.get_taxonomyread-only

Classify an act in the systematic collection (SR branch chain, notation, labels de/fr/it): use for «zu welchem Rechtsgebiet gehört X?». norm.

fedlex.get_treaty_inforead-only

Read a treaty process profile (title, signature, bilateral, partner countries, approving decree) for an eli/treaty IRI: use after find_treaties. norm.

fedlex.list_annexesread-only

List the annexes (Anhänge) of a consolidation with titles and path eIds (annex_u1/…): use before reading an Anhang with read_article. norm.

fedlex.list_expressionsread-only

List the language versions and manifestations (XML, PDF) of one consolidation: use before reading to see whether a Fassung is PDF-only. norm.

fedlex.list_versionsread-only

List every dated consolidation (Fassung) of an act, future ones included: use to pick the eli_version the reading tools need. norm.

fedlex.parse_referenceread-only

Parse a citation («Art. 7 Abs. 1 lit. b LSV») into act, article eId and path proposal: use to turn a quoted Fundstelle into what read_article can open. hint.

fedlex.read_articleread-only

Read one element (Artikel, Absatz, Anhang) of a dated consolidation by eId, e.g. art_6 or annex_u1/lvl_u1: use to quote a norm. norm.

fedlex.read_documentread-only

Read a whole small act or Verordnung as capped Markdown (truncated flag, continuation offset): use for short acts; quote via read_article. norm.

fedlex.resolve_consolidation_atread-only

Resolve which consolidation (Fassung) of an act governed on an ISO date: use before reading text for a past or future Stichtag. norm.

fedlex.resolve_srread-only

Resolve an SR number (e.g. 832.10) to the act's ELI, titles and in-force status: use when a question names an SR; predecessors stay visible. norm.

fedlex.resolve_vocabulary_labelread-only

Look up a Fedlex vocabulary term (enforcement-status, language, …) by label or IRI: use to decode a coded value from another answer. hint.

fedlex.search_lawread-only

Search acts by title keyword or official abbreviation (KVG, StPO, OR): use when you know the name but not the SR or ELI; in-force acts rank first. hint.

fedlex.search_textread-only

Find where a word occurs inside ONE consolidation (hits with eId and Artikel): use before read_article when the article is unknown. hint.

i14y.api_statusread-only

Check whether the I14Y catalogue answers, register by register, so «no data» and «source down» stay apart: use before retrying a failed call. norm.

i14y.get_conceptread-only

Show one concept's record — type, value type, version, validity (Konzept, Codeliste): use before reading a code list's entries. norm.

i14y.get_data_serviceread-only

Show one registered interface's record — endpoints, OpenAPI links, licence, served datasets (API, Endpunkt): use to reach the service. norm.

i14y.get_datasetread-only

Show one dataset's full record — contact, coverage, every distribution with its licence and download address (Lizenz, Download): use before reuse. norm.

i14y.get_dataset_distributionsread-only

List a dataset's distributions — format, licence, download and access address (Datei, Lizenz, Format): use for «where do I get the data». norm.

i14y.list_catalogsread-only

List the catalogues that feed I14Y, each one body's collection (Katalog, opendata.swiss, Bundesamt): use to see who contributes. norm.

i14y.list_conceptsread-only

List the harmonised concepts and code lists of the administration (Konzept, Codeliste, Nomenklatur, Merkmal): use to find a code list by publisher. norm.

i14y.list_data_servicesread-only

List the registered machine interfaces of Swiss public bodies with their endpoints (API, Schnittstelle, Datendienst): use before building a scraper. norm.

i14y.list_datasetsread-only

List the registered datasets, paged, with publisher, themes and access right (Datensätze, Metadaten, Open Data): use for a census or a publisher's list. norm.

i14y.list_public_servicesread-only

List the registered public services with their channels (Behördenleistung, Dienstleistung, Verwaltung): use for what an authority offers citizens. norm.

i14y.list_publishersread-only

List the bodies that publish into I14Y with identifier and Swiss UID (Herausgeber, Bundesamt, Kanton, UID): use to find a publisher's code for a filter. norm.

i14y.search_catalogread-only

Search the national data catalogue I14Y by words (Datensatz, Schnittstelle, API, Behördenleistung, Codeliste): use first, to find who publishes what. hint.

i14y.search_codelist_entriesread-only

List the codes of one code-list concept, paged, with names and validity (Code, Codeliste, Kanton, Geschlecht, Nomenklatur): use to resolve official codes. norm.

lindas.describeread-only

Show everything the holding says about one IRI (a cube, an observation, a Kanton): use to follow an address you were handed. norm.

lindas.describe_cuberead-only

Show a cube's declared dimensions and profile — the record may carry more: use to learn the filters a question needs. hint.

lindas.dimension_valuesread-only

List the values one dimension takes (Kantone, Abstimmungstypen, Geschäftsstände): use to filter by IRI instead of by text. hint.

lindas.find_cuberead-only

Find the cube behind a question by a word of its name («Volksinitiative», «Petition», «Parteienregister»): use before reading rows. hint.

lindas.list_cubesread-only

List the 44 political data cubes of the Confederation (Abstimmungen, Wahlen, Bundesrat, Interessenbindungen): use to see what data exists. norm.

lindas.list_versionsread-only

List the versions of a cube family (Nationalratswahl 2019/2023/2027): use before reading a year; nothing links old to new. norm.

lindas.observationsread-only

Read a cube's rows with filters (Abstimmung, Referendum, Volksinitiative, Ständemehr, Kanton, Datum): use for the figures themselves. norm.

lindas.resolve_labelread-only

Resolve an IRI to its label in one language with a fallback (Kanton, Partei, Gremium, Interessenbindung): use to name a value. hint.

manifest.getread-only

One entry's manifest by slug. A slug the directory does not hold is a not-found error carrying the E21 admission rule.

meta.capabilitiesread-only

The platform capability register with published per-client coverage — tool names on this server ARE the capability ids.

meta.schemasread-only

Stage two of two-stage discovery: the full input schemas of the named tools, byte-identical to what tools/list carries, because both are read from the same router. An unknown id is refused by name rather than silently dropped.

meta.toolsread-only

Stage one of two-stage discovery: every mounted tool with its capability id, domain, one-line summary and budget weight — and NO input schemas. Ask this first to learn what exists, then pull the schemas of the few tools you intend to call (meta.schemas). Context economy as a capability, not a client convention (E16 Ziff. 1).

publish.inforead-only

The publishing path — the only way into the directory: the three E21/E13 routes plus the honest interim state.

standard.artifactsread-only

The manifest standard's sealed artifact register: path, canonical IRI, draft/published status and SHA-256 per contract file.

Alternatives in AI & Agents

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”