OpenHelvetia Gateway
Swiss federal law (Fedlex) and political data (LINDAS) for agents, every answer with sources
¿Debería usar esto?
Calidad y seguridad
Hallazgos (75)
- LOWen fedlex.extract_tables
- LOWen fedlex.get_oc_act
- LOWen fedlex.get_structure
- LOWen fedlex.get_taxonomy
- LOWen fedlex.resolve_sr
- LOWen fedlex.resolve_vocabulary_label
- LOWen lindas.resolve_label
- LOWen directory.get
- LOWen facts.badge
- LOWen facts.latest
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"gateway": {
"url": "https://mcp.openhelvetia.swiss/mcp"
}
}
}Puntos de conexión remotos
https://mcp.openhelvetia.swiss/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (65)
🟢directory.get
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.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢facts.badge(domain, subject)
shields.io endpoint JSON for one subject, derived from the fact table — «no facts» in grey when nothing is recorded, never rounded up.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"subject": {
"description": "Subject key (e.g. «slug#0»).",
"type": "string"
}
},
"required": [
"domain",
"subject"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢facts.latest(as_of, domain)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"as_of": {
"description": "Optional bitemporal cutoff (RFC 3339).",
"type": [
"string",
"null"
]
},
"domain": {
"description": "Measured domain («checker», «benchmark»).",
"type": "string"
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fedlex.check_in_force(as_of, eli)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"as_of": {
"description": "ISO date YYYY-MM-DD.",
"type": "string"
},
"eli": {
"type": "string"
}
},
"required": [
"eli",
"as_of"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.check_quote(eid, eli_version, lang, quote)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eid": {
"description": "The element that was read: an eId such as «art_6» or a path eId\nsuch as «art_6/para_1» or «annex_3/lvl_u1/lvl_2».",
"type": "string"
},
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>` — the version that was read.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
},
"quote": {
"description": "The wording to check, verbatim; «…» or «[...]» marks an omission\n(each part must occur, in order).",
"type": "string"
}
},
"required": [
"eli_version",
"eid",
"quote"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.cite(eid, eli_version, lang)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eid": {
"description": "The place to label: an eId such as «art_7/para_1/lbl_b», «art_23_a»\nor «annex_3/lvl_u1».",
"type": "string"
},
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Label language (de|fr|it|en|rm) — the manifestation read and the\nabbreviation used; default de.",
"type": [
"string",
"null"
]
}
},
"required": [
"eli_version",
"eid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.compare_versions(eid, eli, from_version, lang, to_version)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eid": {
"description": "Optional scope: one element (article or path eId); default every article.",
"type": [
"string",
"null"
]
},
"eli": {
"description": "Fedlex ELI of the act (consolidation abstract).",
"type": "string"
},
"from_version": {
"description": "The older consolidation: a version IRI or a date (YYYY-MM-DD / YYYYMMDD).",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
},
"to_version": {
"description": "The newer consolidation: a version IRI or a date.",
"type": "string"
}
},
"required": [
"eli",
"from_version",
"to_version"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.detect_foreign_content(eli_version, lang)
Detect what the text tools hide in a Fassung: sections in another language (xml:lang) and <foreign> islands (formulas, graphics): use before quoting. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
}
},
"required": [
"eli_version"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.explore_node(iri, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"iri": {
"description": "Any Fedlex IRI (https://fedlex.data.admin.ch/…).",
"type": "string"
},
"limit": {
"description": "Edges per direction (default 20, at most 50).",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"iri"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.extract_tables(eid, eli_version, lang)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eid": {
"description": "Optional scope: an eId (an annex level such as «annex_3/lvl_u1/lvl_2», an article).",
"type": [
"string",
"null"
]
},
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
}
},
"required": [
"eli_version"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.find_related_topic(eli, limit, sr)
Find acts in the same field of law via the legal taxonomy, by ELI or SR: use to discover neighbouring Erlasse; candidates only. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"eli": {
"description": "Fedlex ELI of the act — or give `sr`.",
"type": [
"string",
"null"
]
},
"limit": {
"description": "Max candidates (default 20, at most 50).",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"sr": {
"description": "SR number as an alternative entry, e.g. «832.10».",
"type": [
"string",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.find_treaties(bilateral, country, limit, query)
Find treaty processes (Staatsverträge) by a title word, partner country IRI or bilaterality: use to locate a treaty before get_treaty_info. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"bilateral": {
"description": "true = bilateral only, false = multilateral only.",
"type": [
"boolean",
"null"
]
},
"country": {
"description": "Partner country as a Fedlex country vocabulary IRI.",
"type": [
"string",
"null"
]
},
"limit": {
"description": "Max hits (default 20, at most 50).",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"query": {
"description": "A word of the treaty title (case-insensitive).",
"type": [
"string",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_article_history(eid, eli)
Trace which amendments and consolidations changed one Artikel (eId) of an act, with dates: use for «seit wann gilt Art. X so?». norm.
Esquema de entrada
{
"type": "object",
"properties": {
"eid": {
"description": "Akoma-Ntoso eId of the element, e.g. «art_14a» or «art_2/para_1».",
"type": "string"
},
"eli": {
"description": "Fedlex ELI of the consolidation abstract.",
"type": "string"
}
},
"required": [
"eli",
"eid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_citations(direction, eli)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"direction": {
"description": "«in» | «out» (the foreseen-impact graph) or «cites» | «cited_by»\n(the formal citation graph, act level).",
"type": "string"
},
"eli": {
"type": "string"
}
},
"required": [
"eli",
"direction"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_consultation_documents(consultation)
List the position statements and result reports of one consultation IRI: use after get_consultations to read the genesis record. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"consultation": {
"description": "The consultation IRI (from get_consultations).",
"type": "string"
}
},
"required": [
"consultation"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_consultations(draft, eli, limit, status)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"draft": {
"description": "Or a draft IRI (from get_drafts).",
"type": [
"string",
"null"
]
},
"eli": {
"description": "Fedlex ELI of the act — its drafts are resolved first (at most five).",
"type": [
"string",
"null"
]
},
"limit": {
"description": "Max consultations (default 20, at most 50).",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"status": {
"description": "Optional status filter: the consultation-status IRI or its last segment.",
"type": [
"string",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_drafts(eli)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eli": {
"description": "Fedlex ELI of the consolidation abstract.",
"type": "string"
}
},
"required": [
"eli"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_fga_documents(eli)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eli": {
"description": "Fedlex ELI of the consolidation abstract.",
"type": "string"
}
},
"required": [
"eli"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_law_metadata(as_of, eli)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"as_of": {
"description": "Optional ISO date; absent = today, echoed back resolved.",
"type": [
"string",
"null"
]
},
"eli": {
"type": "string"
}
},
"required": [
"eli"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_memorial(eli, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eli": {
"description": "The AS publication ELI (https://fedlex.data.admin.ch/eli/oc/…), from get_oc_act.",
"type": "string"
},
"limit": {
"description": "Max acts of the issue (default 20, at most 50).",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"eli"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_modifications(eid, eli_version, lang)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eid": {
"description": "Optional scope: only notes anchored at this eId or below.",
"type": [
"string",
"null"
]
},
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
}
},
"required": [
"eli_version"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_oc_act(eli)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eli": {
"description": "Fedlex ELI of the consolidation abstract.",
"type": "string"
}
},
"required": [
"eli"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_references(eid, eli_version, lang, limit, offset)
List the references (Verweise) an act's text makes, with ELI where linked, optionally within one eId: use to follow cross-references. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"eid": {
"description": "Optional scope: only references made from this eId or below.",
"type": [
"string",
"null"
]
},
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
},
"limit": {
"description": "Page size (default 200, at most 1000).",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Continuation: the `next_offset` of the previous answer.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"eli_version"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_structure(depth, eli_version, lang)
Outline one consolidation (sections, articles with eId, num and heading): use when you know the act but not the article number. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"depth": {
"description": "«article» (default: the skeleton down to articles) or «full»\n(the whole tree down to paragraphs and items).",
"type": [
"string",
"null"
]
},
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
}
},
"required": [
"eli_version"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_subdivisions(eli)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eli": {
"description": "Fedlex ELI of the consolidation abstract.",
"type": "string"
}
},
"required": [
"eli"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_taxonomy(eli)
Classify an act in the systematic collection (SR branch chain, notation, labels de/fr/it): use for «zu welchem Rechtsgebiet gehört X?». norm.
Esquema de entrada
{
"type": "object",
"properties": {
"eli": {
"description": "Fedlex ELI of the consolidation abstract.",
"type": "string"
}
},
"required": [
"eli"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.get_treaty_info(eli, lang)
Read a treaty process profile (title, signature, bilateral, partner countries, approving decree) for an eli/treaty IRI: use after find_treaties. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"eli": {
"description": "The treaty process IRI (https://fedlex.data.admin.ch/eli/treaty/…), from find_treaties.",
"type": "string"
},
"lang": {
"description": "Preferred title language (de|fr|it|en|rm); default de.",
"type": [
"string",
"null"
]
}
},
"required": [
"eli"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.list_annexes(eli_version, lang)
List the annexes (Anhänge) of a consolidation with titles and path eIds (annex_u1/…): use before reading an Anhang with read_article. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
}
},
"required": [
"eli_version"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.list_expressions(eli_version)
List the language versions and manifestations (XML, PDF) of one consolidation: use before reading to see whether a Fassung is PDF-only. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
}
},
"required": [
"eli_version"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.list_versions(eli)
List every dated consolidation (Fassung) of an act, future ones included: use to pick the eli_version the reading tools need. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"eli": {
"description": "Fedlex ELI of the consolidation abstract.",
"type": "string"
}
},
"required": [
"eli"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.parse_reference(text)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"text": {
"description": "A citation in plain text, e.g. «Art. 7 Abs. 1 lit. b LSV», «Anhang 3\nZiff. 2 LSV», «Art. 8 EMRK i.V.m. Art. 36 BV», «SR 832.10».",
"type": "string"
}
},
"required": [
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.read_article(eid, eli_version, lang)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"eid": {
"description": "Akoma-Ntoso eId, e.g. «art_10a», or a path eId such as\n«art_2/para_1» or «annex_u1/lvl_u1».",
"type": "string"
},
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
}
},
"required": [
"eli_version",
"eid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.read_document(eli_version, lang, max_chars, offset)
Read a whole small act or Verordnung as capped Markdown (truncated flag, continuation offset): use for short acts; quote via read_article. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
},
"max_chars": {
"description": "Character budget (default 120 000, at most 400 000).",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Continuation: the `next_offset` of the previous answer.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"eli_version"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.resolve_consolidation_at(as_of, eli)
Resolve which consolidation (Fassung) of an act governed on an ISO date: use before reading text for a past or future Stichtag. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"as_of": {
"description": "ISO date YYYY-MM-DD.",
"type": "string"
},
"eli": {
"type": "string"
}
},
"required": [
"eli",
"as_of"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.resolve_sr(sr)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"sr": {
"description": "Systematic (SR) number, e.g. «832.10».",
"type": "string"
}
},
"required": [
"sr"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.resolve_vocabulary_label(lang, query, vocabulary)
Look up a Fedlex vocabulary term (enforcement-status, language, …) by label or IRI: use to decode a coded value from another answer. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"lang": {
"description": "Label language (de|fr|it|en|rm); default de.",
"type": [
"string",
"null"
]
},
"query": {
"description": "A label fragment (case-insensitive, any language) or a\nvocabulary IRI to decode.",
"type": "string"
},
"vocabulary": {
"description": "Scheme id: «enforcement-status», «subdivision-type»,\n«legal-taxonomy», «impact-type», «resource-type», «language», …",
"type": "string"
}
},
"required": [
"vocabulary",
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.search_law(limit, query)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"query": {
"type": "string"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fedlex.search_text(eli_version, lang, limit, query)
Find where a word occurs inside ONE consolidation (hits with eId and Artikel): use before read_article when the article is unknown. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"eli_version": {
"description": "Dated consolidation: `<abstract-eli>/<YYYYMMDD>`.",
"type": "string"
},
"lang": {
"description": "Manifestation language (de|fr|it|en|rm); default de. Which\nlanguages a version carries as XML is the graph's answer —\nfedlex.list_expressions shows it before a read.",
"type": [
"string",
"null"
]
},
"limit": {
"description": "Max hits (default 20, at most 100); `total` counts beyond it.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"query": {
"description": "Word or phrase; case-insensitive substring.",
"type": "string"
}
},
"required": [
"eli_version",
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.api_status
Check whether the I14Y catalogue answers, register by register, so «no data» and «source down» stay apart: use before retrying a failed call. norm.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢i14y.get_concept(concept_id, lang)
Show one concept's record — type, value type, version, validity (Konzept, Codeliste): use before reading a code list's entries. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"concept_id": {
"description": "The concept's `id` from `i14y.list_concepts`.",
"type": "string"
},
"lang": {
"type": [
"string",
"null"
]
}
},
"required": [
"concept_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.get_data_service(data_service_id, lang)
Show one registered interface's record — endpoints, OpenAPI links, licence, served datasets (API, Endpunkt): use to reach the service. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"data_service_id": {
"description": "The service's `id` from `i14y.list_data_services`.",
"type": "string"
},
"lang": {
"type": [
"string",
"null"
]
}
},
"required": [
"data_service_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.get_dataset(dataset_id, lang)
Show one dataset's full record — contact, coverage, every distribution with its licence and download address (Lizenz, Download): use before reuse. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"dataset_id": {
"description": "The record's `id` as a hit or a list row carries it — a GUID,\nnever the publisher's `identifier`.",
"type": "string"
},
"lang": {
"type": [
"string",
"null"
]
}
},
"required": [
"dataset_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.get_dataset_distributions(dataset_id, lang)
List a dataset's distributions — format, licence, download and access address (Datei, Lizenz, Format): use for «where do I get the data». norm.
Esquema de entrada
{
"type": "object",
"properties": {
"dataset_id": {
"description": "The record's `id` as a hit or a list row carries it — a GUID,\nnever the publisher's `identifier`.",
"type": "string"
},
"lang": {
"type": [
"string",
"null"
]
}
},
"required": [
"dataset_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.list_catalogs(lang, limit, page)
List the catalogues that feed I14Y, each one body's collection (Katalog, opendata.swiss, Bundesamt): use to see who contributes. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"description": "Catalogues per page, 1–100, default 50.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"page": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.list_concepts(lang, limit, page, publisher, registration_status)
List the harmonised concepts and code lists of the administration (Konzept, Codeliste, Nomenklatur, Merkmal): use to find a code list by publisher. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"page": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"publisher": {
"type": [
"string",
"null"
]
},
"registration_status": {
"type": [
"string",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.list_data_services(access_rights, lang, limit, page, publisher, ...)
List the registered machine interfaces of Swiss public bodies with their endpoints (API, Schnittstelle, Datendienst): use before building a scraper. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"access_rights": {
"type": [
"string",
"null"
]
},
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"page": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"publisher": {
"type": [
"string",
"null"
]
},
"registration_status": {
"type": [
"string",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.list_datasets(access_rights, lang, limit, page, publisher, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"access_rights": {
"description": "PUBLIC | RESTRICTED | NON_PUBLIC | CONFIDENTIAL. A listing is\nmetadata, never a grant of access.",
"type": [
"string",
"null"
]
},
"lang": {
"description": "Label language (de|fr|it|en|rm); default de.",
"type": [
"string",
"null"
]
},
"limit": {
"description": "Records per page, 1–100, default 25.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"page": {
"description": "1-based page, default 1.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"publisher": {
"description": "Publisher code («CH_BAZG»), from `i14y.list_publishers`.",
"type": [
"string",
"null"
]
},
"registration_status": {
"description": "One of the eight: Incomplete, Candidate, Recorded, Qualified,\nStandard, PreferredStandard, Superseded, Retired.",
"type": [
"string",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.list_public_services(lang, limit, page, publisher, registration_status)
List the registered public services with their channels (Behördenleistung, Dienstleistung, Verwaltung): use for what an authority offers citizens. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"page": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"publisher": {
"type": [
"string",
"null"
]
},
"registration_status": {
"type": [
"string",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.list_publishers(identifier, lang, limit, page, uid)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"identifier": {
"description": "Exact publisher code («CH_BAZG»).",
"type": [
"string",
"null"
]
},
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"description": "Publishers per page, 1–100, default 50.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"page": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"uid": {
"description": "Exact Swiss UID as the register writes it («CHE116244755»).",
"type": [
"string",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.search_catalog(lang, limit, page, publishers, query, ...)
Search the national data catalogue I14Y by words (Datensatz, Schnittstelle, API, Behördenleistung, Codeliste): use first, to find who publishes what. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"lang": {
"description": "The language searched AND served (de|fr|it|en|rm); default de.",
"type": [
"string",
"null"
]
},
"limit": {
"description": "Hits per page, 1–100, default 25.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"page": {
"description": "1-based page, default 1.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"publishers": {
"description": "Publisher CODES — the `identifier` `i14y.list_publishers`\nserves («CH1» is the Federal Statistical Office) — never a name.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"query": {
"description": "Free text, e.g. «Sonderpädagogik», «Zoll», «API»; empty lists\nthe whole index one page at a time. Matched in `lang`.",
"type": "string"
},
"themes": {
"description": "Theme CODES as a hit carries them under `themes[].code`\n(«103» is Bildung) — never a word.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"types": {
"description": "Restrict to resource types: Dataset | DataService |\nPublicService | Concept | MappingTable. Each of them answers.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢i14y.search_codelist_entries(concept_id, lang, limit, page, query)
List the codes of one code-list concept, paged, with names and validity (Code, Codeliste, Kanton, Geschlecht, Nomenklatur): use to resolve official codes. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"concept_id": {
"description": "The `id` of a concept whose `concept_type` is CodeList.",
"type": "string"
},
"lang": {
"description": "The language matched and served (de|fr|it|en|rm); default de.",
"type": [
"string",
"null"
]
},
"limit": {
"description": "Entries per page, 1–200, default 50.",
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"page": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"query": {
"description": "A word of an entry's name, `*` for any characters; absent =\nevery entry. Matched in `lang` only.",
"type": [
"string",
"null"
]
}
},
"required": [
"concept_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lindas.describe(iri, lang, limit, offset)
Show everything the holding says about one IRI (a cube, an observation, a Kanton): use to follow an address you were handed. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"iri": {
"description": "Any IRI — the store is asked about it; no host is fetched.",
"type": "string"
},
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"iri"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lindas.describe_cube(cube, lang, limit, offset)
Show a cube's declared dimensions and profile — the record may carry more: use to learn the filters a question needs. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"cube": {
"description": "A cube IRI of the served scope, e.g.\n`https://politics.ld.admin.ch/political-rights/popular-vote/1`.",
"type": "string"
},
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"cube"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lindas.dimension_values(cube, dimension, lang, limit)
List the values one dimension takes (Kantone, Abstimmungstypen, Geschäftsstände): use to filter by IRI instead of by text. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"cube": {
"type": "string"
},
"dimension": {
"description": "The dimension IRI as `lindas.describe_cube` served it — never\nbuilt by appending to the cube IRI.",
"type": "string"
},
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"cube",
"dimension"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lindas.find_cube(lang, limit, query)
Find the cube behind a question by a word of its name («Volksinitiative», «Petition», «Parteienregister»): use before reading rows. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"query": {
"description": "A word of the cube's name, 2–100 characters\n(«Abstimmung», «Interessenbindung»).",
"type": "string"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lindas.list_cubes(family, lang, limit, offset)
List the 44 political data cubes of the Confederation (Abstimmungen, Wahlen, Bundesrat, Interessenbindungen): use to see what data exists. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"family": {
"description": "One of `fc`, `fch/apg`, `national-council-election`,\n`political-rights`; absent = all 44.",
"type": [
"string",
"null"
]
},
"lang": {
"description": "Label language (de|fr|it|en|rm); default de. The answer names\nthe language it served, and «und» where a name carries no tag.",
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lindas.list_versions(cube)
List the versions of a cube family (Nationalratswahl 2019/2023/2027): use before reading a year; nothing links old to new. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"cube": {
"description": "Any version of the family, e.g.\n`…/national-council-election/candidates/2019`.",
"type": "string"
}
},
"required": [
"cube"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lindas.observations(cube, dimensions, filters, lang, limit, ...)
Read a cube's rows with filters (Abstimmung, Referendum, Volksinitiative, Ständemehr, Kanton, Datum): use for the figures themselves. norm.
Esquema de entrada
{
"type": "object",
"properties": {
"cube": {
"type": "string"
},
"dimensions": {
"description": "The dimension IRIs to project — the cells a row comes back\nwith. Absent = every cell the row carries, which is up to 51 in\nthe vote cube; naming the three or four a question needs is one\ncall instead of paging the same table at a smaller limit.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"filters": {
"description": "Filters, one per entry: the object `{dimension, value}` —\n`{\"dimension\": \"https://politics.ld.admin.ch/political-rights/popular-vote/date\",\n\"value\": \"1971-02-07\"}` — or, equally accepted, the string\n`dimension=value`. The dimension is the full IRI\n`lindas.describe_cube` served, the value an IRI or a plain\nliteral. A dimension the shape does not declare is admitted\nwhen the cube's observations carry it, and the answer says so.",
"items": {
"anyOf": [
{
"additionalProperties": false,
"description": "`{dimension, value}` — the canonical form.",
"properties": {
"dimension": {
"description": "The dimension IRI as `lindas.describe_cube` served it.",
"type": "string"
},
"value": {
"description": "An IRI (matched exactly) or a plain literal.",
"type": "string"
}
},
"required": [
"dimension",
"value"
],
"type": "object"
},
{
"description": "`dimension=value` — the FIRST `=` separates them.",
"type": "string"
}
],
"description": "One filter: the object `{dimension, value}`, or the string\n`dimension=value`."
},
"type": [
"array",
"null"
]
},
"lang": {
"type": [
"string",
"null"
]
},
"limit": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"format": "uint32",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"cube"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lindas.resolve_label(iri, lang)
Resolve an IRI to its label in one language with a fallback (Kanton, Partei, Gremium, Interessenbindung): use to name a value. hint.
Esquema de entrada
{
"type": "object",
"properties": {
"iri": {
"description": "Any IRI, of any host (canton, country, legal form, gender).",
"type": "string"
},
"lang": {
"type": [
"string",
"null"
]
}
},
"required": [
"iri"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢manifest.get(slug)
One entry's manifest by slug. A slug the directory does not hold is a not-found error carrying the E21 admission rule.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"description": "Entry slug (filename = @id slug, oh-validate-enforced).",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢meta.capabilities
The platform capability register with published per-client coverage — tool names on this server ARE the capability ids.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢meta.schemas(names)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"names": {
"description": "The capability ids whose input schemas are wanted, as stage one\nlisted them.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"names"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢meta.tools
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).
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢publish.info
The publishing path — the only way into the directory: the three E21/E13 routes plus the honest interim state.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢standard.artifacts
The manifest standard's sealed artifact register: path, canonical IRI, draft/published status and SHA-256 per contract file.
Esquema de entrada
{
"type": "object",
"properties": {}
}Comunidad
Evidencia