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 overlayshow_air_quality_map— spatial distribution on a European map (scattergeo), variable dropdown with lazy loadingcompare_cities— multi-city comparison on shared time axisquery_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.parquetto thedata-latestrelease - 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):
CallToolResultwithcontent(model summary) +structuredContent(UI data)- App-only tools (
visibility: ["app"]) for lazy data loading - UI resources with CSP metadata,
@modelcontextprotocol/ext-appsSDK 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.