Skip to content

v0.2.0 — MCP Apps + Remote Parquet

Latest

Choose a tag to compare

@bjoernbethge bjoernbethge released this 30 Mar 14:14

What's new

MCP Apps Server — interactive Plotly charts rendered directly in Claude Desktop:

  • analyze_air_quality — time series for Saharan dust, SO₂, PM2.5 with forecast stitching + UBA station overlay
  • show_air_quality_map — spatial distribution on a European map (scattergeo), variable dropdown with lazy loading
  • compare_cities — multi-city comparison on shared time axis
  • query_measurements — query the remote Parquet archive
  • 3 MCP prompts: luftqualitaet, staedtevergleich, saharastaub_lage

Remote Data via DuckDB httpfs — no local CAMS download, no API key needed:

  • Daily CI workflow uploads analysis.parquet + forecast.parquet to the data-latest release
  • MCP server reads directly from GitHub via DuckDB read_parquet('https://...')
  • Coverage: Central Europe (44–56°N, 2–18°E), 14 days analysis + 5 days forecast

MCP Apps protocol (SEP-1865):

  • CallToolResult with content (model summary) + structuredContent (UI data)
  • App-only tools (visibility: ["app"]) for lazy data loading
  • UI resources with CSP metadata, @modelcontextprotocol/ext-apps SDK v1.3.2

CLI — still works as before with local CAMS downloads (~/.cdsapirc required).

Setup (Claude Desktop)

{
  "mcpServers": {
    "dust-analyzer": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/dust-analyzer", "python", "-m", "dust_analyzer", "--mcp"]
    }
  }
}

No API key needed — data comes from the public GitHub Release.