mcpField
A
Acquisition Forecasts

Acquisition Forecasts

远程服务
pipeworx.io商业与营销06 天前更新

关于 Acquisition Forecasts

Acquisition Forecasts 提供美国联邦机构公布的采购意向数据,面向政府承包商及市场分析人员。目前机器可读数据仅覆盖 DHS,并明确披露覆盖范围,避免将未覆盖误判为没有采购计划。

主要功能

  1. 01按关键词、机构和 NAICS 筛选
  2. 02按预留类别、财年和金额筛选
  3. 03查看预测详情、联系人与履约地点
  4. 04查询机构覆盖范围及说明
  5. 05本地 stdio MCP 服务

适用场景

  1. 01寻找尚未发布招标的采购机会
  2. 02按 DHS 机构和 NAICS 发现项目
  3. 03查看采购预测的联系人和履约地点
  4. 04核实机构是否包含在数据覆盖中

MCP 相关

向 MCP 客户端提供联邦采购预测搜索、详情查询和机构覆盖范围工具。可通过 Pipeworx 网关连接,也可作为本地 stdio MCP 服务运行。

配置

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

服务地址https://gateway.pipeworx.io/acquisition-forecasts/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 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

44
参数类型必填说明
qstring否question 的别名。
askstring否question 的别名。
textstring否question 的别名。
inputstring否question 的别名。
packsarray否可选。将路由限制为这些包的 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(绝不会返回空答案)。
querystring否question 的别名。
promptstring否question 的别名。
messagestring否question 的别名。
questionstring是用自然语言表达的问题或请求。支持 query、q、prompt、text、input、ask、message 作为别名。

详细介绍

acquisition-forecasts

美国联邦机构的采购预测——机构已发布计划要采购的项目,发布时间可能早于任何招标公告数月至数年。无需密钥。

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

这是前瞻性信息。usaspending 记录的是已承担的资金;govcon-intel 扫描的是 SAM 上已开放的招标公告。只有预测能回答“我现在该为此配备人员吗”,而不是“我是不是错过了”。

工具

  • forecast_search(keyword?, agency?, sub_agency?, naics?, set_aside?, fiscal_year?, min_value?, limit?)
  • forecast_detail(forecast_id, agency?) — 完整说明、履约地点和期限(PoP)、联系人
  • forecast_agencies() — 已接入的机构,以及其他机构的情况判定

覆盖范围只有一个机构,这就是调查结果

各机构必须发布预测,而 acquisition.gov 收录了其中 22 家。我于 2026-08-29 对每一家进行了探测。只有一家发布机器可读数据:

判定数量机构
JSON API1DHS(apfs-cloud.dhs.gov,847 条)
HTML,无数据文件15Agriculture、Education、Energy、Justice、Labor、State、Interior、Treasury、Transportation、VA、GSA、NASA、NSF、SSA、DHS 自己的落地页
仅 PDF4DoD、HUD、NRC、OPM
阻止自动化客户端(403)2USAID、Commerce
无法访问(超时)1HHS

PDF 预测有意不进行 OCR。错误解析出的数字比没有数字更糟,而这些数字是人们制定计划时会参考的金额。

因此,forecast_agencies() 作为一等工具提供,且每条搜索响应都会包含 agencies_covered 和 coverage_note。一个以联邦预测为名、却悄然只覆盖一个机构的工具包,会对 21 个从未检查过的机构回答“没有计划”——这就是把“没有数据”误当成“没有这回事”的问题,也是这个目录一再吸取教训的地方。

添加机构只需在 AGENCIES[] 中添加配置项,再加上字段映射。

陷阱

APFS API 会忽略所有查询参数。 ?naics=5415、 ?organization=CBP 和 ?zzznonsense=x 都会返回完全相同的 847 行,且第一条记录的 id 完全相同。服务端不进行筛选,因此该工具包会获取整个文件(约 2 MB,缓存 15 分钟)并在内存中筛选。任何人试图通过将筛选条件推到上游来“优化”,得到的结果看似经过筛选,实际上并非如此。

small_business_set_aside 和 small_business_program 是不同的字段。 前者是布尔值(true/false/null),后者是计划名称 (SB、8(a)、HUBZone、WOSB、SDVOSB、AbilityOne、None、TBD)。 先合并布尔值会让 847 行中的 350 行变成字面字符串 "true",并丢失其计划名称;这还会导致 set_aside="8(a)" 仅返回 27 行,而不是 71 行,因为只有布尔值恰好为 null 的行仍然能够匹配。它们分别以 set_aside(名称)和 set_aside_applies(布尔值,null 表示该行未说明)返回。

NAICS 以代码和标签合并在同一个字符串中提供——"236220 - Commercial and Institutional Building Construction"。如果将调用者提供的 5415 与原始字段进行匹配,也会匹配到描述中包含这些数字的内容。代码会被拆分出来并按前缀匹配,这正是 NAICS 层级结构的工作方式:5415 涵盖 541511、541512……(175 行,而完整代码仅匹配 19 行)。

值是区间,不是数字——"$50M to $100M"、"Over $100M"。区间文本会原样保留,同时解析为 low/high。对于没有上限的最高区间,high 为 null,而非一个很大的数字;min_value 会将其视为无上限——虚构一个上限虽然可以排序,但结果是错误的。

organization 是下级机构路径,而非机构:CBP/OIT/LSS/ITB。全部 847 行都属于 DHS。agency 和 sub_agency 会分别报告,因此 agency="DHS" 的含义符合调用者的预期。

预测会修订。 published_date、previously_published 和 last_updated 会说明你查看的是哪个版本;已撤回或已授予的需求可能会从文件中完全消失,因此 forecast_detail 会明确说明这一点,而不是只报告“未找到”。

快速开始

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

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

https://gateway.pipeworx.io/acquisition-forecasts/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 都会连接到同一个网关和相同的 1872+ 个数据源。唯一的区别是哪些工具包的工具会被直接列出;无论连接哪个端点,ask_pipeworx 都可以访问所有工具包。

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

curl -X POST https://gateway.pipeworx.io/v1/tools/forecast_search \
  -H 'Content-Type: application/json' \
  -d '{"naics":"5415","agency":"DHS"}'

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

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

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

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

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

npx -y @pipeworx/mcp-acquisition-forecasts

它通过 stdin/stdout 使用 MCP 通信,并针对仅限此软件包的工具响应 initialize/tools/list/tools/call——不包含上方网关连接所添加的任何共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。

使用 ask_pipeworx

你也可以用通俗的英语提问,而不是直接调用工具——这既适用于上方的软件包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Acquisition Forecasts data" })

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

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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