data-bs-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@data-bs-mcpsearch for air quality datasets in Basel"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
data-bs-mcp
MCP server for any Huwise/Opendatasoft data portal.
Installation
uv syncRelated MCP server: datagovma-mcp
Usage
uv run main.pyDebug
npx @modelcontextprotocol/inspector uv run main.pyInstall with uvx
uvx --from git+https://github.com/DCC-BS/mcp-data-bs data-bs-mcpSelecting 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.chThe 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 thevector_similarityexplore 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, languageexport_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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DCC-BS/mcp-data-bs'
If you have feedback or need assistance with the MCP directory API, please join our Discord server