关于 Prozorro
Prozorro 是无需密钥即可搜索乌克兰公共采购招标并获取招标与合同记录的 MCP 服务,适用于采购研究和供应商尽调,可按机构、CPV 代码、状态、金额和日期筛选。
主要功能
- 01浏览近期更新的招标
- 02搜索 2015 年以来的招标
- 03将机构名称解析为 EDRPOU 代码
- 04获取招标详情和授标历史
- 05查看合同、修订和付款金额
适用场景
- 01按乌克兰语关键词或条件查找招标
- 02审查供应商的投标历史
- 03核实招标授标结果和中标方
- 04追踪合同变更和已付金额
MCP 相关
通过 Pipeworx 网关端点或本地 stdio MCP 服务,向 MCP 客户端提供 ProZorro 招标、机构和合同查询工具。网关连接还包含 Pipeworx 共享元工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/prozorro/mcpclaude mcp add --transport http pipeworx-io-prozorro https://gateway.pipeworx.io/prozorro/mcp{"mcpServers":{"pipeworx-io-prozorro":{"type":"http","url":"https://gateway.pipeworx.io/prozorro/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-prozorro":{"type":"http","url":"https://gateway.pipeworx.io/prozorro/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-prozorro":{"type":"http","url":"https://gateway.pipeworx.io/prozorro/mcp"}}}{"mcpServers":{"pipeworx-io-prozorro":{"serverUrl":"https://gateway.pipeworx.io/prozorro/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
mcp-prozorro
ProZorro MCP — 乌克兰政府采购(无需密钥)。
属于 Pipeworx — 一个将 AI Agent 连接到 1800 多个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联、未获其认可,也非由其发布。
工具
| 工具 | 描述 |
|---|---|
prozorro_recent_tenders | 乌克兰 ProZorro 国家公共采购系统中最近更新的招标(通过无需密钥的 OpenProcurement 公共信息流)。每项招标均返回 id、tenderID、标题、金额(金额+币种,通常为 UAH)、采购方(采购实体)、状态和采购方式。标题和采购方名称为乌克兰语。可用于浏览当前的乌克兰公共招标;如需查看特定招标,请使用 prozorro_get_tender。 |
prozorro_search_tenders | 对 2015 年以来乌克兰 ProZorro 的所有招标进行全文搜索(无需密钥)。搜索 ProZorro 自身的分析索引,因此乌克兰语查询会正确处理词干(例如,"школа" 也会匹配 "школи" 和 "шкільний")——使用乌克兰语关键词可获得最佳召回率。可按采购方 EDRPOU、供应商/投标人 EDRPOU(tenderer——这是进行供应商尽职调查时使用的筛选项,可查出某公司投过标或中标的所有招标)、CPV 代码、状态、金额范围和日期进行筛选。返回 tenderID、标题、金额、采购方名称+EDRPOU+地区、状态,以及 id 字段(内部 32 位十六进制 id);除非传入 resolve_ids,否则该字段为 NULL——搜索索引本身不包含此字段(已实时验证)。现在只需传入 tenderID,prozorro_get_tender 就会尝试自动执行相同的解析,因此通常无需在此处使用 resolve_ids。如需查看某个结果的完整详情,请使用 prozorro_get_tender。 |
prozorro_search_organizations | 使用 ProZorro 的组织索引(无需密钥),将乌克兰公司或公共采购方的名称解析为其 EDRPOU 代码。这是供应商尽职调查的入口:用户知道公司名称,但 prozorro_search_tenders 按 EDRPOU 筛选——先调用此工具,再将返回的 edrpou 作为 tenderer(供应商)或 buyer 传入,以获取该公司的完整招标记录。 |
prozorro_get_tender | 通过 id 获取单项乌克兰 ProZorro 招标的完整详情(使用无需密钥的 OpenProcurement 公共 API)。返回 tenderID、标题、说明、状态、procurementMethod + procurementMethodType(原始 OCDS 字段——分别表示宽泛的采购方式和 ProZorro 的具体类型,例如 aboveThresholdUA/aboveThresholdEU)、tender_value(原始报价——并非实际支出金额)、采购方/采购实体(名称、EDR 标识符、地区、联系方式)、招标期限(开始/结束)、询问期限、投标数量、明细项(说明、CPV 分类、数量、单位、relatedLot)、lots(分包 id/标题/状态/金额,适用于划分了分包的招标),以及 OCDS 授标/合同阶段:award(当前有效的授标:状态、日期、金额、中标供应商、lotID、bid_id——若无则为 null)以及完整的 awards 历史记录(每条记录均包含完整的 suppliers[] 数组——名称+标识符方案/id,同时保留单一供应商的 supplier 字段以向后兼容),还有 contract(已签署合同的金额/日期,以及从合同记录读取的当前状态和 amountPaid——招标自身副本在签署后会过时;如需查看合同变更、终止和合同文件,请使用 prozorro_get_contract)。interpretation 行会明确说明 tender_value 是否实际支出过。传入 raw:true,还会在 raw 下返回完整的上游 OCDS 招标对象(不做字段整形),以便获取上述未列出的字段。文本主要为乌克兰语。可接受内部 32 字符招标 id 或人类可读的 tenderID("UA-2026-09-20-000012-a")——对于 tenderID,此工具现在会先扫描最近修改的信息流记录,尝试解析内部 id(成本低,最近几小时内修改的招标通常一次调用即可找到),成功时返回完整详情;只有当招标近期没有修改、因此无法通过此方式找到时,才会退回搜索索引摘要(detail_available:false,不含授标信息)。 |
prozorro_get_contract | 获取乌克兰 ProZorro 招标授标后的权威合同记录(使用无需密钥的 OpenProcurement 合同 API):当前状态(active | terminated | cancelled)、dateSigned、合同期限、当前金额(变更后——API 不会单独保存原始签署金额;变更理由通常会说明该金额)和 amountPaid、terminationDetails、每次合同变更/修订(理由、rationaleTypes、发布日期、dateSigned)、合同文件及其 datePublished,以及里程碑。签署后的信息请使用此工具,而非招标详情——嵌入招标中的合同副本会在招标完成时冻结,且合同变更或终止后仍显示 active。传入招标 id(32 位十六进制 id 或 UA-… tenderID)可获取其所有合同,也可传入合同的 32 位十六进制 id。可选参数 as_of(YYYY-MM-DD)会将变更和文件按在该日期当天或之前、以及之后发布进行划分,并说明该日期的记录状态是否已知:公共 API 不保留修订历史,因此如果记录在 as_of 之后修改过,工具会报告该日期的状态不可用,而不会推断其状态。API 不包含终止日期字段;此工具绝不会编造该日期。 |
快速入门
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"prozorro": {
"url": "https://gateway.pipeworx.io/prozorro/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/prozorro/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 都连接到同一个网关和相同的 1800 多个数据源。唯一的区别是哪些工具包的工具会被直接列出;无论连接哪个端点,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/prozorro_recent_tenders \
-H 'Content-Type: application/json' \
-d '{"limit":20}'
首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/prozorro_recent_tenders。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需往返网关:
{
"mcpServers": {
"prozorro": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-prozorro"]
}
}
}
或者直接运行以确认它能启动:
npx -y @pipeworx/mcp-prozorro
它通过 stdin/stdout 使用 MCP,并为仅此工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接额外提供的任何共享元工具。数据源相同,工具相同,但没有 ask_pipeworx 路由功能。
使用 ask_pipeworx
你可以用通俗语言提问,而不是直接调用工具——这既适用于上面的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Prozorro data" })
网关会选择合适的工具并自动填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。