BL

boettiger-lab/mcp-data-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

22 stars 3 forks 质量 85 趋势 30BSD-3-Clause

基于Duckdb的数据集MCP服务器

概览

一个开放的模型上下文协议(MCP)服务器,将 AI 代理连接到云原生数据:它将代理基于 STAC 元数据,以便找到正确的数据集并读取其模式,并将其限制在经过验证的云原生引擎中,从而在 S3 上查询 TB 级数据,而不下载、误读或在大规模时无声失效。如今它通过 DuckDB 支持 Parquet 的 SQL 和 H3 空间索引;详见数组(Zarr)和硬件加速引擎的发展路线图。 它是三个开源组件之一——包括数据-工作流程(生成AI准备好的数据和元数据)和jupyter-geoagent——共同使云原生栈能够被研究人员已有使用的AI工具访问。敏感数据可在本地运行,或通过自动扩展的Kubernetes实现规模化。 将托管的MCP端点添加到你的LLM客户端,比如这样: 创建一个 .vscode/mcp。

概述(AI 翻译)

文献****更宏观的图景

一个开放的模型上下文协议(MCP)服务器,将 AI 代理连接到云原生数据:它将代理基于 STAC 元数据,以便找到正确的数据集并读取其模式,并将其限制在经过验证的云原生引擎中,从而在 S3 上查询 TB 级数据,而不下载、误读或在大规模时无声失效。如今它通过 DuckDB 支持 Parquet 的 SQL 和 H3 空间索引;详见数组(Zarr)和硬件加速引擎的发展路线图。

它是三个开源组件之一——包括数据-工作流程(生成AI准备好的数据和元数据)和jupyter-geoagent——共同使云原生栈能够被研究人员已有使用的AI工具访问。敏感数据可在本地运行,或通过自动扩展的Kubernetes实现规模化。

快速启动

将托管的MCP端点添加到你的LLM客户端,比如这样:

使用 VSCode

创建一个像这样的.vscode/mcp.json:(就像这个仓库里的仓库)

现在只需向你的聊天客户端提问关于数据集的问题,它应该通过SQL查询数据库来回答:

示例:

  • 澳大利亚的保护区有多少比例?

使用 Claude 代码(CLI)

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

MCP Data Server

Documentation · The bigger picture

An open Model Context Protocol (MCP) server that connects AI agents to cloud-native data: it grounds the agent in STAC metadata so it finds the right dataset and reads its schema, and confines it to validated cloud-native engines so it queries terabyte-scale data over S3 without downloading it, misreading it, or silently failing at scale. Today it serves SQL over Parquet via DuckDB with H3 spatial indexing; see the roadmap for array (Zarr) and hardware-accelerated engines.

It is one of three open-source components — with data-workflows (which produces the AI-ready data and metadata) and jupyter-geoagent — that together make the cloud-native stack reachable by the AI tools researchers already use. Runs locally for sensitive data or on autoscaling Kubernetes for scale.

Quick Start

Add the hosted MCP endpoint to your LLM client, like so:

Using VSCode

create a .vscode/mcp.json like this: (as in this repo)

{
	"servers": {
		"duckdb-geo": {
			"url": "https://duckdb-mcp.nrp-nautilus.io/mcp"
		}
	}
}

Now simply ask your chat client a question about the datasets and it should answer by querying the database in SQL:

Examples:

  • What fraction of Australia is protected area?

Using Claude Code (CLI)

Run this command once in your terminal:

claude mcp add --transport http duckdb-geo https://duckdb-mcp.nrp-nautilus.io/mcp

To make it available across all your projects, add --scope user:

claude mcp add --transport http --scope user duckdb-geo https://duckdb-mcp.nrp-nautilus.io/mcp

Using Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "duckdb-geo": {
      "url": "https://duckdb-mcp.nrp-nautilus.io/mcp"
    }
  }
}

After adding the configuration, restart Claude Desktop.

Features

  • Zero-Configuration SQL Access: Query petabytes of geospatial data without database setup
  • H3 Geospatial Indexing: Efficient spatial operations using Uber’s H3 hexagonal grid system
  • Isolated Execution: Each query runs in a fresh DuckDB instance for security
  • Stateless HTTP Mode: Fully horizontally scalable for cloud deployment
  • Rich Dataset Catalog: Access to 10+ curated environmental and biodiversity datasets
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "duckdb-geo": { "url": "https://duckdb-mcp.nrp-nautilus.io/mcp" } } }