The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the 補助金AI listing page.
補助金を「知っている人だけが得をする仕組み」から、誰でも公正に調べ、判断できる仕組みへ。
本プロジェクトは、日本政府が公開している補助金情報と法人情報を、ChatGPTなどのAIから自然に利用できるようにするためのオープンソースプロジェクトです。
目指しているのは、単なる補助金検索ツールではありません。会社名と「これから実施したいこと」を伝えるだけで、法人を特定し、公的な企業情報を確認し、現在公開されている支援制度を探し、企業と制度の適合性を検討できる基盤を目指します。
[!IMPORTANT] 本プロジェクトは開発中の民間プロジェクトであり、行政機関の公式サービスではありません。検索結果や評価は申請資格・採択・法令適合性を保証しません。
公開文書: プライバシーポリシー・利用規約・セキュリティポリシー・コントリビューションガイド・行動規範
0.11.0の再審査用資料: 修正・検証記録・ツール注釈の理由。npm run verify:productionは公開MCPのツール一覧と申請用JSONの一致を検査します。npm run verify:production -- --smokeは公的API参照と相談文生成も検査し、補助金の一時キャッシュ以外の保存・上書きは実行しません。
日本には多くの補助金、助成金、公的支援制度があります。一方で、制度を利用したい企業や担当者は、次のような問題に直面しています。
公的データはすでに公開されています。問題は、データが存在しないことではなく、一般の企業担当者が実際に使いやすい形になっていないことです。
本プロジェクトは、公的データをAIから扱える形につなぎ、情報格差を小さくすることを目的としています。
モデルが記憶している知識や出典不明のまとめ情報より、政府・自治体などが現在公開している情報を優先します。
APIや公募資料から確認できた事実と、AIによる整理・推論・適合度評価を明確に区別します。確認できない情報を推測で補わず、不足している項目は不足していると示します。
検索結果や適合度評価は、採択、受給資格、申請の適法性を保証するものではありません。最終判断では、必ず最新の公募要領と実施機関の案内を確認します。
補助金申請の支援には専門知識が必要な場面があります。一方で、制度の複雑さや情報格差を利用し、対象外の制度を過度に勧めたり、採択可能性を不当に高く見せたり、不適切な申請を促したりする余地もあります。
本プロジェクトは、特定の職種や適正な専門サービスを否定するものではありません。「誰が言ったか」ではなく「公的情報で何が確認できるか」を判断の基準にし、企業自身が候補と根拠を検証できる環境をつくります。
経営者や総務担当者だけでなく、開発、製造、営業、情報システム、新規事業など、実際に新しい取り組みを考えた人が、その場で支援制度の調査を始められることを重視します。
補助金は税金などの公的資源を原資としながら、制度を発見し、要件を読み解き、申請準備へ進むまでの情報コストには大きな差があります。本プロジェクトは、その差を小さくするための公共的なデジタル基盤を目指します。
私たちが増やしたいのは、申請件数そのものではありません。次の状態を増やすことが社会への貢献だと考えています。
例えば、利用者が次のように相談します。
株式会社○○で、製造ラインにAIカメラを導入したい。利用できそうな補助金はありますか?
システムは、最終的に次の流れを実現します。
大量の入力フォームを最初に要求せず、公的情報から確認できない項目だけを追加で質問する体験を目指します。
補助金制度側の情報を取得します。
企業側の公開情報を取得します。
利用者から申告された親会社候補を、金融庁へ提出された有価証券報告書で検証します。
EDINETを未知の親会社を自動発見するデータベースとしては使用しません。全国の企業関係データを複製・蓄積せず、利用者が示した候補について各省庁の最新版を照会する方針です。
法人を正確に特定するための基礎情報を取得します。
法人名検索で複数候補が見つかった場合、システムが一社を推測で選ぶことはせず、候補を提示して利用者に確認します。
本プロジェクトは開発中です。完成している機能と構想段階の機能を区別して公開します。
現在のMCPサーバーでは、次のツールを中心に提供します。
| ツール | 役割 | 状況 |
|---|---|---|
search_subsidies | Jグランツから補助金候補を検索する | 実装済み |
get_subsidy_detail | 選択した補助金の詳細を取得する | 実装済み |
search_companies | 経済産業省の法人情報データベースで会社名・所在地から法人候補を検索する | 実装済み |
get_company_profile | 法人番号から同データベースの企業情報を取得する | 実装済み・実API検証済み |
get_company_activities | 法人番号から同データベースの活動情報を取得し、種類別件数と取得状況を返す | 実装済み |
evaluate_subsidy_fit_for_company | 公開法人情報と利用者の補完情報を基に一致点・不足・出典・矛盾を整理する | 実装済み・実API検証済み |
verify_corporate_relationship | 利用者が申告した親会社候補をEDINET提出書類で検証し、みなし大企業規定の確認につなげる | 実装済み |
assess_deemed_large_enterprise_eligibility | 制度別の公式要件と確認済み資本関係を照合し、みなし大企業の扱いを整理する | 実装済み |
prepare_professional_consultation | 未確認論点を、専門家への質問・準備資料・相談期限を含む引き継ぎメモにする | 実装済み |
record_official_selection_statistics | 公募回別の申請件数・採択件数を公的出典とともに保存し、比較可能な場合だけ公式採択率を計算する | 実装済み |
get_official_selection_statistics | JグランツIDから過去の公式採択実績と出典を参照する | 実装済み |
estimate_program_selection_outlook | 過去最大3回の公式実績から制度全体の参考範囲をルール算定する | 実装済み |
search_corporate_identities | 国税庁で法人名・所在地コードから法人候補を検索する | 実装済み・実API検証待ち |
get_corporate_identity | 国税庁で法人番号から最新の正式名称・所在地・閉鎖情報を取得する | 実装済み・実API検証待ち |
ツールの返却結果は候補選定や確認作業を支援するものであり、採択や受給資格を保証しません。みなし大企業については、100%子会社という事実だけで全制度から除外せず、候補制度の最新の公募要領や公式FAQにある扱いと照合します。課税所得や役員兼務など、公開情報で確認できない事項は推定しません。
適合判定で未確認事項が残る場合は、単に「専門家へ相談してください」と案内するのではなく、相談理由、具体的な質問、準備資料、相談期限を含む専門家相談メモを返します。顧問の社会保険労務士などを一次相談窓口とし、雇用・賃金は社会保険労務士、決算・研究開発費・資本関係は税理士または公認会計士、制度固有の解釈は実施機関へ振り分けます。AIは可能性と論点を提示し、申請者と人間の専門家が最終判断と責任を担います。非公開資料の内容はMCPやD1へ保存しません。
専門家への相談に進む場合、prepare_professional_consultationはreadyToSendMessage(件名・本文)とnextActionを返します。Web検索で確認した情報からも利用でき、制度名、参照URL、確認済み事項、未確認論点、準備資料、既知の期限を相談文に引き継ぎます。本文では対応可否、専門外の場合の紹介、必要資料の共有方法、初期相談の費用と進め方を尋ねます。任意のcompany_nameとpublic_business_summaryには公開情報のみを指定し、不明な値は省略します。既存の適合判定が返すprofessionalConsultationにも同じ相談文が含まれます。presentationGuidanceに従い、検討・相談に進む場面でコピーできる文面を提示します。候補探索のたびに長文を表示する必要はなく、相談論点がない場合の文面はnullです。相談文の保存・自動送信は行いません。
Jグランツの検索結果と補助金詳細は、Cloudflare D1へ読み取りキャッシュとして保存できます。public_api_cacheには、正規化された公開補助金情報、取得日時、内容ハッシュ、通常の有効期限、および公式API障害時に限って使用できる失効猶予期限を保存します。
Jグランツ検索キャッシュには、検索対象となった会社名、法人番号、企業プロフィール、事業計画、会話履歴、利用者識別情報、企業ごとの評価結果を保存しません。ただし、EDINETで検証した公開企業情報と資本関係については、根拠文書とともにcompanies、company_relations、edinet_documentsへ保存します。これはJグランツ検索キャッシュとは別の、公開情報に基づく証拠層です。
検索条件はキャッシュ本文へ保存せず、CACHE_KEY_SECRETを使ったHMAC-SHA256のキャッシュキーへ変換します。HMACは検索条件を暗号化するものではなく、元の条件を保存せずに同一条件のキャッシュを参照するための索引です。CACHE_KEY_SECRETが未設定の場合、検索結果のD1キャッシュは安全のため使用しません。補助金詳細は、公開されたJグランツ補助金ID単位でキャッシュします。
D1を有効にする場合は、migrations/0002_public_api_cache.sqlを適用したデータベースをPUBLIC_CACHEとしてWorkerへバインドしてください。既存のsubsidy_ai_relationsバインディングがある環境では、同じ公開情報用D1を利用できます。検索キャッシュにはCACHE_KEY_SECRETをCloudflare Secretとして設定します。
D1またはキャッシュ用Secretが未設定の場合や、キャッシュの読み書きに失敗した場合でも、MCPはJグランツ公式APIから直接取得して動作します。期限切れキャッシュは通常時には使用せず、公式APIのタイムアウトや一時的な障害時に限り、古い情報であることを明示して失効猶予期限まで利用します。content_hashは取得内容の比較や将来の変更検知に使用するメタデータであり、現時点ではデータの真正性や改ざん防止を保証するものではありません。
migrations/0003_subsidy_research_schema.sqlを適用すると、公募回別の申請件数、採択件数、公式採択率、出典URL、取得日、内容ハッシュ、計算根拠をD1へ保存できます。公的資料の本文やPDF、企業情報、利用者情報は保存しません。同じ公募回・同じ対象範囲の申請件数と採択件数が揃う場合だけ公式採択率をコードで計算します。公開MCPからの誤情報混入を抑えるため、公的機関ドメインの公式HTML・テキスト・JSONをWorker自身が取得し、根拠文の一致を確認できた場合だけ保存します。PDFは現段階では自動照合せず、保存を停止します。
見通し機能は過去最大3回の公式実績の加重平均を基準に、公式に確認できた予算、補助上限、対象範囲の変化だけを限定的に補正します。これは制度全体の参考範囲であり、個別企業の採択確率ではありません。申請資格が未確定、条件付き、対象外可能性ありの場合は計算しません。
本プロジェクトは、特定のAI製品だけに閉じた実装ではなく、MCPに対応する他のクライアントからも利用できる構造を目指します。
利用可能な起動・テスト・デプロイ用コマンドは、package.json の scripts を確認してください。
APIトークンやアプリケーションIDは、ソースコードやGit履歴に保存しないでください。
現在使用する環境変数は次のとおりです。
OPENAI_APPS_CHALLENGE_TOKENは、OpenAI PlatformでMCPサーバーのドメイン所有を確認する際に表示された値を設定します。値はリポジトリへ保存せず、Cloudflare Secretとして登録してください。
デプロイ後、https://<MCPサーバーのホスト>/.well-known/openai-apps-challengeが検証トークンだけをプレーンテキストで返すことを確認してから、OpenAI Platformで検証を実行します。未設定時、このURLは404を返します。
発行された13桁のIDをNTA_APPLICATION_IDへ設定します。ローカル開発ではGit管理対象外の.dev.varsにNTA_APPLICATION_ID=発行されたIDを記入してください。本番では次のコマンドの入力プロンプトにIDを入力します(IDそのものをコマンド引数やGitへ記録しないでください)。
コードを公開する際はnpm run deployを実行します。ID未設定の場合、国税庁ツールは設定エラーを返します。他のデータソース用のIDとは別の設定です。
search_corporate_identities: name、任意のaddress_code(東京都なら13、千代田区なら13101)、page(1から)を指定。部分一致検索で、閉鎖法人も含めます。名称の半角英数字等は全角化して送信します。mayHaveMoreがtrueの場合は同じ条件でnextPageを指定します。候補を自動決定せず所在地と法人番号で確認してください。get_corporate_identity: corporate_numberに13桁の法人番号を指定。履歴を含めず最新情報を取得します。該当なしはnot_foundです。get_company_profileへ渡すとgBizINFOの企業情報を取得できます。両データソースの自動統合・差分判定は今後の実装です。利用者への回答では結果のsourceとnoticeを表示します。
このサービスは、国税庁法人番号システムのWeb-API機能を利用して取得した情報をもとに作成しているが、サービスの内容は国税庁によって保証されたものではない
仕様参照: 国税庁Web-API、Ver.4仕様書、共通のリクエスト・応答仕様。CSV/UTF-8の30項目を解析します。モックテストはnpm testで実行できます。実ID設定後は、既知の法人番号の名称・所在地を公式サイトと比較し、名称検索と該当なしも確認してください。
正常に結果が返ることだけでなく、誤った企業や制度を選ばないことを重視します。
本プロジェクトは、デジタル庁、経済産業省、国税庁その他の行政機関が提供・認定・保証する公式サービスではありません。民間のオープンソースプロジェクトとして、公的機関が公開する情報を利用します。
補助金情報は変更される可能性があります。検索結果、企業情報、適合度評価、AIによる説明は参考情報であり、申請資格、採択、補助額、法令適合性などを保証しません。申請前に、必ず実施機関が公開する最新の公募要領、交付要綱、FAQなどを確認してください。
各データソースの利用条件、出典表示、非保証表示に従ってください。特に国税庁法人番号システムWeb-APIの利用時は、国税庁が指定する出典・非保証表示を実装します。
政府が公開したデータは、特定の企業や専門家だけでなく、社会全体が検証・活用できるものであるべきだと考えています。そのデータをAIから利用するための接続方法、エラー処理、出典管理、適合度判定の基本思想も、可能な限り公開します。
本リポジトリは、単なるサンプルではなく、日本の公的支援情報をAIから利用するためのリファレンス実装となることを目指します。
自治体、企業、士業、研究機関、開発者など、立場を問わず利用・検証・改善に参加できる基盤を目指します。
コア実装を誰でも検証・利用できる状態にしつつ、公式ホスティング、企業向け運用、SLA、監査ログ、SSO、独自データ連携などは、将来的に別サービスとして提供する可能性があります。
公開MCPは、公的情報へ到達するための共通部分を社会へ開きます。一方、個別企業の機密情報や顧客データは公開MCPへ集約せず、それぞれの管理領域に留めます。将来の有料サービスは、データそのものを囲い込むのではなく、安定運用、API変更への追随、品質管理、セキュリティ更新、業務システムとの安全な接続に対して対価を得る構造を想定しています。
将来的には、公開情報を扱う共通基盤と、個別企業が管理する機密情報や業務システムとの接続を明確に分離します。現在のOSS版と公開プラグインは、公開情報を安全に検索・整理する共通基盤に集中します。
提案、不具合報告、Pull Requestを歓迎します。参加方法と変更時の確認事項は CONTRIBUTING.md を参照してください。参加者には CODE_OF_CONDUCT.md の遵守を求めます。
特に次のような協力を歓迎します。
脆弱性や秘密情報の漏えいを発見した場合、公開Issueへ認証情報や再現用の秘密データを投稿しないでください。報告方法と対応方針は SECURITY.md を参照してください。
本プロジェクトに登場する行政機関、制度、サービス、製品などの名称は、それぞれの権利者に帰属します。それらの名称をデータソースや相互運用対象の説明として使用しており、提携、認定、推奨または公式性を示すものではありません。
本プロジェクトは GNU Affero General Public License v3.0(AGPL-3.0) のもとで公開します。ライセンスの全文は LICENSE を参照してください。
私たちは、ソースコードそのものを独占することを目的としていません。
生成AIによってソフトウェア開発のコストが大きく下がった現在、コードを秘匿することよりも、
理念、公開仕様、公的データとの接続方法、そして改善成果を社会へ還元する文化
の方が重要だと考えています。
本プロジェクトは、企業、行政機関、自治体、研究機関、個人開発者を問わず、広く利用・改良されることを歓迎します。
同時に、この公共的な基盤を利用して生まれた改善が、可能な限り再び社会へ共有されることを願っています。
AGPL-3.0は、そのための最低限のルールであると同時に、本プロジェクトの意思表示でもあります。
ルールだけですべてを守ることはできません。
最終的には、本プロジェクトに関わる人々が、
「公的データから生まれた価値を、再び社会へ返す」
という理念を共有してくれることを期待しています。
公的データを、公的に使える状態にする。
それが、このプロジェクトの目標です。