mcpField
T
tenderapi-mcp

tenderapi-mcp

リモート
github.com/IDNSIDNS法務・行政02 週間前に更新
リポジトリ

tenderapi-mcp について

tenderapi-mcpは、TenderAPIのフランスBOAMPおよびEU TED公共調達データを、AIエージェント向けのMCPツールとして公開します。キー不要のホスト型接続と、全ツールを使えるローカル実行を選べます。

主な機能

  1. 01BOAMPとTEDの入札検索
  2. 02IDによる入札詳細の取得
  3. 03落札公告の検索と取得
  4. 04落札企業の統計集計
  5. 05新規入札アラートの管理

活用シーン

  1. 01地域、予算、期限による入札絞り込み
  2. 02個別の入札または落札公告の確認
  3. 03分野や地域別の落札企業の比較
  4. 04新規入札のメールまたはWebhook通知

MCP 対応

入札、落札公告、落札企業統計、アラート設定のTenderAPIツールをMCPクライアントに公開します。ホスト型はキー不要ですが機能が限定され、ローカル実行にはAPIキーが必要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://tenderapi.fr/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
pypitenderapi-mcp0.9.0

ツール

3
パラメーター型必須説明
cpvanyいいえ8 桁の正確な CPV コード。例:IT サービスの '72000000'。BOAMP の公告の約 40% には CPV がありません。CPV のみのフィルターでは除外されます。
pageintegerいいえページ番号。1 から始まります。
sortanyいいえ'date'(新しい順、デフォルト)、'relevance'(BM25 による順位付け)、または 'deadline'(締切日の近い順、締切日のない公告は最後)です。'relevance' は keyword と併用する場合のみ意味があり、keyword がないと拒否されます。'deadline' は status='open' または deadline_after と組み合わせてください。そうしないと、リストの先頭に何年も前に締め切られた公告が表示されます。
regionanyいいえフランスの地域を表す slug。例:'bretagne'、'ile-de-france'、'occitanie'。不明な値を指定すると、最も近い slug を提案するエラーが返されます。
sourceanyいいえ'boamp'(フランスの公告)または 'ted'(欧州の公告)です。省略すると両方が検索されます。
statusanyいいえ'open'(リクエスト時点で締切日を過ぎていない)または 'closed' です。⚠️ このフィルターを指定しないと、検索対象は 2015 年以降の全データとなり、期限切れの公告も含まれます(約 290 万件)。まだ応札可能な公告を探す場合は 'open' を指定してください。
countryanyいいえ2 文字の ISO 国コード。例:'FR'、'DE'、'ES'。フランスの公告('FR')だけに絞る場合や、TED のデータで国を指定する場合に便利です。
keywordanyいいえタイトルと説明文を対象とした全文検索です。アクセント記号は区別されません。同じ公告内にすべての語が含まれる必要があります。まず単語を 1 つだけ検索し、その後絞り込んでください。FTS5 の OR 演算子に対応しています。例:'BIM OR "maquette numerique"'。
page_sizeintegerいいえ1 ページあたりの公告数。デフォルトは 10 件で、匿名利用では上限 20 件です。公告は約 1,300 文字あるため、すべて読む場合に限り 20 件に増やしてください。
budget_maxanyいいえユーロ単位の上限金額。
budget_minanyいいえユーロ単位の最低金額。include_null_budget=true でない限り、予算が記載されていない公告は除外されます。
cpv_familyanyいいえ2 桁の CPV 接頭辞。例:'72' はすべての IT、'45' は工事。
departmentanyいいえ県コード。例:'35'、'2A'、'974'。複数の値はカンマで区切ります。
buyer_siretanyいいえ買い手の SIRET。ちょうど 14 桁の数字(企業ではなく事業所)。
descripteuranyいいえBOAMP 記述子コード(DILA の分類)。フランス側で CPV の代わりに使用します。
buyer_keywordanyいいえ買い手名の一部。3 文字以上。例:'metropole'、'CHU'。
contract_typeanyいいえ'services'、'works'、または 'supplies'。フランス語の 'travaux' と 'fournitures' もエイリアスとして受け付けます。
deadline_afteranyいいえ提出期限がこの ISO 日付(AAAA-MM-JJ)より後。
procedure_typeanyいいえ手続きの種類。例:'open'、'restricted'、'negotiated'。不明な値の場合、受け付け可能な値を列挙したエラーが返されます。
deadline_beforeanyいいえ提出期限がこの ISO 日付(AAAA-MM-JJ)より前。
published_afteranyいいえこの ISO 日付(AAAA-MM-JJ)以降に公開。毎日のモニタリングに使うフィルターです。
include_planningbooleanいいえ事前情報公告(予定段階で、まだ受付開始していない案件)を含めます。デフォルトでは除外されます。
published_beforeanyいいえこの ISO 日付(AAAA-MM-JJ)より前に公開。
include_null_budgetbooleanいいえ金額フィルターが指定されていても、予算が未記載の公告を残します。金額を公表しない BOAMP 公告は多数あります。
include_null_deadlinebooleanいいえ期限フィルターが指定されていても、期限のない公告を残します。これを指定しないと、deadline_* フィルターによって通知なしに除外されます。

