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.2.0.tar.gz (7.4 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.2.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tenderapi_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 7.4 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.2.0.tar.gz
Algorithm Hash digest
SHA256 933cafb8e51d72d9b484e65a02858632c09946e682e9d502cfa1918df9132686
MD5 9d8511c76f895a166416da5d293c364f
BLAKE2b-256 417453ac633b2d5624c034238eecab6c2b2e87586edb1d41658a5efafe5a8738

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tenderapi_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d508e2c456e15480a60b94887611bd8d7a27cd0e123cf32ac02d5f2f1c6d66b
MD5 341999f3650d4ab2ef137a6fd58b9fba
BLAKE2b-256 d95fcddc3a1bd791dde5590ad9c81eecb06acc81597c0b36ee875e4440e1d906

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