Skip to main content
Glama
krnzt

io.github.krnzt/ecoscope

by krnzt

EcoScope

CI License: MIT Status: public alpha

EcoScope 是一个本地优先的生态数据工作台,以标准 Model Context Protocol 服务器形式对外提供。它让 Codex、Claude 及其他 MCP 智能体能够发现、物化、查询、可视化、选择和引用科学数据,而无需将凭据、私有路径或数百万行数据放入模型上下文。

NEON 是首个内置远程提供方。本地表格、栅格、矢量、点云、图像、高光谱和 N 维数组数据源使用相同的、与提供方无关的清单、查询、视图、选择和溯源模型。

“将这个 NEON LiDAR 瓦片与其高光谱立方体进行比较。让它们同时显示,让我选择单个回波或图像像素,然后查询我的选择背后的确切源点或光谱。”

EcoScope 在 Rerun 中渲染官方 NEON LiDAR 瓦片和高光谱立方体,同时将选中的源点作为结构化智能体上下文暴露出来

一个使用 Rerun Web Viewer 的真实 EcoScope 浏览器会话:一个 660 万点的 NEON LAS 瓦片、一个 500×500×107 反射率立方体、不可变的溯源信息,以及一个映射回 LAS 源行 1,800,316 的已验证选择。

人类与智能体协作循环

scientific question
    → discover products, sites, and local assets
    → construct and approve a reproducible data plan
    → materialize immutable, checksum-verified sources
    → query and render a bounded multimodal Rerun view
    → human clicks, brushes, filters, or selects
    → EcoScope records that interaction as scientific state
    → agent queries the exact selected source data
    → export results, transformations, provenance, and citation

可视化不仅仅是供模型检查的图片。EcoViewSpec 是权威视图状态,SemanticSelection 是权威交互状态。Rerun 录制是一种可再生成的渲染产物。对于经过验证的 EcoScope 点批次,实例拾取可映射回确切的 LAS/LAZ 源行;对于映射后的立方体,图像点击可映射回完整的源光谱。

Related MCP server: Data Discovery Tool MCP Server

alpha 版本中可用的功能

  • 一个常规的 MCP 2026-07-28 stdio 服务器,可注册到 Codex 和 Claude Code。

  • 公开的 NEON 目录发现,以及可复现的计划、审批、后台物化、校验和、发布、许可和引用处理。

  • 带流式指纹和面向智能体的不透明数据集 ID 的带外本地导入。

  • Arrow/DataFusion 表格查询、空间栅格/矢量查询、索引化 COPC 读取,以及有界的 HDF5/NetCDF/Zarr N 维切片。

  • 面向表格、图像、GeoTIFF、矢量、LiDAR 和映射科学立方体的原生及浏览器 Rerun 视图。

  • 持久化的人类选择,可转换为带溯源链接的源查询,并可导出为 CSV、Parquet、COG 或 RO-Crate(如适用)。

  • 与语言无关的社区提供方子进程,采用带版本号的 JSON-RPC 契约;RI 贡献者可以使用 Rust、Python、R、Go 或其他语言进行开发,而无需添加提供方特定的 MCP 工具。

详细的支持范围和注意事项请参见格式矩阵。设计边界记录在架构和实现决策中。

安装并查看运行效果

alpha 版本提供独立的 macOS universal 和 Linux x86-64 软件包。您不需要 Rust、Node.js、CMake 或单独的 Rerun 安装:

curl -fsSL https://raw.githubusercontent.com/krnzt/ecoscope/v0.1.0-alpha.1/scripts/install.sh | sh

安装程序会验证发布版的 SHA-256,默认安装到 ~/.local,并运行 ecoscope setup。设置 ECOSCOPE_INSTALL_DIR 可选择其他前缀。如果 ~/.local/bin 尚未加入您的 PATH,请先添加再继续。

