Skip to main content

MCP server for TenderAPI — French (BOAMP) and EU (TED) public procurement data

Project description

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.

Install

Requires Python 3.10+.

From PyPI (once published):

pip install tenderapi-mcp

From source:

git clone https://github.com/IDNSIDNS/tenderapi-mcp
cd tenderapi-mcp
pip install -e .

Configure

Get a free API key at https://tenderapi.fr/.

Set the env var:

export TENDERAPI_KEY=ta_your_key_here

Use with Claude Desktop

Edit your Claude Desktop config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "tenderapi": {
      "command": "tenderapi-mcp",
      "env": {
        "TENDERAPI_KEY": "ta_your_key_here"
      }
    }
  }
}

Restart Claude Desktop. The tenderapi server should appear in the tool picker.

Use with other MCP clients

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

Tools exposed

Tool Tier Description
search_tenders Free Search BOAMP + TED tenders with typed filters (CPV, region, budget, deadline, source…)
search_awards Starter Search award notices (who won which contract, for how much)
winner_intel Pro Aggregated winner stats — top companies by CPV / region / year
me Current key tier, quota remaining, available features

Tiers

  • Free: 100 req/day — tenders only
  • Starter (5 €/mo HT): 5 000 req/day — adds awards + webhooks
  • Pro (15 €/mo HT): 50 000 req/day — adds winner intelligence

See https://tenderapi.fr/#pricing.

Local development

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

Changelog

0.1.2 (2026-05-07)

The underlying TenderAPI changed behaviour in ways that affect MCP clients:

  • Stricter query parameters. Unknown parameters (e.g. q= instead of keyword=) now return 400 Bad Request with a list of valid parameters, instead of being silently ignored. Update any tool calls that relied on the old behaviour.
  • Multi-word keyword search now AND-matches tokens. keyword=espaces verts requires both words to appear (in title or description). Previously it required the literal substring "espaces verts".
  • Comma-separated lists supported on region and cpv. region=paca,bretagne now works as well as repeating the parameter.
  • TED awards now expose real SIRETs (winner_siret, buyer_siret) for ~50% of records. BOAMP SIRETs are being progressively enriched via the SIRENE register.
  • Country codes normalised to ISO-3166-1 alpha-2 (FR, not FRA) across both BOAMP and TED awards/tenders.

0.1.1 (2026-05-04)

Initial public release on the MCP Registry.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tenderapi_mcp-0.3.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tenderapi_mcp-0.3.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file tenderapi_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: tenderapi_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tenderapi_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 047fb1fa07d1559a6c190f21a667abe33ae251e98a3ca0bdf6990abf24aa5d99
MD5 ae51f9de9937a568f43a548f836a5da3
BLAKE2b-256 5045d13a6a00413563c1d0e60d8ca8bf7f6540cd415e59d3512687ef013923ed

See more details on using hashes here.

File details

Details for the file tenderapi_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: tenderapi_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tenderapi_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e611ec8081cf8f43453f6ed3c8566a92e6d3539590ef8abd2446f4e04daccc4
MD5 d4375de0547fce3c2e3887bf862c4d3f
BLAKE2b-256 87714baa69570f70a9383327be152bbf0aac7ad0486608ad9e84d6549166e0c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page