v0.1.0: Initial release — FAOSTAT food & agriculture statistics over MCP
Initial release — FAOSTAT food & agriculture statistics over MCP
Global food & agriculture statistics from the UN FAOSTAT bulk-download corpus, served from a local SQLite mirror with a DataCanvas SQL surface. STDIO & Streamable HTTP.
Added:
- faostat_list_domains — full domain catalog from the live bulk manifest, annotated with local mirror status.
- faostat_resolve_codes — FTS5 resolution of human terms to area/item/element codes; flags country vs aggregate, surfaces the CPC crosswalk.
- faostat_query_observations — domain cube by area/item/element + year range; excludes aggregate regions (codes >= 5000) by default; spills large results to DataCanvas.
- faostat_commodity_profile — top producers, production trend, and trade flows for one commodity in a single call.
- faostat_dataframe_query / faostat_dataframe_describe — read-only SQL over staged canvas tables, plus table introspection.
- faostat-mirror service — per-domain MirrorService (SQLite + FTS5) and shared dimension store, fed by a streaming bulk-ZIP ingester; mirror:init / mirror:refresh / mirror:verify CLI.
Notes:
- Keyless bulk-download data path; run mirror:init to load the corpus before querying.
- Mirror and DataCanvas are native (better-sqlite3 / bun:sqlite, @duckdb/node-api) — Node/Bun only.
45 tests pass; bun run devcheck clean.