创建一个确定性的 LiDAR + 高光谱演示,并在附带的 Rerun 浏览器查看器中打开:

ecoscope demo synthetic

生成的 LAS 和 HDF5 文件与用户数据一样,经过相同的导入、清单、立方体映射、Rerun 录制和选择查询路径。无需网络或凭据。还可选择加入官方的 NEON 教学数据演示(约 224 MiB):

ecoscope demo neon --accept-download

注册常规 MCP 服务器

EcoScope 以 io.github.krnzt/ecoscope 发布在官方 MCP Registry 中。它也是一个常规的本地 stdio 服务器:Codex、Claude Code 及任何兼容主机都启动相同的 ecoscope mcp 进程并发现其工具。

ecoscope register codex
ecoscope register claude

两个注册命令都可以安全地重复执行,并会保留已有的 EcoScope 条目。面向特定平台的 MCPB 软件包随每个发布版本附带,供安装 MCPB 包的主机和注册表使用。

等效的主机命令是:

codex mcp add ecoscope -- /absolute/path/to/ecoscope mcp
claude mcp add --scope user ecoscope -- /absolute/path/to/ecoscope mcp

通用 MCP 配置:

{
  "mcpServers": {
    "ecoscope": {
      "command": "/home/you/.local/bin/ecoscope",
      "args": ["mcp"]
    }
  }
}

注册后,主机像启动任何其他本地 MCP 服务器一样启动 EcoScope,协商协议,发现其工具,并接收有界的结构化结果,而不是批量科学文件。

使用本地科学文件

ecoscope import examples/observations.csv
ecoscope datasets
ecoscope preview ds_... --limit 20
ecoscope create-view --name "Site comparison" ds_...
ecoscope open view_...

本地路径在终端中选择,绝不会作为 MCP 参数传递。私有 SQLite 注册表保留源路径;智能体收到不透明的 ID、校验和、显示名称、科学元数据和溯源信息。同一路径支持格式矩阵中的栅格、矢量、点云、图像和立方体格式。

NEON

元数据发现不需要凭据。精确的文件规划和下载使用存储在模型上下文之外的 NEON API 令牌:

./target/release/ecoscope connect-neon

提示不会回显该令牌。EcoScope 将其存储在操作系统钥匙串中,并且只在 X-API-Token 请求头中向上游发送。无头系统可以通过其密钥管理器注入 NEON_API_TOKEN。

多维数据

EcoScope 在清点立方体数组时不会猜测有歧义的科学含义。当 X、Y 和光谱轴无歧义时,会推断常见的 NEON 反射率约定。否则,映射将是显式且带版本修订的:

./target/release/ecoscope configure-cube view_... \
  --layer-id layer_1 \
  --cube-array /SITE/Reflectance/Reflectance_Data \
  --y-axis 0 --x-axis 1 --spectral-axis 2 \
  --wavelength-dataset /SITE/Reflectance/Metadata/Spectral_Data/Wavelength \
  --red-band 14 --green-band 9 --blue-band 5

与提供方无关的 MCP 等效命令是 configure_cube_view。

社区提供方

NEON 是内置的,但架构并不是围绕 NEON 定制的。使用以下命令安装受信任的、与语言无关的提供方可执行文件:

./target/release/ecoscope provider install ./my-provider.json
./target/release/ecoscope provider list

安装过程会进行协议握手,并验证提供方的身份、能力、响应边界和声明的 HTTPS 来源。提供方可执行文件是受信任的本地代码,而非沙箱化插件,并且永远不会收到凭据值。完整的传输契约、一致性测试夹具和安全模型请参见提供方 SDK。

