Skip to main content

Utforska Data MCP Server

MCP server package for discovering datasets, fetching filtered data, creating deep links, and generating reports from Utforska Data.

Package: utforska-data-mcp

Tooling Surface

  • discover_datasets
  • get_dataset_details
  • fetch_data
  • build_export_link
  • build_session_link
  • generate_report
  • build_session_export_link

discover_datasets and generate_report also support Apps SDK output templates (widget resources).

Run Modes

1) MCP stdio (client launches via uvx)

{
  "mcpServers": {
    "utforska-data": {
      "command": "uvx",
      "args": ["utforska-data-mcp"]
    }
  }
}

2) Streamable HTTP (standalone)

cd backend/mcp-server
uv run utforska-data-mcp-http

Defaults:

  • MCP endpoint: http://localhost:8080/mcp/
  • Health: http://localhost:8080/health

3) Embedded in main API server

backend/api_server.py mounts MCP on /mcp.

Configuration

  • MCP_BACKEND_URL (default: https://utforskadata.se)
  • MCP_APP_URL (default: https://utforskadata.se)
  • MCP_SESSION_API_URL (optional override for session create/load API)
  • MCP_DEFAULT_LANG (sv or en, default sv)

HTTP mode options:

  • MCP_HTTP_HOST (default 0.0.0.0)
  • MCP_HTTP_PORT (default 8080)
  • MCP_HTTP_PATH (default /mcp)
  • MCP_HTTP_STATELESS (default true)
  • MCP_HTTP_JSON_RESPONSE (default false)

Local Development

cd backend/mcp-server
pip install -e .

or run package scripts directly via uv run.

Switching from a Kolada-only MCP Server

If someone already has a Kolada MCP server, migration can be minimal if they keep the same interaction pattern.

Fastest path (endpoint swap)

  1. Keep their MCP client/tooling layer.
  2. Point backend calls to Utforska endpoints instead:
    • discovery: POST /api/ai/discover
    • details: GET /api/v2/datasets/{id}
    • data: GET /api/v2/datasets/{id}/data
    • export: GET /api/v2/datasets/{id}/export
  3. Restrict to Kolada when needed via source filters (sources: ["kolada"]).
  4. Keep existing response contract in their MCP wrapper if they need backward compatibility.

If they adopt this MCP package directly

  • Replace MCP server command with uvx utforska-data-mcp.
  • Optionally set:
    • MCP_BACKEND_URL to their Utforska backend host
    • MCP_APP_URL to their app host

Data model differences to account for

Compared with a Kolada-only service, Utforska adds:

  • Multi-source dataset IDs (not only Kolada IDs)
  • Normalized content_measures and breakdowns
  • Optional session creation/loading deep links

If they currently use direct DB access instead of HTTP APIs, they would need mapping to:

  • datasets
  • dataset_values
  • dimension_mappings
  • metric_aggregations

Using HTTP endpoints is usually much faster and safer than binding to internal tables directly.

Metadata

Release files for utforska-data-mcp 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for utforska-data-mcp 1.0.4
File Size Uploaded Provenance Actions
utforska_data_mcp-1.0.4.tar.gz 46.6 kB Without provenance Details for utforska_data_mcp-1.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for utforska-data-mcp 1.0.4
File Interpreter ABI Platform Actions
utforska_data_mcp-1.0.4-py3-none-any.whl Python 3 none any Details for utforska_data_mcp-1.0.4-py3-none-any.whl

Total release size: 101.4 kB

Release files / utforska_data_mcp-1.0.4.tar.gz

Download URL utforska_data_mcp-1.0.4.tar.gz
Size 46.6 kB
Tags Source
SHA-256 checksum
How to use checksums
928c8adeeebb5df4beaec00aa29e2bcebf1d43eb4fee663d2bcdc889b8f26cba
BLAKE2b-256 checksum
How to use checksums
5a78b6a166193d7d25c139715e87d3958799786059dc7061ed268f487df2f7ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / utforska_data_mcp-1.0.4-py3-none-any.whl

Download URL utforska_data_mcp-1.0.4-py3-none-any.whl
Size 54.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2eb72ab90c349b31d0064834aa7319588c94ed4343739b55f6fd6447ea544adf
BLAKE2b-256 checksum
How to use checksums
fc5add5e0c8069c4358cfb6ba7ac6f5d77e63b61ffd06e4c30bc84b5a8f117b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Security for utforska-data-mcp 1.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page