mcpField
E
Eu Funding Tenders

Eu Funding Tenders

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

关于 Eu Funding Tenders

Eu Funding Tenders 是一个 MCP 服务,可搜索 Funding & Tenders Portal 中的欧盟资助项目和对外行动招标。它帮助申请者查询开放机会、截止日期、资格条件、预算和主题标识符。

主要功能

  1. 01按文本、状态和计划搜索资助主题
  2. 02按截止日期列出开放项目
  3. 03查询主题资格条件、预算和申请信息
  4. 04搜索对外行动招标及 EuropeAid 项目

适用场景

  1. 01查找 Horizon Europe 等欧盟开放资助项目
  2. 02核对主题的资格条件和截止日期
  3. 03查询对外行动招标及其预算信息

MCP 相关

向 MCP 客户端提供搜索、开放项目列表、主题详情和对外行动招标工具。无需调用方凭据即可查询门户公开的 SEDIA 搜索 API。

配置

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

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

工具

45
参数类型必填说明
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 作为别名。

详细介绍

@pipeworx/eu-funding-tenders

EU Funding & Tenders Portal MCP——Horizon Europe 以及所有其他 EU 资助项目和 EU 招标:哪些项目正在开放、何时截止,以及申请中应引用的主题标识符。

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

工具

  • eu_search_calls(query?, status?, programme?, limit?, page?) — 对 EU 资助主题(type=1)进行全文搜索。status 接受普通词语(默认值为 open,也可使用 forthcoming、closed、any);programme 接受代码,例如 horizon、life、erasmus、digital、cef、eu4h。返回标识符、标题、所属征集、截止日期、剩余天数、状态词、行动类型、项目计划和门户 URL。
  • eu_open_calls(query?, programme?, limit?) — 按最近截止日期排序的当前开放征集;剩余截止天数在请求时计算。
  • eu_get_topic(identifier, include_conditions?) — 获取一个主题的完整详情(例如 HORIZON-CL5-2026-09-D4-03):移除标签后的描述、准入/资格条件、含预期资助数量和每个项目 EU 资助金额的指示性预算、行动类型、截止日期模式、目标方向、跨领域优先事项和提交链接。也可解析外部行动引用,例如 EuropeAid/187022/DD/ACT/IN。
  • eu_external_action_tenders(query?, status?, limit?, page?) — 对 type=2 执行相同的搜索:欧盟委员会自己的外部行动招标和 EuropeAid 征集,即在合作伙伴国家开展的发展合作和技术援助(约 2,400 条记录,全部为 EuropeAid/… 引用)。欧盟境内国家或市政采购方发布的合同公告则发布在 TED 上,这是一个不同且规模大得多的公告平台。返回参考编号、国家、合同预算及货币、截止日期、状态和门户 URL。

对于确实无法回答的请求,工具会返回 { found: false, reason, hint }(例如主题标识符未知、项目计划代码未知或没有匹配的征集),而不会抛出错误。

身份验证

无需密钥。门户自己的公共密钥(apiKey=SEDIA)已内置;调用方无需传入任何内容。

数据源

  • 搜索端点:https://api.tech.ec.europa.eu/search-api/prod/rest/search?apiKey=SEDIA
  • 门户网站:https://ec.europa.eu/info/funding-tenders/opportunities/portal/screen/home
  • 主题页面:https://ec.europa.eu/info/funding-tenders/opportunities/portal/screen/opportunities/topic-details/<identifier>
  • 外部行动调用(Prospect):https://webgate.ec.europa.eu/prospect/external/publishedcalls.htm?callId=<id>

注意事项。 请求正文采用 multipart/form-data,且每个部分都必须带有 Content-Type: application/json——如果将各部分作为普通字符串发送,API 会返回 HTTP 500 {"type":"throwable","message":"An internal error occurred"},也不会说明原因。在 curl 中,应使用 -F 'query={...};type=application/json';在 Worker 中,只有将 Blob 与 { type: 'application/json' } 一起追加,才能为每个部分设置内容类型;并且必须让 fetch 设置 multipart 边界,不要自行设置 Content-Type。text 查询参数不能为空,因此 *** 是匹配所有内容的词。结果中 metadata 的每个值都是只含一个元素的数组(metadata.title === ["…"]),所以每个字段都需要拆出其中的值,否则所有使用方得到的都会是数组。descriptionByte 和 topicConditions 是带内联样式的原始 HTML——此工具包会剥除标签并合并空白字符,同时处理两个上游遗留问题:字面内容为 <p>null</p> 的段落,以及有误的属性引号(<div class="x>"),后者否则会导致条件文本开头残留 ">。budgetOverview 是一个 JSON 字符串,其 budgetTopicActionMap 使用内部 ID 作为键;匹配项需通过 action 字符串查找,该字符串以主题标识符开头。查询 DSL 是 Elasticsearch 的精简子集:terms 可用,prefix 会被拒绝并返回 HTTP 400,而 range 会被静默忽略(totalResults 和结果行都不变)——因此无法将日期范围筛选下推到查询中。这一点很重要,因为截至 2026 年 7 月,门户网站将数百个截止日期早已过去多年的旧主题仍标记为开放(约 590 个主题中有 250 个),因此 eu_open_calls 按 deadlineDate 升序排序,并通过二分查找结果集来定位首个尚未截止的主题;eu_search_calls 则按降序排序,并从返回的页面中剔除已过期的主题。frameworkProgramme 是内部数字 ID,因此此工具包附带了代码到 ID 的映射表(所有外部行动记录都使用占位符 111111)。值得了解的分面值:type 为 1 表示资助主题,2 表示招标/外部行动;status 为 31094501 表示即将发布,31094502 表示开放,31094503 表示已关闭(招标记录还会使用 310945031 和 99999998,两者都表示已关闭)。type=2 也会索引门户网站常见问题,因此招标查询会固定使用 DATASOURCE=SEDIA。最后,text 匹配较宽松——即便搜索毫无意义的短语,也仍会返回数百条结果——因此应将 total_results 视为按相关性排序的上限,而非实际匹配数量。

快速开始

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

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

https://gateway.pipeworx.io/eu-funding-tenders/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+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具。

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

curl -X POST https://gateway.pipeworx.io/v1/tools/eu_search_calls \
  -H 'Content-Type: application/json' \
  -d '{"query":"battery recycling","status":"open","limit":10}'

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

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

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

{
  "mcpServers": {
    "eu-funding-tenders": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-eu-funding-tenders"]
    }
  }
}

或者直接运行它,确认服务可以启动:

npx -y @pipeworx/mcp-eu-funding-tenders

它通过 stdin/stdout 使用 MCP,并为仅此工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接额外提供的任何共享元工具。相同的源代码,相同的工具,但没有 ask_pipeworx 路由。

使用 ask_pipeworx

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

ask_pipeworx({ question: "your question about Eu Funding Tenders data" })

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

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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