ナレッジ
特定の府省に納入実績のある企業をAIで絞り込む
ハシケの MCP ツールで府省を一つ選んで落札結果を取り出し、AI アシスタントに法人番号ごとにまとめさせると、その府省に納入実績のある企業の候補リストができます。最後に、各社の件数と金額をハシケの数字と一件ずつ照合します。
最終確認: 2026年10月12日
このページで扱う作業
ある府省にどの企業が納入してきたかを調べたい場面があります。協業先を探すときや、競合の受注状況を把握するときです。日本の中央省庁は落札結果を調達ポータルで公表していますが、件数が多く、府省や件名で絞ったうえで企業ごとにまとめ直さないと、候補の一覧にはなりません。
ハシケは、米国連邦政府が日本国内で発注する契約機会と、日本の中央省庁の落札結果を整理しているバイリンガルの調査サービスです。日本側の落札結果は、法人番号で受注企業と結び付けてあります。法人番号は国税庁が法人ごとに指定する十三桁の番号で、社名の表記ゆれや同名の別会社に左右されずに一社を特定できます。
以下の手順では、ハシケのデータを AI アシスタントに渡し、法人番号ごとの候補リストを作らせます。終えると、府省一つについて、受注した企業、それぞれの件数と金額、使われた契約方式をまとめた表が手元に残り、その表の数字はすべてハシケが返した値まで遡れます。
対象となる落札結果の規模
ハシケが集計しているのは、調達ポータルに公表された直近六十か月の中央省庁落札結果です。この期間の落札結果は 167,444 件、法人番号で数えた受注企業は 17,515 社、落札結果のある府省は 45 です。
同じ期間で落札価格の合計が最も大きい府省は国土交通省で、落札結果は 41,311 件、落札価格の合計は ¥1,105,189,106,402 です。一つの府省だけでもこの件数になるため、件名や年度で絞り込む手順が必要になります。
落札結果の件数
167,444
調達ポータルに公表された直近60か月の中央省庁落札結果(167,444件)
落札価格の合計
¥5,779,856,658,233
調達ポータルに公表された直近60か月の中央省庁落札結果(167,444件)
受注企業数(法人番号ベース)
17,515
調達ポータルに公表された直近60か月の中央省庁落札結果(167,444件)
落札結果のある府省数
45
調達ポータルに公表された直近60か月の中央省庁落札結果(167,444件)
金額はすべて落札価格(円)で、公表されたままの値です。米ドルには換算しておらず、米国連邦政府の契約額と合算や比較はできません。
使うツールとつなぎ方
MCP(Model Context Protocol)は、AI アシスタントが外部のツールを呼び出すための共通の手順です。ハシケの MCP サーバーはリモートの HTTP エンドポイントで、アドレスは https://hashike.io/api/mcp です。インストールするパッケージや手元で動かすプロセスはありません。認証には、ハシケの API キー(接頭辞は hsk_live_)か Supabase の OAuth アクセストークンを Authorization: Bearer <token> ヘッダーで渡します。
この作業で使うツールは三つです。どれも公開 API に同じ内容を GET で返すエンドポイントがあり、AI アシスタントを使わずにスクリプトから呼ぶこともできます。
- buyer_profile:府省一つの落札結果の件数、円建ての合計、受注企業数、契約方式の内訳、最近の落札結果を返します。公開 API では、府省コードをパスに含める buyers エンドポイントが対応します。
- find_comparable_awards:府省、日本の会計年度、調達案件名で落札結果を検索します。絞り込み条件が一つもない検索はできません。公開 API では awards エンドポイントが対応します。
- supplier_profile:法人番号一つについて、直近六十か月の正確な件数と金額、発注した府省、契約方式、最近の落札結果を返します。公開 API では、法人番号をパスに含める companies エンドポイントが対応します。
ハシケには CSV や Excel の書き出しはありません。データは MCP、公開 API、または Markdown の書き出しで取り出します。
候補リストを作る手順
AI アシスタントをハシケの MCP サーバーに接続した状態で進めます。手順一から三はアシスタントへの依頼でも、公開 API への直接の呼び出しでも行えます。
- ハシケの府省一覧(/buyers)で対象の府省を開きます。ページのアドレスの末尾にある英数字二文字が府省コード(調達ポータルの落札結果とともに公表されているコード)で、以降の呼び出しで ministryCode として使います。
- buyer_profile に ministryCode=<ministry code> を渡し、その府省の落札結果の件数、合計金額、受注企業数を控えます。この三つの数字が、後で候補リストの合計と突き合わせる基準になります。
- find_comparable_awards に ministryCode=<ministry code> と、調達案件名に含まれる語を query=<keyword> として渡します。必要なら fiscalYear=<fiscal year> も加えます。結果には一致した件数の総数(totalMatching)と、新しい順に並んだ一定件数の落札結果が入り、各行に案件名、落札日、落札価格、契約方式、商号、法人番号が載っています。
- AI アシスタントに、返ってきた行を法人番号ごとにまとめさせます。下の依頼文はそのための例です。法人番号のない行は企業に結び付けられないため、別枠で残させます。
- 候補に挙がった企業ごとに supplier_profile を corporateNumber=<corporate number> で呼びます。各社の直近六十か月の正確な件数と金額、取引のある府省の一覧は、このツールが返します。
- 最後に、次の節の照合を行います。照合を終えた表が候補リストです。
手順四で使う依頼文の例です。<ministry code> と <keyword> は手順一と三で使った値に置き換えます。
Use the Hashike find_comparable_awards tool with ministryCode <ministry code> and query <keyword>. Group the returned award results by corporate number. For each corporate number, list the company name as published, the number of rows, the sum of the award prices in yen, and the contract methods that appear. Put rows with no corporate number in a separate group and do not assign them to any company. Report totalMatching and the number of rows you actually received. Do not convert yen to any other currency, do not estimate values for rows you did not receive, and do not rank or recommend companies. Then call supplier_profile for each corporate number and add its exact sixty-month award count and value as separate columns, labelled as coming from supplier_profile.AI の答えをハシケの数字と照合する
言語モデルは、行を数え間違えたり、似た社名をまとめてしまったり、もっともらしい合計を作ったりすることがあります。表を使う前に、ハシケが返した値とモデルの出力を次の点で突き合わせます。
- 行数:法人番号ごとの行数と法人番号なしの行数を足すと、手順三で実際に返ってきた行数と一致するか。
- 法人番号:表の法人番号が、ツールの出力にある番号と一字も違わないか。社名だけで行をまとめていないか。
- 上限:どの企業についても、supplier_profile の件数と金額が、手順三のページのうち直近六十か月に入る行から数えた値を下回っていないか。下回る場合は、モデルが行を誤って割り当てています。
- 府省全体:手順三の行から数えた候補の件数と金額の合計が、buyer_profile が返した府省全体の件数と合計金額を超えていないか。supplier_profile の値は他の府省からの受注も含むため、この比較には使いません。
- 通貨と期間:金額が円のままで、期間が会計年度ではなく直近六十か月の移動期間として書かれているか。
リストに含まれないもの
候補リストの性質は、元になる落札結果の範囲で決まります。次の制約は、そのまま表に引き継がれます。
- 公開されている記録だけにもとづいています。ハシケは非公開の政府情報を参照できず、どの政府とも提携しておらず、承認も受けていません。
- 中央省庁の落札結果だけが対象で、都道府県や市区町村の調達は含まれません。
- 落札結果の約一・二パーセントには法人番号がなく、企業に結び付けられません。ある企業の記録に行が見当たらないのは照合できなかったためで、その企業が受注していなかったことを意味しません。
- 複数落札の方式では一つの調達を複数の企業が落札できるため、行数は調達案件の数ではなく落札結果の数です。
- ある条件で記録が見つからないことは、その取引が存在しなかった証拠にはなりません。
- 集計期間は落札日にもとづく移動期間で、会計年度ではありません。日本の会計年度は四月から三月、米国連邦政府の会計年度は十月から九月で、両方にまたがる数字は二つの暦を黙って混ぜることになります。find_comparable_awards の fiscalYear は日本の会計年度です。
次に読むもの
出典
この記事で分からないこと
- すべて公開記録にもとづいています。ハシケは非公開の政府情報にアクセスできず、いかなる政府機関とも提携しておらず、その推奨も受けていません。
- ある条件で記録が見つからないことは、その活動が行われなかった証拠にはなりません。
- 中央省庁の落札結果のみです。都道府県・市区町村の調達は含まれません。
- 金額は公表された落札価格(円)です。為替換算は行わず、米連邦政府のドル建て数値と合算・比較することはありません。
- 落札結果の約1.2%には法人番号がなく、受注者を特定できません。特定できないことは、その企業が活動していないことを意味しません。
- 複数落札の方式があるため、行数は「落札結果の件数」であり「調達案件の件数」ではありません。
- 集計期間は会計年度ではなく落札日基準の移動期間です。日本の年度は4月〜3月、米連邦政府は10月〜9月で、両者をまたぐ数値は二つの暦を暗黙に混同することになります。