mcpField
U
Usda Soil

Usda Soil

远程服务
pipeworx.io科研与教育05 周前更新

关于 Usda Soil

Usda Soil 是一个 MCP 服务,用于查询美国及其领地的 USDA-NRCS SSURGO 土壤调查数据。它提供地图单元、土壤组成与土层属性,并支持只读 SQL 查询,适用于土壤研究和土地评估。

主要功能

  1. 01查询指定坐标的土壤地图单元
  2. 02获取地图单元中的土壤组成
  3. 03查看土层属性
  4. 04对 SSURGO 执行只读 SQL

适用场景

  1. 01查询美国地点的地图土壤类型
  2. 02查看排水、坡度和土层信息
  3. 03检索用于土地评估的调查记录

MCP 相关

通过 Pipeworx 网关端点或独立 stdio 服务,向 MCP 客户端提供 SSURGO 点位查询、土壤组成和只读查询工具。网关端点还列出 Pipeworx 共享元工具。

配置

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

服务地址https://gateway.pipeworx.io/usda-soil/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/usda-soil

USDA-NRCS 土壤数据访问服务基于 SSURGO——这是详细的美国土壤调查数据,由野外调查队按 1:12,000-1:63,360 的比例绘制,并每年重新发布。查询某个点的土壤、地图单元内具名土壤系列的属性和土层,以及对完整调查架构执行任意 SQL 查询。

属于 Pipeworx 的一部分——一个将 AI Agent 连接到 1684+ 个实时数据源的 MCP 网关。

工具

  • usda_soil_mapunit_at_point(lat, lon) — 地图单元键、符号、正式名称、面积、农田类别、调查区域及其发布日期。
  • usda_soil_components(mukey, include_horizons?) — 地图单元内的土壤系列及其占比、分类、排水类别、坡度范围、水文组、土地利用能力类别和水成土评级;也可选择包含土层深度,以及沙粒/粉粒/黏粒、有机质、pH、有效水容量和 Ksat。
  • usda_soil_query(sql) — 对 SSURGO 架构执行只读 SELECT 查询。

身份验证

无需密钥。

与 soilgrids 并不相同

soilgrids 是 ISRIC 提供的全球 250 m 机器学习预测数据。 这是经过实地调查的美国真实数据:具名土壤系列、官方分类、解释评级——且仅覆盖美国及其领土。在美国以外使用 soilgrids;如果需要的是模型生成的连续表面,而不是地图多边形,也应使用 soilgrids。

数据源

此工具包处理了以下陷阱:

  • 这是 SQL Server。 使用 TOP n,而不是 LIMIT n。
  • JSON+COLUMNNAME 返回的是数组的数组,而不是对象——Table[0] 是列名行。runSql 会将它们合并为对象。
  • 错误会以 OGC XML 和 400 状态码返回,且前 300 个字符全是 XML 命名空间样板内容,因此截取原始响应正文会隐藏指出问题所在的那句话。@pipeworx/shared 中的 summarizeErrorBody 会解析 <ServiceException>;现在,错误列名会显示为 USDA Soil Data Access: 400 Invalid query: Invalid column name 'nosuchcolumn'. (from the upstream's XML error document)。
  • 合法的 SELECT 查询若没有匹配结果,会返回空的 Table,而不是错误——usda_soil_query 会明确说明这一点,而不会将空结果呈现为发现。
  • 列的位置并非凭直觉就能猜到。 saverest(调查区域发布日期)位于 sacatalog,而非 legend。farmlndcl 位于 mapunit,而非 component。component 上的土地利用能力列是 nirrcapcl/nirrcapscl。
  • 点几何通过 SDA_Get_Mukey_from_intersection_with_WktWgs84 处理,使用 WKT point(lon lat)——经度在前。

快速开始

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

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

https://gateway.pipeworx.io/usda-soil/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 都连接到同一个网关和相同的 1684+ 个数据源。唯一的区别在于直接列出的是哪个工具包的工具;无论连接哪个端点,ask_pipeworx 都能访问所有工具包。

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

curl -X POST https://gateway.pipeworx.io/v1/tools/usda_soil_mapunit_at_point \
  -H 'Content-Type: application/json' \
  -d '{"lat":41.6,"lon":-93.6}'

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

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

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

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

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

npx -y @pipeworx/mcp-usda-soil

它通过 stdin/stdout 使用 MCP 通信,并为仅此工具包的工具响应 initialize/tools/list/tools/call——不包含上文网关连接提供的任何共享元工具。来源相同,工具相同,但没有 ask_pipeworx 路由。

使用 ask_pipeworx

你也可以用通俗易懂的英语提问,而不是直接调用工具——此功能既适用于上面的工具包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Usda Soil data" })

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

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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