Faostat MCP Server
UN FAOSTAT global food & agriculture statistics over a local SQLite mirror, via MCP.
Connect it
Settings → Connectors → Add custom connector
URL: https://faostat.caseyjhand.com/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://faostat.caseyjhand.com/mcp{
"mcpServers": {
"faostat-mcp-server": {
"url": "https://faostat.caseyjhand.com/mcp"
}
}
}claude mcp add --transport http faostat-mcp-server https://faostat.caseyjhand.com/mcp{
"servers": {
"faostat-mcp-server": {
"type": "http",
"url": "https://faostat.caseyjhand.com/mcp"
}
}
}{
"mcpServers": {
"faostat-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/faostat-mcp-server@0.3.0"
]
}
}
}claude mcp add faostat-mcp-server -- npx -y @cyanheads/faostat-mcp-server@0.3.06 tools, verified live
faostat_list_domainsread-onlyDiscover FAOSTAT statistical domains (production, trade, food balances, food security, land use, agri-emissions, prices, value) with their codes, descriptions, last-update date, upstream row count, and local index status. Every query keys on a domain code from here. The `indexed` flag tells you which domains are queryable right now; un-indexed domains exist in the catalog but must be added to FAOS
faostat_resolve_codesread-onlyResolve human terms to the opaque integer codes faostat_query_observations needs, within a dimension: areas (countries/regions), items (commodities), or elements (metrics like production, yield, import quantity). Pass `query` for fuzzy full-text matching ("maize" â item 56), `name_contains` for a substring filter, or `code` for an exact-code lookup; omit all three to list the whole dimension. It
faostat_query_observationsread-onlyQuery a FAOSTAT domain's data cube by area(s), item(s), element(s), and year range, returning observations (area, item, element, year, value, unit, and the data-quality flag). Resolve codes first with faostat_resolve_codes â the cube is unqueryable without them. Aggregate regions (World, continents, economic groupings) are EXCLUDED by default so a naive SUM does not double-count a region with it
faostat_commodity_profileread-onlyAssemble a global profile for one commodity in a single call: top-producing countries, the annual production trend, and trade flows (top exporters and importers). Accepts a commodity name, resolves it to item codes, then queries the production (QCL) and trade (TCL) domains and merges the results. Each ranking is a per-country sum across the resolved items, taken at that country's own latest year w
faostat_dataframe_queryread-onlyRun a single-statement SELECT against the canvas tables staged by faostat_query_observations and faostat_commodity_profile (table names look like faostat_xxxxxxxx). Use this for cross-country and cross-item aggregation, GROUP BY rankings, joins, and time-series analysis over the full result set the inline preview only sampled. Standard DuckDB SQL â joins, aggregates, window functions, CTEs all w
faostat_dataframe_describeread-onlyList the canvas tables (faostat_xxxxxxxx) staged by faostat_query_observations and faostat_commodity_profile, each with its source tool, the query parameters that produced it, creation/expiry timestamps, row count, and column schema. Call this before faostat_dataframe_query to discover the exact table and column names to reference in SQL. Tables are listed newest-first and paged: pass `name` to de
Alternatives in Developer Tools
Compare →MIMiroOfficialA
Official Miro MCP server - Supports context to code and creating diagrams, docs, and data tables.
Context7A
Up-to-date code docs for any prompt
AAAirbyte AgentsOfficialA
Let AI agents query data and act across all your business apps via MCP.
VirusTotalOfficialA
Official VirusTotal MCP server: threat reports, file and URL submissions, and analysis recovery.
NENetdataA
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
OMOmnaraA
Deploy durable AI agents with Omnara, an open-source managed-agent platform.