已知限制

  • 目前 EcoScope 是本地 stdio MCP;远程 Streamable HTTP 和 OAuth 尚未实现。

  • alpha 版本的 macOS 可执行文件未经过 Apple 公证。macOS 可能需要显式的首次运行批准;发布版校验和仍然保护工件完整性。

  • 浏览器资源管理器使用 Rerun 的 WebGL 渲染器,以获得可靠的软件和 CI 支持。原生 Rerun 仍然是超大场景下上限更高的界面。

  • Rerun 会暴露实体/实例选择事件,但不是为每种视图都提供一个通用笔刷协议。显式区间、地图、栅格、光谱和行选择使用相同的 record_selection/query_selection 路径。

  • GeoParquet 支持精确的 GeoDataFusion 查询,但还不支持直接向 Rerun 记录几何数据;GeoPackage 目前只有检查功能,没有查询适配器。

  • EcoScope 派生的 COPC 索引提供全分辨率空间访问,但尚不包含达到提供方质量的多分辨率层级结构。

  • 纯 Rust 的 NetCDF-3 适配器只能对整个变量进行有界解码,因为其读取器目前不提供子集 I/O。

开发

从源码构建需要 Rust 1.95、Node.js 22、CMake 和一个 C/C++ 编译器。Linux 使用内置的静态 D-Bus 客户端来访问钥匙串。

git clone https://github.com/krnzt/ecoscope.git
cd ecoscope
npm --prefix viewer/web-bootstrap ci
npm --prefix viewer/web-bootstrap run build
cargo build --release
./target/release/ecoscope setup

使用以下命令运行完整的验证套件:

cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
npm --prefix viewer/web-bootstrap run check
npm --prefix viewer/web-bootstrap run build
npm --prefix viewer/web-bootstrap exec -- playwright install chromium
npm --prefix viewer/web-bootstrap run test:e2e
npm --prefix viewer/web-bootstrap audit --omit=dev

一个可选的集成测试会使用已发布的 NEON 教学子集:一个 6,609,829 点的 LAS 瓦片和一个 500×500×107 的 HDF5 反射率立方体。

curl -fL -o /tmp/neon-point-cloud.las https://ndownloader.figshare.com/files/7024955
curl -fL -o /tmp/neon-hyperspectral.h5 https://ndownloader.figshare.com/files/21754221
NEON_POINT_CLOUD_FIXTURE=/tmp/neon-point-cloud.las \
NEON_HYPERSPECTRAL_FIXTURE=/tmp/neon-hyperspectral.h5 \
cargo test -p ecoscope-rerun --test official_neon_fixtures -- --ignored

在 Rust 和浏览器构建之后,使用 scripts/package-release.sh target/release/ecoscope dist macos-arm64 darwin 构建本地 MCPB 和归档工件(在 Linux 上替换为 linux-x86_64 linux)。标签工作流会构建并合并两种 macOS 架构,验证 Linux 链接,发布带校验和的发布资产,并使用 GitHub OIDC 提交生成的 server.json。

项目状态

EcoScope 是早期公开 alpha 版本。科学数据模型、提供方契约和 Rerun 边界都设计为可扩展,但在第一个稳定版本发布之前,API 和打包方式仍可能发生变化。

欢迎生态研究人员、数据管理员、Research Infrastructure 团队、可视化开发人员和科学格式专家贡献。首批良好合作方向包括代表性元数据测试夹具、格式适配器、选择语义、可访问性和可复现的生态演示。在开始大型提供方或查看器改动之前,请先阅读 CONTRIBUTING.md 并提交一个 issue。

EcoScope 以 MIT 许可证发布。Rerun 按其 MIT/Apache-2.0 许可证使用;内置软件包在 THIRD_PARTY_NOTICES.md 中保留所需的声明。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with the OSDU® data platform through Model Context Protocol, providing tools for search, storage, schema management, and dataset operations.
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search and discover data across SQLite and CSV sources through an MCP interface, with metadata indexing and fuzzy search capabilities.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that gives LLM agents typed, cached access to civic open-data portals via Socrata (SODA 2.1 + Discovery API), enabling search, query, profiling, sampling, and CSV export of datasets.
    6
    MIT