使用说明
数据共享MCP服务器
A. 模型上下文协议 (MCP)服务器,它公开 数据共享 面向人工智能客户端的公共统计知识图 如克劳德桌面、克劳德代码和ChatGPT。
Data Commons是一个开放的知识库,统一了数千个公共数据集 (人口普查、健康、经济、气候等)。此服务器允许 启用MCP的客户端发现正确的统计变量和位置,然后获取实际数据 观察结果——自动将大型结果导出到CSV 有界记忆,即使对于非常 大地域(例如。 所有美国人口普查区),因此它们在其他工具中仍然可用。
这是
cfdude/datacommons-mcp一 经过重新设计的下游分支。它建立在谷歌的数据共享基础上,起源于 数据共享代理工具包,但这个叉子是 不 已发布到PyPI,并在此处独立记录。服务器版本 1.4.0.
两个工具
此服务器恰好公开了两个工具:
| 工具 | 它做什么 |
|---|---|
search_indicators |
查找统计变量和主题(以及哪些地方实际上有它们的数据)。 先叫这个 发现有效变量+放置DCID。 |
get_observations |
获取变量+位置的实际统计数据。小结果会在线返回;大型结果导出到CSV/JSON文件(带有数据预览),非常大的地理区域通过位置分片在有界内存中处理。 |
典型流程: search_indicators 查找DCID→ get_observations 提取数字。
请参阅 参考 对于结构化形状,每个工具都会返回并给出示例提示。
选择您的客户
选择与您将如何运行服务器相匹配的指南:
| 客户端 | 它是什么 | 安装模型 | 指南 |
|---|---|---|---|
| 克劳德桌面 | 桌面应用程序(macOS+Windows) | 一键 .mcpb 延伸;在UI中配置API键 |
docs/claude-desktop.md |
| 克劳德代码 | CLI/编码代理 | 从git或本地克隆自行注册MCP服务器;通过环境变量进行配置 | docs/claude-code.md |
| ChatGPT | OpenAI的应用程序(测试版,计划门控) | 通过开发人员模式实现远程HTTPS MCP端点 | docs/chatgpt.md |
适用于每位客户的参考资料 docs/reference.md. 构建扩展本身的维护人员想要 docs/building-the-expension.md.
获取API密钥
每个客户端都需要一个数据共享API密钥。
- 创建一个 apikeys.datacommons.org (密钥授权
请求
api.datacommons.org). - 将其作为以下内容提供给服务器
DC_API_KEY--无论是在Claude Desktop扩展UI中,还是作为 Claude Code/HTTP服务的环境变量。
输出如何工作
get_observations 根据结果大小在两种输出模式之间做出决定:
- 屏幕(内联)。 小结果直接在响应中返回(
output_mode: "screen"). - 文件(导出)。 较大的结果将写入磁盘上的文件(
output_mode: "file").而非 原始行,响应携带file_path,rows_written,file_size_bytes,unique_places_count,format,加上apreview(第一排,这样助理就可以看到 不打开文件的内容),asummary,variable_name,以及columns.
割接由以下人员控制 DC_SCREEN_ROW_THRESHOLD (默认值 500 行)。导出默认值为
逗号分隔值 (DC_OUTPUT_FORMAT),因此结果直接进入电子表格和数据工具。
大型和超大型数据集(内存受限)
数据共享API无法流式传输或分页,并拒绝过大的请求,因此服务器保持 big导出内存限制在两个自动层中——没有额外的标志:
- 源自动选择。 大型儿童场所出口(例如。 所有美国县×所有年份)是 每个位置提取为单个主源(自动选择),减少峰值内存~10×(≈1 GB→ ≈150 MB),结果相同。传递显式源以进行精确控制。
- 放置分片。 查询跨越的地点超过
DC_SHARD_SIZE(例如。 全美人口普查 道,~97k)通过将位置列表分片为多个批次导出,每个批次写入一个CSV 大约是一个分片内存。最大的出口需要几分钟;达到API规模的批次 限制会自动拆分并重试。仅限于上述查询DC_MAX_PLACES天花板是 拒绝。 - 覆盖信号。 如果所选来源没有覆盖所有地方(可能
区域来源的变量),结果
places_missing报告有多少。
数据血缘
CSV导出包括描述每个系列的来源和出处的数据沿袭标题行。
切换至 DC_INCLUDE_LINEAGE (默认值 真).
多文件导出
设置 DC_MULTI_FILE_EXPORT=true (或通过 multi_file: true 一次通话)写入
主导出旁边的配套元数据文件。默认情况下为关闭。
配置(环境变量)
| 变量 | 默认值 | 描述 |
|---|---|---|
DC_API_KEY |
(必填) | 来自的数据共享API密钥 apikeys.datacommons.org. |
DC_STORAGE_DIR |
~/Documents/datacommons-data |
写入导出文件的目录。 |
DC_OUTPUT_FORMAT |
csv |
导出格式: csv 或 json. |
DC_SCREEN_ROW_THRESHOLD |
500 |
内联返回的最大行数;较大的响应导出到文件。 |
DC_MAX_PLACES |
150000 |
每次查询的儿童名额绝对上限;超过此值,查询将被拒绝。 |
DC_SHARD_SIZE |
15000 |
大于此值的子位置查询通过分片批量导出。 |
DC_INCLUDE_LINEAGE |
true |
在CSV导出中包含数据沿袭标头。 |
DC_MULTI_FILE_EXPORT |
false |
在导出的同时写入配套元数据文件。 |
DC_TYPE |
base |
base (datacommons.org)或 custom (自定义数据共享实例)。 |
添加自定义数据共享实例 CUSTOM_DC_URL, DC_SEARCH_SCOPE, DC_BASE_INDEX,以及
DC_CUSTOM_INDEX --看 自定义数据共享 在参考文献中。
文档地图
- 克劳德桌面指南 --安装
.mcpb延长 - 克劳德代码指南 --从git/local注册服务器
- ChatGPT指南 --远程HTTPS端点(测试版)
- 参考 --概念、工具形状、环境变量、自定义DC、MCP检查器
- 构建扩展 --维护者文档
许可证和信用证
阿帕奇-2.0。基于Google的 数据共享 起源于 代理工具包数据由Data Commons提供 及其潜在来源;此服务器不会修改或担保底层数据。问题 支持: github/cfude/datacommons-mcp.