Skip to main content
Glama
Gastaan

Swiss Grounding MCP

by Gastaan

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTNoSame as --transport/--host/--port.0.0.0.0
PORTNoSame as --transport/--host/--port.8000
SGM_OFFLINENoServe from cache only, never hit the network.false
SGM_CACHE_DIRNoHTTP response cache.~/.cache/swiss-grounding-mcp
SGM_LOG_LEVELNoLogs go to stderr: one line per tool call (tool, status, bytes, ms) and per upstream fetch.INFO
SGM_TRANSPORTNoSame as --transport/--host/--port.stdio
SGM_USER_AGENTNoSent with every request.browser-compatible string identifying SwissGroundingMCP/<version> (+repo URL)
SGM_HTTP_TIMEOUTNoSeconds per upstream request.15
SGM_MIN_INTERVALNoMinimum seconds between requests to the same host.0.5
SGM_RESPECT_TERMSNoOnly use sources whose terms allow automated access (e.g. zefix.ch's web backend is not used; the official UID web service is).true
SGM_RESPECT_ROBOTSNoRespect robots.txt of every website fetched (RFC 9309, via Protego). Set `false` to disable.true

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
swiss_coverageA

List the topics, geography, sources and freshness this server covers, and what it does not. Call this only when unsure whether a question is in scope.

swiss_place_infoA

Resolve a Swiss place to its official municipality: BFS number, canton, district, postcodes, permanent resident population (latest BFS figure) and official website. Use for "how many people live in X", "which canton is X in", or to find a municipality's website.

search_official_infoA

Full-text search over official Swiss web pages: ch.ch (all languages), federal offices, the 26 cantons and large cities. Use for procedures, rules, deadlines, fees and "how do I…" questions (permits, moving, taxes, social insurance, driving licences, customs, schools, housing, voting). Give place to restrict results to federal + that canton/municipality. Returns verbatim excerpts with URLs.

read_official_pageA

Fetch the current text of an official Swiss page (live, respecting robots.txt) and return the passages around focus. Only official Swiss domains are allowed.

swiss_federal_lawA

Quote federal law from the official consolidated text on Fedlex (version currently in force), with article links. Federal law only; cantonal law is not included.

health_insurance_premiumsA

Cheapest mandatory basic health insurance premiums (Grundversicherung, assurance de base, assicurazione di base — every plan here is basic insurance) for a municipality, age and deductible, from the official FOPH premium data (same data as priminfo.admin.ch).

swiss_holidaysB

School holidays by canton or municipality, or public holidays, for a year.

waste_collectionA

Next waste collection dates (cardboard, paper, household waste, green waste…) from municipal open data. Needs the municipality; some cities also need postcode or street (the tool will say).

public_transportA

Swiss public transport connections or next departures (official timetable data).

federal_votesA

Subjects of the next federal popular vote, or official results of a past vote.

swiss_ratesA

Current mortgage reference interest rate for rents (BWO) or SNB CHF exchange rates.

company_registerA

Check whether a company is registered: UID, legal seat, commercial register and VAT status, from the federal UID register.

current_weatherA

Latest measured weather (temperature, humidity, precipitation, wind) at the MeteoSwiss station nearest to a Swiss municipality. Measurements only, no forecasts.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 13 tools

Disambiguation5/5

Each tool addresses a clearly distinct domain (e.g., transport, legal texts, health premiums, weather, company registry). The only related pair is search_official_info and read_official_page, but one is for finding pages and the other for reading specific content, so no ambiguity.

Naming Consistency4/5

All tools use lowercase with underscores, but they mix prefixes ('swiss_' vs none) and verb/alNoun patterns (e.g., 'public_transport' vs 'search_official_info'). Still, the naming is readable and follows a consistent snake_case convention, so minor deviations do not cause confusion.

Tool Count5/5

With 13 tools, the server covers a broad range of Swiss official information without being excessive. Each tool serves a distinct purpose and fits the stated goal of Swiss grounding, making the count appropriate.

Completeness5/5

The server covers major Swiss information domains: transport, official search, laws, health insurance, holidays, waste, votes, rates, companies, and weather. It also includes a coverage tool to handle out-of-scope queries, mitigating potential gaps. The lifecycle is appropriate for a read-only grounding server.

Maintenance

ActivityMaintained
ResponsivenessNo issues