io.github.IDNSIDNS/tenderapi-mcp

Official registry Other

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http tenderapi-mcp 'https://tenderapi.fr/mcp'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "tenderapi-mcp": {
            "type": "http",
            "url": "https://tenderapi.fr/mcp"
        }
    }
}
PYPI package tenderapi-mcp
Claude Code
claude mcp add tenderapi-mcp -e 'TENDERAPI_KEY=<your tenderapi_key>' -e 'TENDERAPI_BASE_URL=https://tenderapi.fr' -- uvx tenderapi-mcp==0.9.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "tenderapi-mcp": {
            "command": "uvx",
            "args": [
                "tenderapi-mcp==0.9.0"
            ],
            "env": {
                "TENDERAPI_KEY": "<your tenderapi_key>",
                "TENDERAPI_BASE_URL": "https://tenderapi.fr"
            }
        }
    }
}

Environment variables

  • TENDERAPI_KEY required secret TenderAPI key (get a free one at https://tenderapi.fr/). Sent as X-API-Key header on every REST call.
  • TENDERAPI_BASE_URL Override the API base URL (default: https://tenderapi.fr). Useful for dev/staging.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. TenderAPI MCP server
  2. Two ways to use it
  3. Tools exposed
  4. Tiers
  5. Local development
  6. Requirements
  7. License

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:

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

pip install tenderapi-mcp

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

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

git clone https://github.com/IDNSIDNS/tenderapi-mcp
cd tenderapi-mcp
pip 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.

Frequently asked questions

What is io.github.IDNSIDNS/tenderapi-mcp?

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

How do I install io.github.IDNSIDNS/tenderapi-mcp?

It runs as a remote server. In Claude Code: claude mcp add --transport http tenderapi-mcp 'https://tenderapi.fr/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.IDNSIDNS/tenderapi-mcp need an API key?

Yes. It expects TENDERAPI_KEY, which you set in its configuration.

Is io.github.IDNSIDNS/tenderapi-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.IDNSIDNS/tenderapi-mcp?

It is published by IDNSIDNS. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.