关于 Fracfocus
Fracfocus 是用于查询美国水力压裂披露信息的 MCP 服务,涵盖井级记录和化学成分。它支持按地点、运营商及化学物质查询,并明确标示成分明细的日期覆盖范围。
主要功能
- 01按地点或运营商搜索井披露
- 02查看井级作业详情
- 03查询披露的化学成分
- 04按 CAS 号搜索化学品使用情况
- 05显示成分数据覆盖范围
适用场景
- 01查找某运营商在某县的压裂披露
- 02查看某口井披露的化学成分
- 03定位报告使用特定化学品的井
MCP 相关
向 MCP 客户端提供 FracFocus 井披露、化学成分和化学品使用情况查询工具。数据通过 Pipeworx 网关提供;README 指出独立安装没有可查询的数据。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/fracfocus/mcpclaude mcp add --transport http pipeworx-io-fracfocus https://gateway.pipeworx.io/fracfocus/mcp{"mcpServers":{"pipeworx-io-fracfocus":{"type":"http","url":"https://gateway.pipeworx.io/fracfocus/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-fracfocus":{"type":"http","url":"https://gateway.pipeworx.io/fracfocus/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-fracfocus":{"type":"http","url":"https://gateway.pipeworx.io/fracfocus/mcp"}}}{"mcpServers":{"pipeworx-io-fracfocus":{"serverUrl":"https://gateway.pipeworx.io/fracfocus/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
44| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| q | string | 否 | question 的别名。 |
| ask | string | 否 | question 的别名。 |
| text | string | 否 | question 的别名。 |
| input | string | 否 | question 的别名。 |
| packs | array | 否 | 可选。将路由限制为这些包的 slug(例如 ["sec-form-d","sec-13f"]),路由器随后只会从这些包中的工具进行选择。省略则使用默认的完整目录路由。Slug 可从 list_packs / search_packs / https://pipeworx.io/directory 获取;未列出或未知的 slug 会被忽略,并在 _meta.pack_scope.ignored 中列出。如果没有任何 slug 能匹配问题,则会在整个目录中路由,并设置 _meta.pack_scope.full_catalog:true(绝不会返回空答案)。 |
| query | string | 否 | question 的别名。 |
| prompt | string | 否 | question 的别名。 |
| message | string | 否 | question 的别名。 |
| question | string | 是 | 用自然语言表达的问题或请求。支持 query、q、prompt、text、input、ask、message 作为别名。 |
详细介绍
@pipeworx/fracfocus
美国水力压裂化学品披露数据——单井压裂作业记录(运营商、API 编号、地点、日期、基液体积),以及每次作业披露的化学添加剂/成分(商品名、供应商、用途、CAS 编号、质量、占作业比例)。Fleet #2982。
属于 Pipeworx 的一部分——一个将 AI Agent 连接到 1807+ 个实时数据源的 MCP 网关。这是一个独立的非官方集成,与上游提供方无关联、未获其认可,也未由其发布。
工具
frac_wells(state?, county?, operator?, limit?, offset?)-- 按州、县和/或运营商名称搜索 FracFocus 的单井披露数据(运营商名称按子串匹配)。三个条件中至少需要提供一个。涵盖 FracFocus 的全部披露历史。按作业时间从新到旧返回每口井的 API 编号、运营商、井名、地点、作业日期和基液体积。frac_chemicals(api_number, limit?, offset?)-- 按 API 编号(连字符可选)查询单口井披露的化学成分列表。返回商品名、供应商、用途、CAS 编号、成分名称、按质量计的作业占比,以及每种成分的质量(磅);商业机密成分不提供 CAS 编号,而是提供申报公司。仅加载本工具包覆盖截止日期当天及之后作业的成分级详情——如果frac_wells中存在某口井,但其作业早于该截止日期,则返回found:false, reason:"outside_ingredients_coverage";如果该井根本不在 FracFocus 中,则返回reason:"unknown_api_number",两者有所区别。chemical_usage(cas_number, state?, limit?, offset?)-- 按 CAS 编号(连字符可选)查询某种化学品的使用地点,也可限定在某个州内。返回摘要(成分披露记录总数、不同井数、不同州数)以及匹配使用记录的样本。仅搜索成分覆盖时间范围,与frac_chemicals一样存在相同限制。
每个响应都会包含 source、source_url、license 以及成分覆盖时间范围(ingredients_since / disclosures_through),以便调用方区分“该井未披露化学品”和“该井的作业早于已加载的数据范围”。
身份验证
无需密钥。工具仅通过 Pipeworx 网关提供数据,该网关保存了数据;单独执行 npm install 后没有可供读取的数据,每个工具都会明确报错“此运行环境未绑定”,而不是返回空列表。
数据源
- FracFocus(Ground Water Protection Council / Interstate Oil and Gas Compact Commission)——全国水力压裂化学品披露登记系统。FracFocus 仅发布批量 CSV 下载文件,没有按请求调用的 API,因此本工具包会将数据复制到 D1(
scripts/fracfocus/load-data.mjs),而非按请求代理查询。许可(逐字引用,已于 2026-10-14 在线核实): “下载的数据可以汇总或与其他数据集结合,但不得以任何方式更改 FracFocus 数据。” 此外:“提交的数据按运营商或运营商授权代理提交时的内容显示。FracFocus 不以任何方式保证数据。” 本工具包会将 CSV 行重新整理为 SQL 行,并将成分表限定在较近的日期范围内(见下文)——不会更改任何保留的值。
已知缺口——扩展此数据包前请先阅读
成分表(ff_ingredients)并不包含完整历史数据。 FracFocus 的批量下载包含约 25 万条井场披露记录(DisclosureList_#.csv,已完整加载),但包含约 730 万条化学成分记录(FracFocusRegistry_#.csv,截至 2026-10-14 的统计)——每条披露中的成分记录也会重复包含所有井场表头列,而此数据包不会再存储一遍这些列(而是通过 disclosure_id 关联回 ff_disclosures)。一次性加载全部 730 万条成分记录,大约需要首次加载时 10 倍的 wrangler d1 execute 往返次数。首次加载时,ff_ingredients 仅包含 --since 指定日期(默认 2024-01-01)及之后的作业数据——截至 2026-10-14,去除约 11% 既无 CAS 编号也无成分名称的纯占位记录(没有化学成分内容的“Ingredient Container”管理记录)后,约有 64.6 万条。无论历史时间范围如何,frac_wells(仅读取 ff_disclosures)都涵盖完整历史记录;frac_chemicals 和 chemical_usage(读取 ff_ingredients)则只能在已加载的时间范围内回答问题,对于更早的井场会明确返回 reason:"outside_ingredients_coverage",而不是返回空结果并显示成功。
与 mcps/bts-ontime 的“首次加载最近 N 个月”方式相同——参见该数据包的 README。使用 node scripts/fracfocus/load-data.mjs --since 2020-01-01(或任何更早的日期)可扩展覆盖范围;ff_ingredients 的插入操作是累加式的,并按日期筛选,因此后续运行时使用更早的 --since 会添加更早的记录,而不会重新处理已加载的记录;ff_disclosures 则会在每次运行时完整重新加载(该表体量小,重新加载成本低,也是获取新发布披露记录最简单的方式)。
未加载 WaterSource 数据。 FracFocus 4.0(2023-12-01)新增了可选的供水水源文件(WaterSource_#.csv,约 5 MB,井场级别)。此数据包的工具集未包含该文件;如果未来有工具需要,可为其添加一张表。
刷新数据
根据 FracFocus 自己的下载页面,其每周更新“5 天”,且不提供增量数据流,因此刷新时会重新下载并处理完整的批量压缩文件:node scripts/fracfocus/load-data.mjs(需要先登录 Pipeworx Cloudflare 账号的 wrangler,并安装 unzip CLI)。建议每月运行一次;也可使用更早的 --since,进一步扩展成分数据的历史覆盖范围。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"fracfocus": {
"url": "https://gateway.pipeworx.io/fracfocus/mcp"
}
}
}
此端点实际提供的内容
对 https://gateway.pipeworx.io/fracfocus/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 都会连接到同一个网关和相同的 1807+ 个数据源。唯一的区别是直接列出哪个数据包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/frac_wells \
-H 'Content-Type: application/json' \
-d '{"state":"Texas","county":"Martin","limit":5}'
首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/frac_wells。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经过网关:
{
"mcpServers": {
"fracfocus": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-fracfocus"]
}
}
}
或者直接运行,确认它能够启动:
npx -y @pipeworx/mcp-fracfocus
它通过 stdin/stdout 使用 MCP,并响应 initialize/tools/list/tools/call,但仅提供此软件包的工具——不包括上述网关连接额外添加的任何共享元工具。相同的源代码,相同的工具,不使用 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用通俗的英语提问,而不是直接调用工具——此方式既适用于上面的软件包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Fracfocus data" })
网关会选择合适的工具并自动填写参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。