Tenderapi Mcp

io.github.IDNSIDNS由 GitHub 账号 IDNSIDNS 发布v0.9.0更新于 Nov 4, 2026

MCP server for French (BOAMP) + EU (TED) public procurement data via TenderAPI.

发布方自己的服务:TenderAPI

已验证Streamable HTTP可网页运行网页搜索与抓取商业与电商

概览

AI 生成的概览

用于检索法国(BOAMP)与欧盟(TED)公共招标公告的 MCP 服务器,可查看招标详情并预览订阅提醒。

可以做什么
  • 按 CPV、地区、预算、截止日期、来源等条件检索 BOAMP 与 TED 的公共招标
  • 按标识符获取单条招标的完整信息,包括描述、文件与联系人
  • 预览某组条件在自动提醒中会推送哪些内容,而不实际创建任何东西
适用场景
适合需要查找法国或欧洲公共采购机会、查询某条具体公告详情,或评估定期提醒能否筛出相关合同的场景。
运行要求
可使用 tenderapi.fr 的托管端点(无需安装、无需密钥、匿名),或本地 Python 包 tenderapi-mcp,后者需要 Python 3.10+ 以及通过 X-API-Key 请求头发送的 TENDERAPI_KEY。可用 TENDERAPI_BASE_URL 覆盖 API 基础地址。需要能访问 TenderAPI 服务的网络。
安装前请注意
匿名托管使用每 IP 每天限 30 次工具调用,且仅限招标数据;中标信息、中标方情报与提醒配置需要密钥。本地服务器需在环境中提供 TENDERAPI_KEY 密钥。Pro 功能通过 Stripe 收费每月 15 欧元,README 还列出可创建、更新、删除提醒配置以及打开账单链接的工具。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Tenderapi Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.IDNSIDNS%2Ftenderapi-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "tenderapi": {
      "type": "http",
      "url": "https://tenderapi.fr/mcp"
    }
  }
}

README

TenderAPI MCP server

Expose TenderAPI (French BOAMP + EU TED public procurement data) as MCP tools for AI agents (Claude Desktop, Cursor, Continue, Zed, etc.).

A thin wrapper over the public REST API at https://tenderapi.fr.

Coverage: BOAMP (France) since March 2015, and TED for FR/DE/IT/ES/UK since 2015 (legacy XML format until end 2023, then eForms), refreshed daily.

Two ways to use it

1. Hosted server — no install, no key

The fastest way to try it. Point any MCP client at the hosted endpoint:

https://tenderapi.fr/mcp

Claude Desktop / Claude Code:

json
{  "mcpServers": {    "tenderapi": {      "type": "streamable-http",      "url": "https://tenderapi.fr/mcp"    }  }}

Exposes search_tenders and get_tender. Anonymous, free, limited to 30 tool calls per day per IP. No account, nothing to install.

Awards, winner intelligence and alert profiles are not available anonymously — they need a key, see below.

2. Local server (pip) — full toolset

Requires Python 3.10+ and a free API key.

bash
pip install tenderapi-mcp

Get a free key at https://tenderapi.fr/ (includes one weekly email watch), then:

json
{  "mcpServers": {    "tenderapi": {      "command": "tenderapi-mcp",      "env": {        "TENDERAPI_KEY": "ta_your_key_here"      }    }  }}

Claude Desktop config location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Restart the client. The tenderapi server should appear in the tool picker.

From source instead of PyPI:

bash
git clone https://github.com/IDNSIDNS/tenderapi-mcpcd tenderapi-mcppip install -e .

Any MCP client supporting stdio transport works. The tenderapi-mcp binary installed by pip is the entry point.

Tools exposed

ToolTierHosted (keyless)Description
search_tendersFree✅Search BOAMP + TED tenders with typed filters (CPV, region, budget, deadline, source, etc.)
get_tenderFree✅Fetch a single tender by id
search_awardsPro—Search award notices (who won which contract, for how much)
get_awardPro—Fetch a single award by id
winner_intelPro—Aggregated winner stats: top companies by CPV / region / year
meany—Current key tier, quota remaining, available features
list_profiles, get_profile, create_profile, update_profile, delete_profileFree (1, weekly email) / Pro—Manage alert profiles for new-tender matches: weekly email on a free key; daily email digest, Teams card or webhook on Pro
upgrade_tier, billing_portalany—Stripe checkout and billing-management links

PINs (prior-information notices) are excluded from search_tenders by default; pass include_planning=true to include them. A deadline_after/deadline_before filter drops notices with no submission deadline unless include_null_deadline=true.

Tiers

  • Hosted, keyless: 30 tool calls/day per IP, tenders only
  • Free key: tenders, 1 alert profile (email digest every Monday, to the account address)
  • Pro (15 €/month): adds awards and winner intelligence, up to 10 alert profiles delivered every morning (email digest, Teams or webhook)

Request limits only protect the service (free: 1 000/day and 30/min; Pro: 1 500/day and 120/min); paginated lists stop at row 1 000.

Prices are final — no VAT is charged (art. 293 B French tax code). See https://tenderapi.fr/#pricing.

Local development

