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 整合