Skip to main content

Python MCP servers exposing Swiss Open Data to compatible LLM clients.

Project description

Open Swiss Model Context Protocol

vc3598_A_typical_scene_of_natural_Switzerland_with_a_swiss_trai_867174fe-a627-4ea9-af22-5025026780a5

PyPI version CI GitHub stars License

Open Swiss MCP connects Large Language Models to Switzerland's open data infrastructure through Anthropic's Open Source Model Context Protocol. This enables any LLMs to provide real-time, data-grounded responses about Swiss public services and informations.

Why Open Swiss MCP?

  • Rich Data Source: Access to 12,000+ high-quality datasets from opendata.swiss, Switzerland's official open data platform.
  • Real-Time Insights: Get accurate answers about Swiss public services (weather, transport, etc.)
  • Simple Integration: Built on Anthropic's Model Context Protocol for seamless LLM integration with any supported clients.
  • Open Architecture: Designed for community contribution and dataset expansion.

Key Features

  • One-Command setup
  • Access to Swiss public datasets (incl. SBB real-time train informations, Weather updates...)
  • Compatible with Claude and other MCP-enabled LLMs Application

We maintain a strong focus on reliability, simplicity, and extensibility. Contributions to expand the supported datasets are welcome!

Usage

Prerequisites

If you want to use Open Swiss MCP with Claude Desktop app client you need to install the Claude Desktop app.

You will also need uv to easily run our CLI and MCP servers.

macOS & Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Open Swiss MCP - CLI Tool

Overview

# show available commands
uvx osmcp 

# show available providers
uvx osmcp list

# show info about a provider
uvx osmcp info $PROVIDER_NAME

# setup a provider's MCP server on your Claude Desktop app
uvx osmcp setup $PROVIDER_NAME

# remove a provider's MCP server from your Claude Desktop app
uvx osmcp remove $PROVIDER_NAME

Example

Quickstart for the SBB provider:

uvx setup sbb

Contributing

We want to scale!

  • keep things as simple as possible -> toward AI generated pages keep things in single file
  • keep things as standard as possible (TOOLS, TOOLS_HANDLER) and follow the guidelines for what should be a tool, what should be a resource...
  • keep it as low as possible in external dependencies (weigh always pros / cons of integrating a new dependency with always a bias toward not adding it)
  • keep things formatted with ruff
  • keep things tested with pytest
  • use typehints and pydantic model for input output of api requests

Concretly: brew install uv / or other mean to install uv git clone uv venv uv sync pre-commit install

Roadmap

data extension

  1. integrate as many sources as possible from opendata.swiss

framework extension

  1. add support for

Limitations

  • please oblige to the license must be quoted in commercial application
  • please oblige to the license of the data providers

References

  • Model Context Protocol (Anthropic)

License

This project is licensed under the MIT License - see the LICENSE file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

osmcp-0.1.8.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

osmcp-0.1.8-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file osmcp-0.1.8.tar.gz.

File metadata

  • Download URL: osmcp-0.1.8.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for osmcp-0.1.8.tar.gz
Algorithm Hash digest
SHA256 002cb6d542b39b28124f75af9219c8438b2b6ee3323ffc89672d886561ca0faa
MD5 0501f3c1825d296ca4f756b1573719e3
BLAKE2b-256 18c96f63504bd2754993c05939e6b7665664e17efee6758ef160ddb6e11be329

See more details on using hashes here.

Provenance

The following attestation bundles were made for osmcp-0.1.8.tar.gz:

Publisher: release.yml on grll/OpenSwissMCP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file osmcp-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: osmcp-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for osmcp-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f4e3202b3d76fe28d507f871bc9809fea0c94fcd4b44b6445d05f3ae1e13008e
MD5 04b44615ac604085bd82ec1d4ec2bd41
BLAKE2b-256 621ccfd6f6961e6e512c722af1db5e69614dfb4efe0fc3b9285f8c141638d64a

See more details on using hashes here.

Provenance

The following attestation bundles were made for osmcp-0.1.8-py3-none-any.whl:

Publisher: release.yml on grll/OpenSwissMCP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page