mcpField
J
Jhtdb

Jhtdb

远程服务
pipeworx.io科研与教育01 天前更新

关于 Jhtdb

该 MCP 服务可查询 Johns Hopkins Turbulence Databases(JHTDB)湍流模拟数据集的空间点值,面向流体研究与模拟数据分析。它同时提供数据集的空间范围、网格分辨率、时间范围和可用物理量目录。

主要功能

  1. 01查询数据集目录与网格信息
  2. 02获取指定点的速度或压力
  3. 03查询速度梯度
  4. 04单次最多查询 10 个点
  5. 05返回数据集原生单位说明

适用场景

  1. 01查看 JHTDB 数据集覆盖范围
  2. 02提取指定时刻的流场点值
  3. 03比较不同数据集可用物理量

MCP 相关

向 MCP 客户端提供 `jhtdb_datasets` 和 `jhtdb_point_query` 工具,可经 Pipeworx 网关或本地 stdio MCP 服务调用。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/jhtdb/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

@pipeworx/jhtdb

在 Johns Hopkins Turbulence Databases(JHTDB)的参考 DNS/LES 数据集中进行点查询(速度、压力、速度梯度),并提供每个数据集的空间范围、网格分辨率、时间范围和可用物理场目录。

这是 Pipeworx 的一部分——一个将 AI Agent 连接到 1882+ 个实时数据源的 MCP 网关。这是一个独立的非官方集成,与上游提供方无关,也未获得其认可或发布。

工具

  • jhtdb_datasets(...) — JHTDB 数据集的完整目录(受迫各向同性湍流、通道流、MHD 湍流、过渡边界层、大气边界层和风电场 LES 等):每个数据集的空间范围、网格分辨率、时间范围和可用物理场。
  • jhtdb_point_query(...) — 在指定数据集中的最多 10 个点和一个时间点,查询插值后的速度、压力或速度梯度值。

身份验证

从调用方的角度来看无需密钥。此工具包内部使用 JHTDB 自己的公开测试授权令牌(发布方说明该令牌适用于小型查询),并将每次调用限制为 10 个点——远低于发布方规定的小型查询限额——因此 Pipeworx 流量不会占用共享测试配额。此工具包不支持自带密钥覆盖:完整的(非测试)JHTDB 令牌需向发布方申请机构授权,除非对更大规模查询的需求出现,否则不在此工具包的范围内。

数据源

  • Johns Hopkins University(Institute for Data Intensive Engineering and Science),Turbulence Databases(JHTDB)——典型湍流的直接数值模拟(DNS)和大涡模拟(LES),包括多个网格分辨率下的受迫各向同性湍流、通道流、MHD 湍流、均匀浮力驱动流、过渡边界层、旋转分层湍流、稳定分层大气边界层和风电场 LES。可通过发布方自己的 Web 服务,在任意点和时间进行查询。

发布方的查询接口采用 SOAP 1.1,而非 REST/JSON——没有可供回退使用的 JSON 点查询端点。SOAP 信封在 src/index.ts 中直接构建和解析(使用基于正则表达式的 XML 匹配,这与此代码库处理没有可用 DOMParser 的 Workers 运行时中的 SOAP/XML 上游服务的既有方式一致——参见 mcps/sdmx-structure)。

数据集目录(空间范围、网格分辨率、时间范围、可用物理场)根据发布方自己的机器可读数据集配置转录而来,并非通过探测服务得出——它由 17 条小型记录组成,并非生成的语料库,因此以普通数组的形式存放在 src/index.ts 中,而不是使用 KV 预构建索引路径。

返回值采用各数据集原生的模拟单位:周期盒数据集(各向同性湍流、通道流、MHD 湍流)使用无量纲 DNS 代码单位;大气边界层和风电场 LES 数据集使用 SI 物理单位(米、秒、帕斯卡)。jhtdb_point_query 的响应会说明当前查询字段适用哪种单位。

数据集代码、空间/时间插值方法的枚举值,以及每个数据集包含的物理场,均与发布方自己的 API 定义完全一致。插值方法拼写错误(例如看似合理的 FD4NoInt,而正确值是 None_Fd4)会明确返回发布方自己的验证错误信息,而不会被静默处理;这里的正确枚举值正是通过这种方式确认的。

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "jhtdb": {
      "url": "https://gateway.pipeworx.io/jhtdb/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/jhtdb/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、 discover_tools、search_within、remember/recall 和网关级工具集中的其他工具。因此,你看到的工具数量会多于此表:目前,单个工具包端点除了列出该工具包自己的工具,还会列出大约 30 个共享工具。连接的 initialize 响应会说明其确切范围,并且是特定日期的权威信息。

这是有意为之,并非意外的多路复用。借助这些元工具,受限范围的连接可以通过 ask_pipeworx(它会在整个目录中路由请求)回答此工具包未涵盖的问题,而无需添加第二个 MCP 服务。目前无法挂载不包含这些元工具的工具包端点;如果额外的架构占用的上下文比路由功能带来的价值更多,请只连接一次完整网关,而不是连接多个工具包端点。

或者,连接完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是此工具包的工具:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

两个 URL 都会访问同一个网关和相同的 1882+ 个数据源。唯一的区别是哪个工具包的工具会被直接列出;无论使用哪个 URL,ask_pipeworx 都能访问所有工具包。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/jhtdb_datasets \
  -H 'Content-Type: application/json' \
  -d '{}'

首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/jhtdb_datasets。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。

独立运行(无需网关账户)

此软件包也可作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经由网关往返:

{
  "mcpServers": {
    "jhtdb": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-jhtdb"]
    }
  }
}

也可以直接运行,确认它能启动:

npx -y @pipeworx/mcp-jhtdb

它通过 stdin/stdout 使用 MCP,并会针对仅此工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接所提供的任何共享元工具。数据源相同,工具相同,但没有 ask_pipeworx 路由功能。

使用 ask_pipeworx

你可以用通俗易懂的语言提问,而不必直接调用工具——这对上面的工具包端点和完整网关都适用:

ask_pipeworx({ question: "your question about Jhtdb data" })

网关会选择合适的工具,并自动填充参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。