BFS STAT-TAB PxWeb API for official Swiss statistics
Swiss MCP server exists for a simple reason — assistants are far more useful when they can act on Swiss directly instead of describing what you should do. BFS STAT-TAB PxWeb API for official Swiss statistics.
This server is Alpha (0.x) as per the PyPI classifier. Until 1.0:
swiss-statistics-mcp provides AI-native access to the Swiss Federal Statistical Office (BFS) via the STAT-TAB PxWeb API, without authentication:
swiss-statistics-mcp on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.
Once Swiss is connected, these are the calls the assistant has available:
bfs_featured_datasets — Curated list of highly relevant datasets (focus on education and demographics)bfs_browse_catalog — Browse the catalogue: all 21 themes (no theme_code), or all tables in a theme (e.g. theme_code="15" = Education and Science)bfs_search_tables — Full-text search across the entire data catalogue (682 datasets)bfs_get_table_metadata — Variables, values and metadata for a specific tablebfs_get_data — Data retrieval with optional filters by dimensions and valuesbfs_education_stats — Convenience tool: teachers, pupils, demographic scenarios, scholarshipsbfs_population — Resident population by canton, year, age structure or sexbfs_compare_cantons — Cross-cantonal comparison for any table and any variablelookup_commune — Resolve a commune by name or BFS number as of a given date (canton, validity, LINDAS URI)resolve_historical_commune — Map a historical BFS number onto today's number(s) — re-key old statistics across fusionslist_communes — List all communes of a canton as of a given datesearch_historical_series — Search long-run time series in Historical Statistics of Switzerland (HSSO)Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Swiss's toolset — bfs_featured_datasets, bfs_browse_catalog, bfs_search_tables and 11 more — is a fair guide to whether it matches your workflow. It is maintained by malkreide; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| bfs_featured_datasets | Curated list of highly relevant datasets (focus on education and demographics) |
| bfs_browse_catalog | Browse the catalogue: all 21 themes (no theme_code), or all tables in a theme (e.g. theme_code="15" = Education and Science) |
| bfs_search_tables | Full-text search across the entire data catalogue (682 datasets) |
| bfs_get_table_metadata | Variables, values and metadata for a specific table |
| bfs_get_data | Data retrieval with optional filters by dimensions and values |
| bfs_education_stats | Convenience tool: teachers, pupils, demographic scenarios, scholarships |
| bfs_population | Resident population by canton, year, age structure or sex |
| bfs_compare_cantons | Cross-cantonal comparison for any table and any variable |
| lookup_commune | Resolve a commune by name or BFS number as of a given date (canton, validity, LINDAS URI) |
| resolve_historical_commune | Map a historical BFS number onto today's number(s) — re-key old statistics across fusions |
| list_communes | List all communes of a canton as of a given date |
| search_historical_series | Search long-run time series in Historical Statistics of Switzerland (HSSO) |
| bfs_construction_activity | New buildings & dwellings per commune (yearly), incl. dwelling room-size mix |
| bfs_construction_investment | Building investment & Arbeitsvorrat (leading indicator) by region/canton/commune |
{
"mcpServers": {
"swiss-statistics": {
"command": "python",
"args": ["-m", "swiss_statistics_mcp.server"]
}
}
}Configuration as documented by the project. Restart the client after saving.
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.