mcpField
G
Gsa Elibrary

Gsa Elibrary

远程服务
pipeworx.io法律与政务03 天前更新

关于 Gsa Elibrary

Gsa Elibrary 是用于查询 GSA 多奖项计划及 GWAC 合同持有者的 MCP 服务,面向政府采购研究。它通过公开的 eLibrary 页面提供关键词和 SIN 搜索及承包商计划资料。

主要功能

  1. 01按关键词、SIN、NAICS 或承包商搜索
  2. 02列出 SIN 下的合同持有者
  3. 03查看承包商的计划及合同编号
  4. 04显示合同是否停止接受新授予
  5. 05通过 stdio 本地运行或使用 Pipeworx

适用场景

  1. 01查找相关 SIN 下的承包商
  2. 02核对承包商的计划及合同关联
  3. 03确认合同是否接受新授予

MCP 相关

向 MCP 客户端提供计划搜索、合同持有者列表和承包商资料工具。可作为本地 stdio 服务运行,也可通过 Pipeworx 网关访问。

配置

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

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

目前持有 GSA 多重授予计划(MAS)合同、可竞标任务订单的承包商——可补充 usaspending 的过往授标数据,以及 gsa-calc 仅覆盖劳动力费率的数据。

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

工具

  • gsa_schedule_search(keyword, search_type?) — 按关键词、SIN 编号、NAICS 代码或承包商/制造商名称搜索。返回匹配的 MAS/GWAC 类别和 SIN,以及包含合同编号的承包商匹配项——这是查找有效计划/SIN 组合的起点。
  • gsa_schedule_contract_holders(sin, schedule?, keyword?, limit?, offset?) — 列出某个 SIN 下目前登记的所有合同持有人,包括合同编号、电话、城市和州。keyword 在客户端按名称、合同编号、城市或州进行筛选。schedule 默认为 "MAS"。
  • gsa_contractor_profile(contractor_name, contract_number?, sin?, schedule?) — 列出承包商持有的所有计划/GWAC,以及每项对应的合同编号,并标明哪些合同已停止接受新授标。传入该承包商已知持有的 sin(及 schedule),还可从该 SIN 的合同持有人列表中获取电话、城市和州。此工具无法提供地址、电子邮件、网站、SAM UEI、NAICS、社会经济类别/排除名单状态及选择期结束日期——请参阅下文“值得了解的行为”。

身份验证

无需密钥。无需登录、API 密钥或 CAPTCHA。

数据源

  • GSA,eLibrary — 公开的多重授予计划/GWAC 合同持有人目录。每个页面都响应未经身份验证的普通请求;除单次调用期间外,不会镜像或缓存任何内容。

值得了解的行为

  • 没有 JSON API。 eLibrary 是一个采用服务器端渲染的旧版网站,没有记录承包商数据 API(另有一个未记录的 search_categories 风格端点,但仅涵盖 SIN/类别元数据,不包含承包商)。本工具包会解析浏览器加载的相同 HTML 页面。
  • 该网站自带的“Download Contractors (xls/csv)”链接需要保留来自呈现该链接页面的会话 Cookie。 如果未先访问页面就直接获取,会返回“System Error: Unable to access GSA eLibrary”。按 SIN 查询的列表页面不需要保持此会话:它是一个普通 GET 请求,无 CSRF 令牌,并且会在单个页面上呈现某个 SIN 的完整承包商列表,不进行服务器端分页(实时测量:SIN 541511 返回 341 行,约 70KB;SIN 541611 在单个约 5.2MB 的响应中返回 3,107 行,本工具包仍能在数毫秒内解析)。limit/offset 会在解析后应用,模拟上游在支持分页时的行为。
  • 我们的网络无法访问 eLibrary 的单份合同详情页。 部署后进行的实时测量显示:搜索结果页面和按 SIN 查询的列表页面均可正常响应(搜索页面偶尔会先返回一次 403,重试后恢复——本工具包会对此进行重试,最多一次,因此真正被拦截时仍会明确报错),但承包商详情页每次尝试都会返回 HTTP 403。gsa_contractor_profile 完全不会调用该页面,而是从两个可访问的路由构建档案(按承包商名称搜索计划/合同编号关联信息,以及可选的按 SIN 查询电话号码/城市/州)。响应中的 fields_unavailable 列表和 note 会清楚说明这种组合无法提供哪些字段。如果搜索在一次重试后仍被拦截,工具会返回 found: false,并附上说明,而不是直接抛出原始 403。
  • 某个 SIN 的类别说明可能超过 1,000 个字符,且开头几百个字符中没有 <br>/闭合标签。 标题和说明会分别在各自限定范围内解析,而不是使用一个组合模式,因此长说明不会导致整个匹配(包括简短的标题/SIN)悄无声息地失败。
  • 承包商列表表格的列并不固定——某些 SIN 会在名称列和合同编号列之间插入一个额外的“Disaster Purchasing”图标单元格,有些则不会。解析行时会定位每个承包商链接,只读取该链接与下一个链接之间的文本,而不是假定列偏移固定。

快速开始

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

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

https://gateway.pipeworx.io/gsa-elibrary/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 都连接到同一个网关和相同的 1879+ 个数据源。唯一的区别是直接列出哪个工具包的工具;通过任一 URL,ask_pipeworx 都能访问所有工具。

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

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

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

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

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

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

或者直接运行,确认它能启动:

npx -y @pipeworx/mcp-gsa-elibrary

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

使用 ask_pipeworx

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

ask_pipeworx({ question: "your question about Gsa Elibrary data" })

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

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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