Tenderapi Mcp

io.github.IDNSIDNSPublished by GitHub account IDNSIDNSv0.9.0Updated Nov 4, 2026

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

The publisher's own server: TenderAPI

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBusiness & Commerce

Overview

AI-generated overview

MCP server for searching French (BOAMP) and EU (TED) public procurement notices, with tender details and alert previews.

What you can do
  • Search public tenders across BOAMP and TED with filters such as CPV, region, budget, deadline and source
  • Fetch the full record of a single tender by its identifier, including description, documents and contacts
  • Preview what an automatic alert watch would deliver for given criteria, without creating anything
When to use it
Useful when an assistant needs to find French or European public procurement opportunities, look up the details of a specific notice, or check whether a recurring watch would surface relevant contracts.
Requirements
Either the hosted endpoint at tenderapi.fr (no install, no key, anonymous) or the local Python package tenderapi-mcp, which needs Python 3.10+ and a TENDERAPI_KEY sent as an X-API-Key header. TENDERAPI_BASE_URL can override the API base URL. Network access to the TenderAPI service is required.
Before you install
Anonymous hosted use is limited to 30 tool calls per day per IP and covers only tenders; awards, winner intelligence and alert profiles need a key. The local server requires the TENDERAPI_KEY secret in its environment. Pro features cost 15 €/month via Stripe, and the README lists tools that create, update and delete alert profiles and open billing links.

Installation

In SourceWeft

  1. Open Tenderapi Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.IDNSIDNS%2Ftenderapi-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "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.

Source: README.md at commit 129bb24

Tools

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

Parameterscpvpagesortregionsourcestatuscountrykeywordpage_sizebudget_maxbudget_mincpv_family+13 more

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`.

Parameterstender_idrequired

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`.

Parameterssiretcountryregionskeywordscpv_codesbudget_maxbudget_mindepartmentsmatch_cpv_family

Version history

2
  1. v0.9.0LatestOct 14, 2026
  2. v0.8.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Tenderapi integrations