Override the API base URL via TENDERAPI_BASE_URL (default https://tenderapi.fr).

Requirements

Pinned to the mcp 1.x line: version 2.0.0 removed mcp.server.fastmcp, which this server is built on. Migration to the 2.x API is tracked separately.

License

MIT, see LICENSE.

来源:README.md,提交 129bb24

工具

3

search_tenders

Rechercher des appels d'offres (BOAMP + TED)

Recherche des appels d'offres publics français (BOAMP) et européens (TED). Environ 3 millions d'avis, mis à jour plusieurs fois par jour. Accès anonyme et gratuit, limité à 30 appels par jour et par IP ; chaque réponse indique le solde restant dans sa clé `quota`. Cinq pièges, tous rencontrés en production : 1. Filtrez toujours. Sans aucun filtre la recherche porte sur tout le stock depuis 2015, avis clos compris. Posez au minimum un `keyword`, un `cpv_family`, un `country` ou un `status`. 2. `keyword` cherche une sous-chaîne et exige que TOUS les mots soient présents dans le même avis. « défibrillateur cabinet » ne rend rien ; cherchez un seul mot, puis affinez. 3. Le mot-clé balaie le titre ET la description, noms d'acheteurs compris. Un terme métier qui est aussi un toponyme sur-capte donc beaucoup : « littoral » remonte une maintenance de portes au « GHT Somme Littoral Sud ». Quand un mot est ambigu, préférez un code CPV, ou une expression que ne peut pas porter un nom de lieu. 4. Les avis TED sont indexés dans leur langue de publication : pour couvrir un marché européen, interrogez le terme dans chaque langue utile, ou passez par le code CPV, qui lui est indépendant de la langue. 5. Environ 40 % des avis BOAMP arrivent sans aucun code CPV : un filtre CPV seul les laisse de côté. Croisez avec `keyword` quand la couverture compte. Chaque paramètre est décrit dans le schéma d'entrée ; les valeurs invalides rendent une erreur qui liste les valeurs acceptées, et cette erreur ne consomme pas de quota. Les attributions (qui a gagné, pour quel montant) et le winner intelligence ne sont PAS disponibles ici : ils demandent une clé. Voir https://tenderapi.fr/?via=mcp

输入参数cpvpagesortregionsourcestatuscountrykeywordpage_sizebudget_maxbudget_mincpv_family另有 13 个

get_tender

Fiche complète d'un appel d'offres

Récupère la fiche complète d'un appel d'offres par son identifiant. À utiliser après `search_tenders` pour obtenir le détail d'un avis (description intégrale, documents, contacts, champs bruts). Les avis BOAMP les plus succincts n'ont ni description ni CPV : `source_url` renvoie alors vers l'avis d'origine. Accès anonyme et gratuit, limité à 30 appels par jour et par IP ; la réponse indique le solde restant dans sa clé `quota`.

输入参数tender_id必填

preview_alerts

Tester une veille avant de la créer

Montre ce qu'une veille automatique AURAIT livré avec ces critères, sans rien créer. À utiliser quand quelqu'un veut « être prévenu » des marchés qui le concernent, plutôt que de chercher une fois. `search_tenders` répond à « qu'y a-t-il aujourd'hui » ; cet outil répond à « qu'est-ce que je recevrais, et à quel rythme », ce qui est la vraie question de quelqu'un qui envisage de s'abonner. RIEN N'EST ENREGISTRÉ, aucune alerte n'est envoyée, aucun compte n'est créé. C'est une simulation en lecture seule, utilisable sans clé. COMMENT S'EN SERVIR, dans cet ordre : 1. Composez les critères à partir du besoin exprimé, puis appelez cet outil. 2. Présentez `last_30d` (le rythme réel) et `sample` (ce que ça donne concrètement). Ne présentez pas `count` seul : c'est un stock d'avis ouverts, pas un débit. 3. LISEZ `per_criterion` AVANT de conclure. Il dit ce que chaque filtre retire. Un critère qui divise le résultat par trois est presque toujours une erreur de cadrage, pas une intention — c'est le défaut le plus fréquent des veilles, et il est invisible sans ce chiffre. Proposez la correction, puis re-testez. 4. Si le rythme est nul ou dérisoire, élargissez et rappelez l'outil. Deux ou trois itérations valent mieux qu'un profil enregistré au jugé. POUR RECEVOIR CES ALERTES POUR DE VRAI, l'utilisateur doit avoir un compte : une clé gratuite s'obtient en 30 secondes sur https://tenderapi.fr/?via=mcp et inclut une veille par email, envoyée chaque lundi (rythme : `last_7d`). La veille quotidienne (rythme : `last_24h`), Teams, webhook et plusieurs veilles relèvent de l'offre Pro, 15 €/mois. Dites-le tel quel, sans insister : le chiffre du point 2 argumente tout seul s'il est bon, et s'il est mauvais mieux vaut le dire que vendre. Accès anonyme et gratuit, limité à 30 appels par jour et par IP ; la réponse indique le solde restant dans sa clé `quota`.

输入参数siretcountryregionskeywordscpv_codesbudget_maxbudget_mindepartmentsmatch_cpv_family

版本历史

2
  1. v0.9.0最新Oct 14, 2026
  2. v0.8.0Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Tenderapi 集成