关于 Gsa Elibrary
Gsa Elibrary 是用于查询 GSA 多奖项计划及 GWAC 合同持有者的 MCP 服务,面向政府采购研究。它通过公开的 eLibrary 页面提供关键词和 SIN 搜索及承包商计划资料。
主要功能
- 01按关键词、SIN、NAICS 或承包商搜索
- 02列出 SIN 下的合同持有者
- 03查看承包商的计划及合同编号
- 04显示合同是否停止接受新授予
- 05通过 stdio 本地运行或使用 Pipeworx
适用场景
- 01查找相关 SIN 下的承包商
- 02核对承包商的计划及合同关联
- 03确认合同是否接受新授予
MCP 相关
向 MCP 客户端提供计划搜索、合同持有者列表和承包商资料工具。可作为本地 stdio 服务运行,也可通过 Pipeworx 网关访问。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/gsa-elibrary/mcpclaude mcp add --transport http pipeworx-io-gsa-elibrary https://gateway.pipeworx.io/gsa-elibrary/mcp{"mcpServers":{"pipeworx-io-gsa-elibrary":{"type":"http","url":"https://gateway.pipeworx.io/gsa-elibrary/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-gsa-elibrary":{"type":"http","url":"https://gateway.pipeworx.io/gsa-elibrary/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-gsa-elibrary":{"type":"http","url":"https://gateway.pipeworx.io/gsa-elibrary/mcp"}}}{"mcpServers":{"pipeworx-io-gsa-elibrary":{"serverUrl":"https://gateway.pipeworx.io/gsa-elibrary/mcp"}}}命令在终端中运行;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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。