詳細

TenderAPI MCP サーバー

TenderAPI(フランスの BOAMP および EU TED の公共調達データ)を、AI エージェント(Claude Desktop、Cursor、Continue、Zed など)向けの MCP ツールとして公開します。

https://tenderapi.fr のパブリック REST API を薄くラップしたものです。

対象データ:2015 年 3 月以降の BOAMP(フランス)と、2015 年以降の TED(フランス/ドイツ/イタリア/スペイン/英国)。2023 年末までは従来の XML 形式、それ以降は eForms で、毎日更新されます。

使い方は 2 通り

1. ホスト型サーバー — インストール不要、キー不要

最も手軽に試せる方法です。任意の MCP クライアントからホスト型エンドポイントに接続します。

https://tenderapi.fr/mcp

Claude Desktop/Claude Code:

{
  "mcpServers": {
    "tenderapi": {
      "type": "streamable-http",
      "url": "https://tenderapi.fr/mcp"
    }
  }
}

search_tenders と get_tender を利用できます。**匿名で無料ですが、IP アドレスごとに 1 日 30 回のツール呼び出しに制限されます。**アカウント登録もインストールも不要です。

落札情報、落札者インテリジェンス、アラートプロファイルは匿名では利用できません。利用にはキーが必要です。詳しくは以下をご覧ください。

2. ローカルサーバー(pip) — すべてのツールを利用可能

Python 3.10 以降と無料の API キーが必要です。

pip install tenderapi-mcp

https://tenderapi.fr/ で無料キーを取得してから(週 1 回のメール通知を含む)、次を実行します。

{
  "mcpServers": {
    "tenderapi": {
      "command": "tenderapi-mcp",
      "env": {
        "TENDERAPI_KEY": "ta_your_key_here"
      }
    }
  }
}

Claude Desktop の設定ファイルの場所:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json

クライアントを再起動してください。ツール選択画面に tenderapi サーバーが表示されます。

PyPI ではなくソースから利用する場合:

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

stdio トランスポートに対応する任意の MCP クライアントで動作します。pip でインストールされる tenderapi-mcp バイナリがエントリーポイントです。

公開されるツール

ツールプランホスト型(キー不要)説明
search_tenders無料✅型指定フィルター(CPV、地域、予算、締切、ソースなど)で BOAMP と TED の入札案件を検索します
get_tender無料✅ID で単一の入札案件を取得します
search_awardsPro—落札情報を検索します(どの契約を誰がいくらで落札したか)
get_awardPro—ID で単一の落札情報を取得します
winner_intelPro—落札者の集計統計:CPV/地域/年別の上位企業
me任意—現在のキーのプラン、残りの利用枠、利用可能な機能
list_profiles, get_profile, create_profile, update_profile, delete_profile無料(1 件、週次メール)/Pro—新しい入札案件に一致するアラートプロファイルを管理します。無料キーでは週次メール、Pro では毎日のメールダイジェスト、Teams カード、または Webhook を利用できます
upgrade_tier, billing_portal任意—Stripe の決済と請求管理へのリンク

PIN(事前情報通知)はデフォルトで search_tenders の対象外です。含めるには include_planning=true を渡してください。deadline_after/deadline_before フィルターを指定すると、include_null_deadline=true を指定しない限り、提出期限のない通知は除外されます。

プラン

  • ホスト型、キー不要:IP アドレスごとに 1 日 30 回のツール呼び出し、入札案件のみ
  • 無料キー:入札案件、アラートプロファイル 1 件(毎週月曜日にアカウントのメールアドレス宛てにメールダイジェストを送信)
  • Pro(月額 15 €):落札情報と落札者インテリジェンスを追加し、毎朝配信されるアラートプロファイルを最大 10 件まで利用可能(メールダイジェスト、Teams、または Webhook)

リクエスト上限はサービス保護のみを目的としています(無料:1 日 1,000 件、1 分あたり 30 件。Pro:1 日 1,500 件、1 分あたり 120 件)。ページ分割されたリストは 1,000 行で停止します。

価格はすべて税込みではなく、VAT は請求されません(フランス税法第 293 条 B)。https://tenderapi.fr/#pricing をご覧ください。

ローカル開発

TENDERAPI_BASE_URL で API のベース URL を上書きできます(デフォルトは https://tenderapi.fr)。

必要条件

mcp の 1.x 系に固定されています。バージョン 2.0.0 では、このサーバーが基盤とする mcp.server.fastmcp が削除されました。2.x API への移行は別途管理されています。

ライセンス

MIT。詳細は LICENSE をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。