BAK cultural heritage, ISOS, living traditions, RSS
Valid MCP server (1 strong, 3 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
4 files analyzed Β· 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-malkreide-swiss-culture-mcp": {
"args": [
"swiss-culture-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
π¨π Part of the Swiss Public Data MCP Portfolio
MCP server for Swiss cultural heritage data from the Federal Office of Culture (BAK) β ISOS townscapes, Living Traditions, cultural prizes, press releases. No API key required.
π English | Deutsch
swiss-culture-mcp makes Swiss cultural data accessible to AI assistants. The server connects LLMs like Claude with Switzerland's national cultural heritage: from protected townscapes (ISOS) to living traditions of intangible cultural heritage and current cultural awards.
Sources: geo.admin.ch REST API Β· news.admin.ch RSS Β· opendata.swiss CKAN Β· lebendige-traditionen.ch
No API key required. All data sources are publicly available (Open Government Data).
Anchor demo query: "Which protected townscapes are there in the school districts of the city of Zurich, and what living traditions are practised there?"
| # | Tool | Description |
|---|---|---|
| 1 | bak_search_isos | Search ISOS townscapes by place name |
| 2 | bak_isos_by_kanton | List all ISOS objects in a canton |
| 3 | bak_get_isos_detail | Get full details of an ISOS object |
| 4 | bak_isos_by_kategorie | Filter ISOS by settlement type (Stadt, Dorf, etc.) |
| 5 | bak_isos_statistics | ISOS inventory statistics (sampled by canton) |
| 6 | bak_get_news | Current BAK press releases |
| 7 | bak_get_kulturpreise | Swiss cultural prizes (Film Prize, Grand Prix Literature, etc.) |
| 8 | bak_get_opendata | BAK datasets on opendata.swiss |
| 9 | bak_list_traditions | List Switzerland's Living Traditions |
| 10 | bak_get_tradition_detail | Get detailed description of a tradition |
3 Resources: bak://isos/kantone Β· bak://isos/kategorien Β· bak://kulturpreise/uebersicht
| Source | API Type | Content |
|---|---|---|
| geo.admin.ch | REST MapServer | ISOS (Federal Inventory of Swiss Townscapes) |
| news.admin.ch | RSS Feed | BAK press releases, cultural prizes |
| opendata.swiss | CKAN REST API | BAK open data datasets |
| lebendige-traditionen.ch | HTML Fetch | 228 entries of intangible cultural heritage |
uv or pip# Recommended: uvx (no install step needed)
uvx swiss-culture-mcp
# Alternative: pip
pip install swiss-culture-mcp
# Start the server (stdio mode for Claude Desktop)
uvx swiss-culture-mcp
Try it immediately in Claude Desktop:
"Show me all protected townscapes in the canton of GraubΓΌnden" "Which living traditions are practised in canton Appenzell?" "Which Swiss cultural prizes were awarded in 2026?"
| Variable | Default | Description |
|---|---|---|
MCP_TRANSPORT | stdio | Transport: stdio or streamable_http |
MCP_HOST | 127.0.0.1 | Bind host for HTTP transport (loopback by default) |
MCP_PORT | 8000 | Port for HTTP transport |
MCP_ALLOW_PUBLIC_BIND | false | If true, permits binding 0.0.0.0 without auth. Set this only behind an authenticating reverse proxy (e.g. Cloudflare Access, oauth2-proxy). |
LOG_LEVEL | INFO | DEBUG, INFO, WARNING, ERROR β structured JSON logs to stderr |
{
"mcpServers": {
"swiss-culture": {
"command": "uvx",
"args": ["swiss-culture-mcp"]
}
}
}
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAfter restarting Claude Desktop, all tools are available. Example queries:
For use via claude.ai in the browser (e.g. on managed workstations without local software):
Render.com (recommended):
https://your-app.onrender.com/mcp# Docker / local HTTP mode (loopback only β safe default)
MCP_TRANSPORT=streamable_http MCP_PORT=8000 python -m swiss_culture_mcp.server
# Public bind (DANGEROUS β only behind an authenticating reverse proxy)
MCP_TRANSPORT=streamable_http MCP_HOST=0.0.0.0 MCP_ALLOW_PUBLIC_BIND=true \
python -m swiss_culture_mcp.server
β οΈ Security: The server itself has no authentication. Binding to a public interface without an upstream auth layer turns it into an open proxy for the federal data sources. Always run an authenticating reverse proxy (Cloudflare Access, oauth2-proxy, nginx + auth_request) in front of
0.0.0.0deployments.
βββββββββββββββββββ ββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββ
β Claude / AI ββββββΆβ Swiss Culture MCP ββββββΆβ geo.admin.ch REST β
β (MCP Host) βββββββ (MCP Server) βββββββ news.admin.ch RSS β
βββββββββββββββββββ β β β opendata.swiss CKAN β
β 10 Tools Β· 3 Resources β β lebendige-traditionen β
β Stdio | Streamable HTTP β ββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββ
swiss-culture-mcp/
βββ src/
β βββ swiss_culture_mcp/
β βββ __init__.py
β βββ server.py # All 10 tools, 3 resources
βββ tests/
β βββ conftest.py # pytest configuration
β βββ test_server.py # 36 tests (unit + live)
βββ pyproject.toml
βββ CHANGELOG.md
βββ CONTRIBUTING.md # Contribution guide (English)
βββ CONTRIBUTING.de.md # Contribution guide (German)
βββ SECURITY.md # Security policy & posture (English)
βββ SECURITY.de.md # Security policy & posture (German)
βββ LICENSE
βββ README.md # This file (English)
βββ README.de.md # German version
# Unit tests (no API key required)
PYTHONPATH=src pytest tests/ -m "not live"
# Integration tests (live API calls)
PYTHONPATH=src pytest tests/ -m "live"
"Which protected townscapes are there in the school districts of the city of Zurich?"
β bak_isos_by_kanton(kanton="ZH") + bak_get_isos_detail(...)
"Find living traditions for a project week on the theme of cultural heritage"
β bak_list_traditions() + bak_get_tradition_detail(slug="...")
"Which UNESCO World Heritage Sites are also in ISOS?"
β bak_search_isos(query="...") + bak_get_opendata(query="UNESCO")
"Is the building at address X within an ISOS perimeter?"
β bak_search_isos(query="community/place name")
"Which BAK datasets are available for GIS integration?"
β bak_get_opendata() β WMS/WFS URLs for GIS software
"Show current cultural policy of the federal government"
β bak_get_news() + bak_get_kulturpreise()
β More use cases by audience β
| Aspect | Details |
|---|---|
| Access | Read-only β the server cannot modify or delete any data |
| Personal data | No personal data β all sources are aggregated, public cultural heritage data |
| Rate limits | Built-in per-query caps (e.g. max 100 ISOS results, 50 news items, 200 category entries) |
| Timeout | 20 seconds per API call |
| Authentication | No API keys required β all 4 data sources are publicly accessible |
| Licenses | All data under open licenses (Open Government Data): geo.admin.ch, opendata.swiss, news.admin.ch |
| Terms of Service | Subject to ToS of the respective data sources: geo.admin.ch, opendata.swiss, news.admin.ch, lebendige-traditionen.ch |
swiss-culture-mcp can be combined with other servers in the portfolio:
| Combination | Use Case |
|---|---|
+ swiss-transport-mcp | Cultural tourism: day trips to traditions by public transport |
+ zurich-opendata-mcp | Local cultural atlas: ISOS + Zurich city events |
+ global-education-mcp | Cultural education in international comparison |
+ fedlex-mcp | Cultural property transfer act + BAK enforcement practice |
+ swiss-statistics-mcp | Cultural expenditure by canton (BFS data) |
See CHANGELOG.md
Security posture, hardening details and the responsible-disclosure process are documented in SECURITY.md.
Contributions are welcome β see CONTRIBUTING.md.
MIT License β see LICENSE
Hayal Oezkan Β· malkreide
Run via uv's uvx β no clone or manual install needed. Add to your MCP client config (mcpServers for Claude Desktop, Cursor and Windsurf; use a top-level servers key for VS Code in .vscode/mcp.json):
{
"mcpServers": {
"swiss-culture-mcp": {
"command": "uvx",
"args": [
"swiss-culture-mcp"
]
}
}
}
Be the first to review this server!
by Modelcontextprotocol Β· Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno Β· Developer Tools
Toleno Network MCP Server β Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace Β· Developer Tools
Create, build, and publish Python MCP servers to PyPI β conversationally.