Supabase
MCP server for interacting with the Supabase platform
作者提供的说明(英文原文)
UN FAOSTAT global food & agriculture statistics over a local SQLite mirror, via MCP.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
FAOSTAT_DOMAINS, FAOSTAT_MIRROR_PATH, FAOSTAT_BULK_BASE_URL, CANVAS_PROVIDER_TYPE, FAOSTAT_DATAFRAME_DROP_ENABLED, MCP_LOG_LEVEL你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://faostat.caseyjhand.com/mcp打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"faostat": {
"command": "npx",
"args": [
"-y",
"@cyanheads/faostat-mcp-server"
],
"env": {
"FAOSTAT_DOMAINS": "your-value",
"FAOSTAT_MIRROR_PATH": "your-value",
"FAOSTAT_BULK_BASE_URL": "your-value",
"CANVAS_PROVIDER_TYPE": "your-value",
"FAOSTAT_DATAFRAME_DROP_ENABLED": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http faostat https://faostat.caseyjhand.com/mcpclaude mcp add faostat --env FAOSTAT_DOMAINS=your-value --env FAOSTAT_MIRROR_PATH=your-value --env FAOSTAT_BULK_BASE_URL=your-value --env CANVAS_PROVIDER_TYPE=your-value --env FAOSTAT_DATAFRAME_DROP_ENABLED=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/faostat-mcp-server运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"faostat": {
"url": "https://faostat.caseyjhand.com/mcp"
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"faostat": {
"command": "npx",
"args": [
"-y",
"@cyanheads/faostat-mcp-server"
],
"env": {
"FAOSTAT_DOMAINS": "your-value",
"FAOSTAT_MIRROR_PATH": "your-value",
"FAOSTAT_BULK_BASE_URL": "your-value",
"CANVAS_PROVIDER_TYPE": "your-value",
"FAOSTAT_DATAFRAME_DROP_ENABLED": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"faostat": {
"type": "http",
"url": "https://faostat.caseyjhand.com/mcp"
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"faostat": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/faostat-mcp-server"
],
"env": {
"FAOSTAT_DOMAINS": "your-value",
"FAOSTAT_MIRROR_PATH": "your-value",
"FAOSTAT_BULK_BASE_URL": "your-value",
"CANVAS_PROVIDER_TYPE": "your-value",
"FAOSTAT_DATAFRAME_DROP_ENABLED": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://faostat.caseyjhand.com/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
FAOSTAT_DOMAINS envFAOSTAT_MIRROR_PATH envFAOSTAT_BULK_BASE_URL envCANVAS_PROVIDER_TYPE envFAOSTAT_DATAFRAME_DROP_ENABLED envMCP_LOG_LEVEL env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
faostat_list_domainsDiscover 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`
faostat_resolve_codesResolve labels to the numeric codes or exact alphanumeric item identities faostat_query_observations needs: areas (countries/regions), items (commodities), and elements (metrics). Use query for full-text matching, name_contains for substring matching, code or code_text for exact
faostat_query_observationsQuery a FAOSTAT domain's data cube by area(s), item(s), element(s), sources, and year range, returning values with units and data-quality flags. Resolve numeric codes or exact alphanumeric item identities with faostat_resolve_codes; element resolution accepts item selectors and r
faostat_commodity_profileAssemble a global profile for one QCL item in a single call: top-producing countries, the annual production trend, and trade flows (top exporters and importers). Supply item_code or item_query; code wins when both are supplied. A query selects a unique normalized exact label, oth
faostat_dataframe_queryRun a single-statement SELECT against canvas tables staged by faostat_query_observations and faostat_commodity_profile (faostat_xxxxxxxx). Use DuckDB joins, aggregates, window functions, and CTEs for rankings and time-series analysis. Item groups can overlap their members even wi
faostat_dataframe_describeList 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 di
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 cyanheads 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 202 毫秒内响应(HTTP 200)
无需登录
已读取 6 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.6.0)于4天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Supabase, MongoDB MCP Server, Elasticsearch MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP server for interacting with the Supabase platform
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
@cyanheads/faostat-mcp-server Global food & agriculture statistics from the UN FAOSTAT bulk-download corpus, served from a local SQLite mirror with a DataCanvas SQL surface, via MCP. STDIO or Streamable HTTP. 7 Tools • 1 Skill Resource • 0 Prompts
Public Hosted Server: https://faostat.caseyjhand.com/mcp
Global food and agriculture statistics from the UN's FAOSTAT: production, trade, food balances, food security, land use, fertilizer, and emissions for 245+ countries and territories since 1961. Resolve commodity and country codes, query the data, and run SQL over large results.
| Tool | Description |
|---|---|
faostat_list_domains | Discover FAOSTAT statistical domains with codes, descriptions, last-update date, upstream row count, and local index status. The entry point — every query keys on a domain code. |
faostat_resolve_codes | Resolve human terms to the codes a query needs (areas, items, elements), flagging each area as a country or an aggregate region. |
faostat_query_observations | Query a domain's cube by area(s), item(s), element(s), and year range. Inline preview for small results; large sets spill to a DataCanvas table. |
faostat_commodity_profile | Workflow: assemble top producers, the production trend, and trade flows for one commodity from the production and trade domains in a single call. |
faostat_dataframe_query | Run a read-only SQL SELECT against the canvas tables staged by the analytical tools. |
faostat_dataframe_describe | List the canvas tables staged this session, each with provenance, row count, and column schema. |
faostat_dataframe_drop | Drop one staged canvas table before its 2-hour TTL. Opt-in — callable only with FAOSTAT_DATAFRAME_DROP_ENABLED=true. |
faostat_list_domains toolcode for an exact domain lookup; topic substring filter over code/name/topic; indexed_only to list only domains queryable from the local mirroroffset + limit (max 200, default 20) page the catalog — response reports totalMatches, truncated, and nextOffsetindexed / index_ready flags, local row count, and last completed syncfaostat_resolve_codes toolquery, substring name_contains, or exact code lookup within a dimension: area, item, or element; code_text looks up alphanumeric itemsdomain's cube; area codes are shared across domainsunits; item_codes or item_codes_text restrict element discovery and units to selected items. Item/element lookups require that domain to be readycountry or aggregate (codes ≥ 5000, plus curated sub-threshold roll-ups such as China=351)aggregate by domain. Classification is incomplete: kind: null does not mean items can safely be summed togetherlimit (max 200, default 50) + offset page the match setunknown_domain, index_not_ready, invalid_text_selector, invalid_item_scope, query_timeoutfaostat_query_observations toolarea_codes / item_codes / item_codes_text / element_codes / source_codes and an inclusive year_start / year_end rangeitem_code_text with item_code: null; numeric items retain their integer codeperiod (e.g. 2000-2002) and use its midpoint as year for filtering. Censored values retain the numeric bound plus value_qualifier (e.g. < with 2.5)source_code and source; omitting source_codes returns all sources, which must be compared separately rather than summedavailable_elements with labels and units for those items; this does not establish coverage for the requested areas, years, or sourcesinclude_aggregates: false); explicit area_codes bypass the exclusionlimit caps the inline page (default 200, max 1000); a match that exceeds it spills in full to a DataCanvas table (50,000-row staging cap) — faostat_dataframe_describe for its columns, then SQL via faostat_dataframe_queryflag (A/E/I/B/M/T/X, others per domain) — never droppeddomain_not_indexed, index_not_ready, canvas_disabled, canvas_not_found, invalid_year_range, conflicting_item_selectors, query_timeoutfaostat_commodity_profile toolitem_code or item_query (code takes precedence), then ranks top producers/exporters/importers and returns an annual production trendmaize or milk, call faostat_resolve_codes with domain: "QCL", dimension: "item", and the query, then pass the selected item_code (e.g. 56 for maize grain)top_n caps each ranked list (max 50); when the merged observation set is too large to inline it spills to a DataCanvas table — faostat_dataframe_describe for its columns, then faostat_dataframe_query for further SQLmissing_item, ambiguous_item, no_match, domain_not_indexed, index_not_ready, invalid_year_range, canvas_not_found, query_timeoutfaostat_dataframe_query toolSELECT over staged faostat_xxxxxxxx tables — joins, aggregates, window functions, and CTEs all workDROP, COPY, PRAGMA, ATTACH, external-file functions, and system catalogs (information_schema, sqlite_master, duckdb_*) are rejectedquery_table, dynamic query() SQL, and file table references are rejected; query() with a single literal read-only SELECT remains supportedrow_limit caps the response (default 1000, max 10000); truncated means more rows exist, with no exact total computed on this pathcanvas_disabled, canvas_not_found, missing_table, system_catalog_access, invalid_sqlfaostat_dataframe_describe toolname describes one table outright; otherwise offset + limit (max 100, default 20) page the listing newest-firstcanvas_disabled, canvas_not_found, missing_tablefaostat_dataframe_drop tooltools/list — unless FAOSTAT_DATAFRAME_DROP_ENABLED=truefaostat_xxxxxxxx table and its provenance from the session canvas, or from the canvas a canvas_id namesdropped: false with a notice and changes nothingcanvas_disabled, canvas_not_foundThe faostat-guide covers reporting periods, censored values, source estimates, country versus regional totals, units, coverage, and complete SQL analysis across staged results. It ships with plugin, npm, Docker, and MCPB installs and is served through the MCP Skills extension as a skill resource.
Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.
FAOSTAT-specific:
MirrorService, with FTS5 over the dimension labels driving code resolutionFAOSTAT_DOMAINS) — the indexed set can grow without code changes, and the full catalog stays browsable regardlessGROUP BY, ranking, and time-series analysis over spilled result setsAgent-friendly output:
A/E/I/B/M/T/X, others per domain), never dropped from outputfaostat_commodity_profile returns a production-only profile with a notice, rather than failing, when the trade domain isn't indexedindex_not_ready, domain_not_indexed, canvas_disabled, and others each carry a concrete recovery hintConnect to the hosted instance, no install:
claude mcp add --transport http faostat-mcp-server https://faostat.caseyjhand.com/mcp
Or run it locally after building the mirror:
claude mcp add faostat-mcp-server -- npx -y @cyanheads/faostat-mcp-server
For other clients, add this to the MCP config file:
{
"mcpServers": { "faostat-mcp-server": { "command": "
只显示了开头部分;其余内容请在仓库中阅读