data-bs-mcp

data-bs-mcp

MCP server for querying Huwise/Opendatasoft data portals. Enables dataset search, metadata retrieval, record filtering with ODSQL, and data export.

Category
Visit Server

README

data-bs-mcp

MCP server for any Huwise/Opendatasoft data portal.

Installation

uv sync

Usage

uv run main.py

Debug

npx @modelcontextprotocol/inspector uv run main.py

Install with uvx

uvx --from git+https://github.com/DCC-BS/mcp-data-bs data-bs-mcp

Selecting a catalog

The catalog is chosen by whoever deploys the server via the .env file next to main.py. All Huwise/Opendatasoft portals share the same API path, so you only set the domain:

# .env
DATA_PORTAL_DOMAIN=data.bl.ch

The full API base URL is built as https://<domain>/api/explore/v2.1.

The .env file is committed, so a fork carries its catalog choice through uvx installs as well.

Configuration

OpenCode

Add to your OpenCode config:

{
  "mcpServers": {
    "data-bs": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/data-bs-mcp",
        "run",
        "main.py"
      ]
    }
  }
}

Cursor

Add to your Cursor config (~/.cursor/mcp.json):

{
  "mcpServers": {
    "data-bs": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/data-bs-mcp",
        "run",
        "main.py"
      ]
    }
  }
}

Tools

get_datasets

Search and list available datasets.

Two search modes:

  • semantic (default): ranks the catalog by meaning using the vector_similarity explore endpoint from Huwise. Best for natural-language / conceptual queries. Matches synonyms and other languages.
  • lexical: classic full-text match on the exact terms.
# semantic (default) — natural language, ranked by relevance
get_datasets(search="air quality measurements")

# lexical — exact full-text match
get_datasets(search="luft", search_mode="lexical")

# combine with facet filters
get_datasets(search="bevölkerung", refine="publisher:Statistisches Amt")

get_dataset

Get detailed metadata for a specific dataset.

get_dataset(dataset_id="100113")

get_records

Query records from a dataset with ODSQL filtering.

get_records(dataset_id="100113", where="pm25 > 10", limit=100, order_by="time DESC")

get_facets

Get available facet values for filtering.

get_facets(facet="publisher")  # Options: publisher, keyword, theme, features, modified, language

export_dataset_url

Get download URL for dataset export.

export_dataset_url(dataset_id="100113", format="csv", where="sensornr=240")

Formats: csv, json, geojson, xlsx, shp, parquet, gpx, kml, rdfxml, jsonld, turtle

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured