Open Contracting について
Open Contracting は、OCDS に基づいて公開された公共調達の入札や契約授与情報を検索する MCP サーバーです。19の公開元を対象とし、多言語データに合わせて検索語を拡張します。
主な機能
- 01テキストや条件による入札検索
- 02最近の調達公開情報の一覧
- 03入札から契約までの履歴確認
- 04国別の対象範囲とデータ更新状況の確認
- 05公開元の言語に応じた検索語の拡張
活用シーン
- 01購入者、分野、金額から入札を探す
- 02新たに公開された調達情報を確認する
- 03入札から授与までの調達プロセスを追う
- 04検索前に国別データの範囲を確認する
MCP 対応
調達検索、最新公開情報、プロセス履歴、対象範囲のツールを MCP クライアントに公開します。stdio によるローカル実行、または共有メタツールを備えた Pipeworx ゲートウェイ経由で利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/open-contracting/mcpclaude mcp add --transport http pipeworx-io-open-contracting https://gateway.pipeworx.io/open-contracting/mcp{"mcpServers":{"pipeworx-io-open-contracting":{"type":"http","url":"https://gateway.pipeworx.io/open-contracting/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-open-contracting":{"type":"http","url":"https://gateway.pipeworx.io/open-contracting/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-open-contracting":{"type":"http","url":"https://gateway.pipeworx.io/open-contracting/mcp"}}}{"mcpServers":{"pipeworx-io-open-contracting":{"serverUrl":"https://gateway.pipeworx.io/open-contracting/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/open-contracting
Open Contracting MCP — OCDS(Open Contracting Data Standard)に基づいて公開される、各国の公共調達情報(政府の入札および契約締結情報)です。 19 の国・地方自治体の公開元から OCDS の一括データをミラーリングしており、838,000 件を超える調達プロセスを収録しています。OCP Data Registry から毎週更新されます。
Pipeworx の一部です。AI エージェントを 1683 以上の稼働中データソースに接続する MCP ゲートウェイです。
ツール
oc_tender_search(query, country, status, category, min_value, days, limit)— 入札のタイトル、調達機関、説明文を対象にしたフリーテキスト検索です。言語の一致をご覧ください。データが英語以外でも、英語で検索できます。oc_recent(country, days, limit)— 新しい公開情報から順に表示する、「直近の公開情報」を確認するビューです。oc_process_history(ocid)— 1 件の調達プロセスに関するすべての公開情報を順に表示し、入札 → 契約締結 → 契約の進行を確認できます。oc_coverage()— 国ごとの公開元、公開情報数、プロセス数、および最新公開情報の鮮度を確認できます。実際に収録されている情報を確認するには、まずこれを呼び出してください。
認証
呼び出し元での認証は不要です。ゲートウェイがパックのデータ認証情報を注入します。OCDS の一括公開データを PostgREST 経由で読み取るため、19 の個別の上流 API が同時に稼働しているかどうかに左右されず、クエリは単一のバックエンドストアに対して解決されます。
ここでは、どこから提供されるかではなく、何が返されるかを説明してください。pnpm check:hosting-claims は、上流データのコピーを保持していると呼び出し元に伝える公開文言があると、ビルドを失敗させます。このファイルは公開対象です(docs/reference/open-contracting/ を生成します)。このチェックにより、2026-08-23 に main のプッシュが 9 回連続で失敗しました。
言語の照合
19 の公開機関のうち、入札文書を英語で登録しているのは 7 機関だけです。 残りの機関はそれぞれの言語で公開しています。ツールの説明と country 引数はどちらも英語のため、英語で質問すると結果がひとつも返らないことがありました。
{"query":"Ministry of Health","country":"Dominican Republic"} は 40,740 件のプロセスのうち 0 件を返した一方、"Ministerio de Salud" では結果が返されました。
| 言語 | 公開機関 |
|---|---|
| スペイン語 | ドミニカ共和国、ペルー、ウルグアイ、ホンジュラス、グアテマラ、メキシコ(オアハカ)、アルゼンチン(メンドーサ) |
| アルバニア語 | アルバニア、コソボ |
| クロアチア語 | クロアチア |
| イタリア語 | イタリア(ANAC) |
| タイ語 | タイ(バンコク) |
| 英語 | ケニア、ナイジェリア、ガーナ、ザンビア、リベリア、ルワンダ、タンザニア |
oc_tender_search は、クエリを翻訳するのではなく、検索対象を拡張するようになりました。入力した語句は常に検索されます。それに加えて、絞り込み先の country の言語における同等の語句も検索されます。これらは、実際に各コーパスで使われている購入者や分野の語句(ministry / ministerio / ministria / ministarstvo / ministero / กระทรวง など、さらに約 45 語)をまとめた同義語テーブルから取得されます。すべての表記は 1 つの PostgREST or=(...) に含まれ、単一の SQL 条件として実行されます。各条件の結果は統合されるため、複数の条件に一致する行も一度だけ返され、追加の往復処理は発生しません。
知っておくとよい特徴が 3 つあります。
- 拡張するだけで、置き換えません。 これらのコーパスは言語が混在しており、必ずしも 1 つの言語で統一されているわけではありません。そのため、クエリを一方向に書き換えると、別の言語で登録された情報が漏れてしまいます。現地語でのクエリはこれまでどおり機能し、結果が増えることはあっても減ることはありません。
- 照合は双方向で、アクセント記号の問題にも対応します。
Ministerio de Educacionと入力すると、保存されているMINISTERIO DE EDUCACIÓNが見つかります。アクセント記号のないスペイン語の語句が、同じテーブルを通じてアクセント記号付きの保存済み表記に対応付けられるためです。これにより、すべてのパターンが完全なリテラルのまま保たれ、トライグラムインデックスも引き続き適用されます。 - 検索対象を明示します。 応答には
query_match.searched(検索した表記)とquery_match.publisher_languageが含まれます。結果が 0 件の場合は、単にcount: 0を返すのではなく、公開機関の言語を示すhintが返されます。これにより、データが存在するのに存在しないと誤解されることを防ぎます。
表記内の * は単語間のワイルドカードです。そのため、ministerio*salud は MINISTERIO DE SALUD PÚBLICA に一致します。2 語のフレーズは、言語によって語順が変わるため、両方の語順で検索されます(「road construction」が「construcción de carreteras」として登録されている場合など)。
英語の公開機関では、語彙の置き換えは行われません。接続語の違いと語順だけに対応するため、Ministry Health と health ministry のどちらでも MINISTRY OF HEALTH が見つかります。
データソース
- OCP Data Registry(OCDS の一括ダウンロード):https://data.open-contracting.org/
- Open Contracting Data Standard:https://standard.open-contracting.org/
- 公開機関には、Guatecompras(GT)、OECE(PE)、DGCP(DO)、ARCE(UY)、ONCAE(HN)、ANAC(IT)、Narodne Novine(HR)、PPRC(XK)、PPC(AL)、BMA(TH)、ならびに KE、NG、GH、ZM、LR、RW、TZ の各国の調達当局が含まれます。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。
{
"mcpServers": {
"open-contracting": {
"url": "https://gateway.pipeworx.io/open-contracting/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/open-contracting/mcp の tools/list は、上の表にあるツールに加えて、共有の Pipeworx メタツール(ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で使える一連のツール)も返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック独自のツールとともに、共有ツールが約 30 個表示されます。接続の initialize 応答に正確なスコープが記載されており、その日の状況を確認する際の正式な情報源となります。
これは意図的な設計であり、偶然の多重化ではありません。メタツールを使うと、このパックの対象外の質問にも、カタログ全体を横断して振り分ける ask_pipeworx 経由で回答できます。そのため、2 つ目の MCP サーバーを追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマによるコンテキスト消費が振り分けのメリットを上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。
または、Pipeworx のフルゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールが直接一覧表示されます。
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も、同じゲートウェイと同じ 1683+ のデータソースに接続します。異なるのは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントがありませんか?HTTP 経由で呼び出せます
curl -X POST https://gateway.pipeworx.io/v1/tools/oc_tender_search \
-H 'Content-Type: application/json' \
-d '{"query":"Ministry of Health","country":"Dominican Republic","limit":5}'
最初の呼び出しにアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/oc_tender_search を実行します。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイとのラウンドトリップも不要です。
{
"mcpServers": {
"open-contracting": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-open-contracting"]
}
}
}
または、直接実行して起動することを確認できます。
npx -y @pipeworx/mcp-open-contracting
stdin/stdout 経由で MCP を通信し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールですが、ask_pipeworx による振り分けはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、自然な英語で質問できます。この方法は、上記のパックエンドポイントとフルゲートウェイの両方で使えます。
ask_pipeworx({ question: "your question about Open Contracting data" })
ゲートウェイが適切なツールを選び、引数を自動で設定します。
その他
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。