Server definition
- Hash
- sha256:c9a0132361773c8ebb2db483da0bfa612446e806c8c90f3bd0cf06ac093de1a2
- What it is
- What a remote MCP server returned when asked what it offers: 13 tools
The blob, as servednamed by its sha256
{
"instructions": "Swiss Grounding: authoritative, cited answers about Switzerland from official Swiss sources\n(federal, cantonal, municipal and bodies with a legal mandate).\n\nScope: Switzerland only. Questions that are not about Switzerland (e.g. another country's capital) are\noutside this server: do not call its tools for them, and say clearly that they are outside what this Swiss\ninformation service covers instead of guessing. When a question applies Swiss-style rules to a place\noutside Switzerland (e.g. a licence fee after moving to Konstanz), say clearly that Swiss rules and sources\ndo not apply there. Never answer Swiss questions from memory when a tool can ground them.\n\nEvery tool returns one JSON object:\n- status: ok | needs_context | not_covered | not_found | source_error\n- summary: one factual sentence ending with \"Source: <publisher> – <url>\"\n- data: tool-specific facts\n- citations[]: {title, url, publisher, level, jurisdiction, retrieved_at, valid_for, excerpt};\n level is federal | cantonal | municipal | semi-official | community; jurisdiction is CH, CH-<canton>\n or CH-<canton>-<BFS municipality number>; excerpt is verbatim source text\n- missing_context[]: {field, question, options}\n- guidance: what to do next\n\nHow to use:\n- Pick the specific tool first (premiums, law, holidays, waste, transport, votes, rates, companies,\n weather, place facts). For procedures, rules, fees and \"how do I…\" questions use\n search_official_info, then read_official_page for detail.\n- Pass places exactly as the user wrote them (any language, postcode or address); the server resolves them.\n- status=needs_context: ask the user exactly the question in `summary`, nothing more.\n status=not_covered / not_found: say clearly that it is not covered; do not guess.\n status=source_error: say the official source is unavailable and give the citation link.\n- Answer in the user's language, state the reference year or date, and always write out the source\n URL (not only the publisher's name).\n",
"tools": [
{
"description": "Check whether a company is registered: UID, legal seat, commercial register and VAT status,\nfrom the federal UID register.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name_or_uid": {
"description": "Company name or UID (CHE-123.456.789).",
"type": "string"
}
},
"required": [
"name_or_uid"
],
"type": "object"
},
"name": "company_register",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Latest measured weather (temperature, humidity, precipitation, wind) at the MeteoSwiss station\nnearest to a Swiss municipality. Measurements only, no forecasts.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"language": {
"default": "de",
"description": "Language of the user's question.",
"enum": [
"de",
"fr",
"it",
"rm",
"en"
],
"type": "string"
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Place as the user said it: municipality, postcode, address or canton, any language (e.g. 'Genf', '8003')."
}
},
"type": "object"
},
"name": "current_weather",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Subjects of the next federal popular vote, or official results of a past vote.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"language": {
"default": "de",
"description": "Language of the user's question.",
"enum": [
"de",
"fr",
"it",
"rm",
"en"
],
"type": "string"
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Canton to add its result, optional."
},
"vote_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO date of a vote; omit for the next vote (or the latest if none is scheduled)."
}
},
"type": "object"
},
"name": "federal_votes",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Cheapest mandatory basic health insurance premiums (Grundversicherung, assurance de base,\nassicurazione di base — every plan here is basic insurance) for a municipality, age and deductible,\nfrom the official FOPH premium data (same data as priminfo.admin.ch).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"accident_cover": {
"default": false,
"description": "Include accident cover (default no: employees are insured by their employer).",
"type": "boolean"
},
"age": {
"anyOf": [
{
"maximum": 120,
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Age of the insured person."
},
"franchise": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Deductible in CHF (adults 300-2500, children 0-600). Omit to get the cheapest offer for every deductible."
},
"insurance_model": {
"anyOf": [
{
"enum": [
"free_choice_of_doctor",
"family_doctor",
"hmo",
"telmed_or_other"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only if the user explicitly asks for one insurance model. Leave empty to compare all models (the cheapest is usually an alternative model)."
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Place as the user said it: municipality, postcode, address or canton, any language (e.g. 'Genf', '8003')."
},
"year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Premium year; default current year."
}
},
"type": "object"
},
"name": "health_insurance_premiums",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Swiss public transport connections or next departures (official timetable data).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"arrival": {
"default": false,
"description": "Interpret `when` as arrival time.",
"type": "boolean"
},
"destination": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Destination; omit for a departure board."
},
"limit": {
"default": 3,
"maximum": 6,
"minimum": 1,
"type": "integer"
},
"origin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Departure station or place, e.g. 'Zürich HB'."
},
"when": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO date-time (Europe/Zurich), e.g. 2026-10-01T08:30; default now."
}
},
"type": "object"
},
"name": "public_transport",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Fetch the current text of an official Swiss page (live, respecting robots.txt) and return the\npassages around `focus`. Only official Swiss domains are allowed.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"focus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Words to focus on, e.g. 'délai 12 mois'."
},
"max_chars": {
"default": 3000,
"maximum": 8000,
"minimum": 500,
"type": "integer"
},
"url": {
"description": "URL on an official Swiss domain (admin.ch, ch.ch, a cantonal or municipal site), typically from search_official_info.",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "read_official_page",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Full-text search over official Swiss web pages: ch.ch (all languages), federal offices, the 26\ncantons and large cities. Use for procedures, rules, deadlines, fees and \"how do I…\" questions\n(permits, moving, taxes, social insurance, driving licences, customs, schools, housing, voting).\nGive `place` to restrict results to federal + that canton/municipality. Returns verbatim excerpts\nwith URLs.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"language": {
"anyOf": [
{
"description": "Language of the user's question.",
"enum": [
"de",
"fr",
"it",
"rm",
"en"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"default": 5,
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Place as the user said it: municipality, postcode, address or canton, any language (e.g. 'Genf', '8003')."
},
"query": {
"description": "Key words of the question, best in the language of the source (e.g. 'permis de conduire étranger échanger').",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_official_info",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "List the topics, geography, sources and freshness this server covers, and what it does not.\nCall this only when unsure whether a question is in scope.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "swiss_coverage",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Quote federal law from the official consolidated text on Fedlex (version currently in force),\nwith article links. Federal law only; cantonal law is not included.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"article": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Article number, e.g. '335c', '42'."
},
"language": {
"default": "de",
"description": "Language of the user's question.",
"enum": [
"de",
"fr",
"it",
"rm",
"en"
],
"type": "string"
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Title words to find an act, or (with sr_number) a topic to find the relevant articles, e.g. 'Kündigungsfrist'."
},
"sr_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "SR number or abbreviation: '220' or 'OR'/'CO', 'ZGB'/'CC', 'SVG', 'VZV', 'AIG', 'KVG', 'AHVG', 'MWSTG'…"
}
},
"type": "object"
},
"name": "swiss_federal_law",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "School holidays by canton or municipality, or public holidays, for a year.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"kind": {
"default": "school",
"description": "School holidays or public holidays.",
"enum": [
"school",
"public"
],
"type": "string"
},
"language": {
"default": "de",
"description": "Language of the user's question.",
"enum": [
"de",
"fr",
"it",
"rm",
"en"
],
"type": "string"
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Place as the user said it: municipality, postcode, address or canton, any language (e.g. 'Genf', '8003')."
},
"year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Calendar year; default current year."
}
},
"type": "object"
},
"name": "swiss_holidays",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Resolve a Swiss place to its official municipality: BFS number, canton, district, postcodes,\npermanent resident population (latest BFS figure) and official website. Use for \"how many people\nlive in X\", \"which canton is X in\", or to find a municipality's website.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Place as the user said it: municipality, postcode, address or canton, any language (e.g. 'Genf', '8003')."
}
},
"type": "object"
},
"name": "swiss_place_info",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Current mortgage reference interest rate for rents (BWO) or SNB CHF exchange rates.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "For exchange_rate: EUR, USD, GBP…"
},
"kind": {
"description": "Mortgage reference rate for rents (BWO), or SNB exchange rate.",
"enum": [
"reference_interest_rate",
"exchange_rate"
],
"type": "string"
},
"language": {
"default": "de",
"description": "Language of the user's question.",
"enum": [
"de",
"fr",
"it",
"rm",
"en"
],
"type": "string"
}
},
"required": [
"kind"
],
"type": "object"
},
"name": "swiss_rates",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
},
{
"description": "Next waste collection dates (cardboard, paper, household waste, green waste…) from municipal open\ndata. Needs the municipality; some cities also need postcode or street (the tool will say).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO date to start from; default today."
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Place as the user said it: municipality, postcode, address or canton, any language (e.g. 'Genf', '8003')."
},
"street": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Street (and number) if the user gave one."
},
"waste_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. Karton/carton/cartone, Papier, Kehricht, Grüngut, Metall. Omit for all types."
}
},
"type": "object"
},
"name": "waste_collection",
"outputSchema": {
"properties": {
"citations": {
"items": {
"type": "object"
},
"type": "array"
},
"data": {
"type": "object"
},
"guidance": {
"type": "string"
},
"missing_context": {
"items": {
"type": "object"
},
"type": "array"
},
"status": {
"enum": [
"ok",
"needs_context",
"not_covered",
"not_found",
"source_error"
]
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"summary"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c9a0132361773c8ebb2db483da0bfa612446e806c8c90f3bd0cf06ac093de1a2 | sha256sum