プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

補助金AI

作者:mkisama94バージョン 0.10.0i★ –iクラウドで動く
レジストリ名io.github.mkisama94/subsidy-ai

インストール

概要

作者による説明(英語の原文)

Search Japanese subsidies and public company data using J-Grants, gBizINFO, and EDINET.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: クラウドで動く
  • トランスポート: Streamable HTTP
  • カテゴリ: 検索・AIの記憶

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://subsidy.ai-orchestration.jp/mcp

ターミナルでこれを実行します

claude mcp add --transport http subsidy-ai https://subsidy.ai-orchestration.jp/mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "subsidy-ai": {
      "url": "https://subsidy.ai-orchestration.jp/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "subsidy-ai": {
      "type": "http",
      "url": "https://subsidy.ai-orchestration.jp/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://subsidy.ai-orchestration.jp/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント mkisama94 で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    エンドポイントが応答する

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    OAuthでサインイン

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    ツールの説明に隠れた指示がない

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

検索・AIの記憶のほかのサーバーとの比較i

  • このカテゴリのほかの5717件のうち0%よりスターが多い
  • このカテゴリのほかの5717件のうち40%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの5717件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

補助金AIは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.10.0)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Context7

Up-to-date docs for AI agents

作者:upstash広く使われている↓ 97.3万/週★ 6.4万一昨日更新

パソコンでもクラウドでも

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

作者:DeusData広く使われている↓ 1.8万/週★ 4.8万22 日前更新

パソコンで動く

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

作者:exa-labs広く使われている★ 52132 か月前更新

クラウドで動く✓ exa.ai

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

日本の補助金・公的支援検索|日本の公的支援情報をAIから使えるようにする

補助金を「知っている人だけが得をする仕組み」から、誰でも公正に調べ、判断できる仕組みへ。

本プロジェクトは、日本政府が公開している補助金情報と法人情報を、ChatGPTなどのAIから自然に利用できるようにするためのオープンソースプロジェクトです。

目指しているのは、単なる補助金検索ツールではありません。会社名と「これから実施したいこと」を伝えるだけで、法人を特定し、公的な企業情報を確認し、現在公開されている支援制度を探し、企業と制度の適合性を検討できる基盤を目指します。

[!IMPORTANT]

本プロジェクトは開発中の民間プロジェクトであり、行政機関の公式サービスではありません。検索結果や評価は申請資格・採択・法令適合性を保証しません。

現在地

  • Cloudflare Workersで動作するMCPサーバーを実装しています。既定では既存15ツールを公開し、0.12.0で追加した公式資料ナビはツール一覧にも表示しません。公開設定を有効にすると16ツールになります。本番の利用可否は配備・設定・掲載元登録の確認が必要です
  • 0.13.0で会話内の補助金比較テーブルを追加しました。SUBSIDY_COMPARISON_ENABLED=true の環境で表示専用ツールとUIリソースを公開します。既定は無効です。資料ナビと独立して有効化でき、両方有効なら17ツールです。実装・検証・接続手順を参照してください。ChatGPT上の表示と本番利用可否は接続・配備後の確認が必要です。
  • Jグランツ、国税庁法人番号システム、経済産業省の法人情報データベース、EDINETの公開情報を扱います
  • 自動テストでは、正常系だけでなく曖昧な企業名、情報不足、外部API障害、誤った断定の防止も検証します
  • OpenAIの公開プラグイン審査に向けて、ポリシー、ツール注釈、再現可能な審査シナリオを整備しています

公開文書: プライバシーポリシー・利用規約・セキュリティポリシー・コントリビューションガイド・行動規範

スキルの改善には、製品の配布と独立した小事例評価の手順を利用できます。npm run eval:skill -- plan --case C001でモデルを起動せず準備を確認し、npm run test:skill-evalで評価基盤を検証します。

0.11.0の再審査用資料: 修正・検証記録・ツール注釈の理由。npm run verify:productionは公開MCPのツール一覧と申請用JSONの一致を検査します。npm run verify:production -- --smokeは公的API参照と相談文生成も検査し、補助金の一時キャッシュ以外の保存・上書きは実行しません。

このプロジェクトが解決したい問題

日本には多くの補助金、助成金、公的支援制度があります。一方で、制度を利用したい企業や担当者は、次のような問題に直面しています。

  • どの制度が存在するのか分からない
  • 自社が対象になるのか判断しにくい
  • 制度情報が複数のWebサイトに分散している
  • 過去年度や受付終了後の情報が検索結果に混在している
  • 出典が不明な解説や、不正確な情報を見分けにくい
  • 公募要領が難しく、専門家に依存しなければ調査を始めにくい
  • 制度を探したい開発・製造・営業担当者が、法人情報を毎回入力しなければならない

公的データはすでに公開されています。問題は、データが存在しないことではなく、一般の企業担当者が実際に使いやすい形になっていないことです。

本プロジェクトは、公的データをAIから扱える形につなぎ、情報格差を小さくすることを目的としています。

基本理念

公的情報を優先する

モデルが記憶している知識や出典不明のまとめ情報より、政府・自治体などが現在公開している情報を優先します。

事実と推測を分ける

APIや公募資料から確認できた事実と、AIによる整理・推論・適合度評価を明確に区別します。確認できない情報を推測で補わず、不足している項目は不足していると示します。

過度な期待を生まない

検索結果や適合度評価は、採択、受給資格、申請の適法性を保証するものではありません。最終判断では、必ず最新の公募要領と実施機関の案内を確認します。

不適切な補助金ビジネスへの依存を減らす

補助金申請の支援には専門知識が必要な場面があります。一方で、制度の複雑さや情報格差を利用し、対象外の制度を過度に勧めたり、採択可能性を不当に高く見せたり、不適切な申請を促したりする余地もあります。

本プロジェクトは、特定の職種や適正な専門サービスを否定するものではありません。「誰が言ったか」ではなく「公的情報で何が確認できるか」を判断の基準にし、企業自身が候補と根拠を検証できる環境をつくります。

誰でも同じスタートラインから探せるようにする

経営者や総務担当者だけでなく、開発、製造、営業、情報システム、新規事業など、実際に新しい取り組みを考えた人が、その場で支援制度の調査を始められることを重視します。

社会的ミッション

補助金は税金などの公的資源を原資としながら、制度を発見し、要件を読み解き、申請準備へ進むまでの情報コストには大きな差があります。本プロジェクトは、その差を小さくするための公共的なデジタル基盤を目指します。

私たちが増やしたいのは、申請件数そのものではありません。次の状態を増やすことが社会への貢献だと考えています。

  • 小規模な事業者や地域企業も、公的情報へ同じ入口から到達できる
  • 候補を勧めた理由と参照した出典を、利用者自身が検証できる
  • 対象外や未確認の可能性を隠さず、無理な申請や過大な期待を減らす
  • 専門家へ相談するとき、論点と必要資料が整理され、本来の専門判断に時間を使える
  • API仕様変更や誤判定の知見をオープンソースへ還元し、同じ失敗の繰り返しを減らす
守る原則
  • 特定の制度や支援事業者を、対価を理由に優先表示しません
  • 採択可能性を断定したり、申請資格があるように誤認させたりしません
  • 公開情報、利用者の申告、コードによる計算、AIの推論を区別します
  • 必要以上の個人情報や企業の機密情報を求めません
  • AIを最終決定者にせず、申請者、専門家、実施機関による確認につなげます
  • 誤りを再現できるテストと変更履歴を残し、改善を公共の知見にします

目指す利用体験

例えば、利用者が次のように相談します。

株式会社○○で、製造ラインにAIカメラを導入したい。利用できそうな補助金はありますか?

システムは、最終的に次の流れを実現します。

会社名と実施したい事業

↓ 国税庁 法人番号システムWeb-API 法人候補・法人番号・正式名称・所在地を確認 ↓ 候補が複数の場合は利用者に確認 ↓ gBizINFO 法人の公開情報・認定・過去の補助金情報などを取得 ↓ Jグランツ 現在公開されている補助金候補を検索 ↓ AI 一致する条件、未確認事項、公式情報へのリンクを整理 ↓ 利用者 最新の公募要領を確認して申請可否を判断

大量の入力フォームを最初に要求せず、公的情報から確認できない項目だけを追加で質問する体験を目指します。

利用する公的データ

Jグランツ

補助金制度側の情報を取得します。

  • 補助金候補の検索
  • 対象地域や利用目的による絞り込み
  • 受付状況と申請期間の確認
  • 制度詳細と公式ページの取得
経済産業省の法人情報データベース(gBizINFO)

企業側の公開情報を取得します。

  • 法人基本情報
  • 所在地などの企業属性
  • 認定情報
  • 過去の補助金情報
  • 調達情報などの法人活動情報
EDINET

利用者から申告された親会社候補を、金融庁へ提出された有価証券報告書で検証します。

  • EDINETコード一覧から親会社候補を特定
  • 最新の有価証券報告書にある関係会社情報を確認
  • 対象会社名、関係を示す文脈、比率表記、書類管理番号を根拠として返却
  • 未検出の場合も「資本関係なし」と断定しない
  • 補助金ごとの「みなし大企業」規定の確認を促す
  • 対象会社の行に属する比率だけを抽出し、重要な根拠を最大2件に限定

EDINETを未知の親会社を自動発見するデータベースとしては使用しません。全国の企業関係データを複製・蓄積せず、利用者が示した候補について各省庁の最新版を照会する方針です。

国税庁 法人番号システムWeb-API

法人を正確に特定するための基礎情報を取得します。

  • 会社名から法人候補を検索
  • 法人番号、正式な商号・名称、本店所在地を確認
  • 同名法人を所在地などで識別
  • 名称・所在地の変更や法人状態を確認

法人名検索で複数候補が見つかった場合、システムが一社を推測で選ぶことはせず、候補を提示して利用者に確認します。

開発状況

本プロジェクトは開発中です。完成している機能と構想段階の機能を区別して公開します。

実装済み
  • Cloudflare Workers上で動作するMCPサーバー
  • Jグランツ公開情報を利用した補助金検索
  • 補助金詳細の取得
  • 受付中制度、対象地域、業種、利用目的などによる候補整理
  • gBizINFO連携の基本実装
  • 国税庁法人番号API Ver.4の法人名検索・法人番号照会(実IDによる接続検証は未実施)
  • 法人情報と補助金情報を用いた適合度評価の基本実装
  • gBizINFOによる法人名・都道府県・市区町村検索
  • 同名法人の候補提示と、曖昧な場合に自動決定しない制御
  • 公開情報が不足する法人を利用者入力で補完し、項目ごとの出典と矛盾を表示
  • 所在地の完全一致・包含関係・行政区域不一致を区別し、詳細住所の省略を矛盾扱いしない
  • 法人状態が未提供の場合の断定防止と、法人検索の次ページ候補の可能性を表示
  • 業種大分類コード、未登録記号、資格等級などの正規化
  • gBizINFOの8種類の活動別APIから、認定、表彰、事業所、財務、特許、調達、補助金、職場情報を取得
  • 法人検索の活動件数と専用APIの取得件数を比較し、未取得・部分障害を明示
  • ChatGPT Workspaceでの限定配布と動作確認
  • 利用者が申告した親会社候補をEDINETの有価証券報告書で検証
  • EDINETで未検出の場合に、資本関係なしと誤って断定しない制御
検証中
  • 複数の業種・規模・地域の法人を用いた実データ検証
  • 利用者入力と公的データが矛盾した場合の対話設計
今後の予定
  • 法人の正式情報とgBizINFO情報の統合
  • 国税庁データとgBizINFOの情報差分の明示
  • 補助金情報の変更検知と定期通知
  • ChatGPTのスケジュールやWorkを利用した継続的な案件管理
  • 自治体独自制度、雇用関係助成金、公的融資、税制優遇などへの対象拡大

MCPツール

現在のMCPサーバーでは、次のツールを中心に提供します。

ツール役割状況
search_subsidiesJグランツから補助金候補を検索する実装済み
get_subsidy_detail選択した補助金の詳細を取得する実装済み
get_subsidy_documents登録済みの公募回別公式資料リンク・説明・確認状態をD1から取得する0.12.0追加・初期設定は無効
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_statisticsJグランツIDから過去の公式採択実績と出典を参照する実装済み
estimate_program_selection_outlook過去最大3回の公式実績から制度全体の参考範囲をルール算定する実装済み
search_corporate_identities国税庁で法人名・所在地コードから法人候補を検索する実装済み・実API検証待ち
get_corporate_identity国税庁で法人番号から最新の正式名称・所在地・閉鎖情報を取得する実装済み・実API検証待ち

ツールの返却結果は候補選定や確認作業を支援するものであり、採択や受給資格を保証しません。みなし大企業については、100%子会社という事実だけで全制度から除外せず、候補制度の最新の公募要領や公式FAQにある扱いと照合します。課税所得や役員兼務など、公開情報で確認できない事項は推定しません。

適合判定で未確認事項が残る場合は、単に「専門家へ相談してください」と案内するのではなく、相談理由、具体的な質問、準備資料、相談期限を含む専門家相談メモを返します。顧問の社会保険労務士などを一次相談窓口とし、雇用・賃金は社会保険労務士、決算・研究開発費・資本関係は税理士または公認会計士、制度固有の解釈は実施機関へ振り分けます。AIは可能性と論点を提示し、申請者と人間の専門家が最終判断と責任を担います。非公開資料の内容はMCPやD1へ保存しません。

構成

ChatGPTなどのMCPクライアント

↓ Streamable HTTP Cloudflare Workers上のMCPサーバー ├─ Jグランツ ├─ gBizINFO ├─ Cloudflare D1(Jグランツ公開情報のキャッシュ、任意) ├─ EDINET └─ 国税庁 法人番号システムWeb-API

公開情報キャッシュ

公式資料ナビの実装・設定は運用手順を参照してください。資料リンクは既存キャッシュから分離したD1の4テーブルに保存します。公開取得は読み取りだけで、収集・AI分類は別の定期処理です。公式ファイルの本体や利用者の企業情報は保存しません。

厚労省の雇用関係助成金について、Jグランツと独立した公式HTML/PDF収集・D1カタログと、統合検索 discover_subsidies・詳細 get_discovered_subsidy_detail を追加しています。初期対象は3系列17コースで、初期設定では全追加機能を無効にしています。改善仕様と実装・運用手順を参照してください。既存プラグインを維持したMCP先行配備、収集のみの開始、公開版の検証、新ツールの段階公開を独立して行えます。ローカル検証済みで、本番公開・OpenAI反映・年度別条件の照合完了を示すものではありません。

専門家への相談に進む場合、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に対応する他のクライアントからも利用できる構造を目指します。

開発環境

必要なもの
  • Node.js
  • npm
  • Cloudflare Workers / Wrangler
  • gBizINFO APIトークン(gBizINFO機能の実行時)
  • EDINET APIキー(資本関係検証の実行時)
  • 国税庁法人番号システムWeb-APIのアプリケーションID(国税庁機能の実行時)
セットアップ
npm install

npm run typecheck

利用可能な起動・テスト・デプロイ用コマンドは、package.json の scripts を確認してください。

秘密情報

APIトークンやアプリケーションIDは、ソースコードやGit履歴に保存しないでください。

  • ローカル環境では、Git管理対象外の環境変数ファイルを使用する
  • CloudflareではSecretsとして登録する
  • ログ、エラーメッセージ、MCPレスポンスへ秘密情報を出力しない
  • 漏えいが疑われる場合は、直ちに失効・再発行する

現在使用する環境変数は次のとおりです。

GBIZINFO_API_TOKEN

NTA_APPLICATION_ID CACHE_KEY_SECRET EDINET_API_KEY OPENAI_APPS_CHALLENGE_TOKEN

OPENAI_APPS_CHALLENGE_TOKENは、OpenAI PlatformでMCPサーバーのドメイン所有を確認する際に表示された値を設定します。値はリポジトリへ保存せず、Cloudflare Secretとして登録してください。

npx wrangler secret put OPENAI_APPS_CHALLENGE_TOKEN

npm run deploy

デプロイ後、https:// /.well-known/openai-apps-challengeが検証トークンだけをプレーンテキストで返すことを確認してから、OpenAI Platformで検証を実行します。未設定時、このURLは404を返します。

国税庁APIの設定と利用

発行された13桁のIDをNTA_APPLICATION_IDへ設定します。ローカル開発ではGit管理対象外の.dev.varsにNTA_APPLICATION_ID=発行されたIDを記入してください。本番では次のコマンドの入力プロンプトにIDを入力します(IDそのものをコマンド引数やGitへ記録しないでください)。

npx wrangler secret put NTA_APPLICATION_ID

コードを公開する際はnpm run deployを実行します。ID未設定の場合、国税庁ツールは設定エラーを返します。他のデータソース用のIDとは別の設定です。

  • search_corporate_identities: name、任意のaddress_code(東京都なら13、千代田区なら13101)、page(1から)を指定。部分一致検索で、閉鎖法人も含めます。名称の半角英数字等は全角化して送信します。
  • 検索結果はAPIの分割単位で返します。mayHaveMoreがtrueの場合は同じ条件でnextPageを指定します。候補を自動決定せず所在地と法人番号で確認してください。
  • get_corporate_identity: corporate_numberに13桁の法人番号を指定。履歴を含めず最新情報を取得します。該当なしはnot_foundです。
  • 閉鎖情報、承継先、国外所在地、検索対象除外、名称・所在地のイメージIDも返します。「閉鎖情報なし」は営業実態や申請資格を保証しません。
  • 確定した法人番号を既存のget_company_profileへ渡すとgBizINFOの企業情報を取得できます。両データソースの自動統合・差分判定は今後の実装です。
  • 15秒のタイムアウト、HTTPエラー分類、応答検証を行います。上流応答本文・例外・ID付きURLをエラー応答へ転記しません。国税庁の仕様上IDは送信URLに含まれるため、外向きリクエストURLを独自のログや監視へ記録しないでください。

利用者への回答では結果のsourceとnoticeを表示します。

このサービスは、国税庁法人番号システムのWeb-API機能を利用して取得した情報をもとに作成しているが、サービスの内容は国税庁によって保証されたものではない

仕様参照: 国税庁Web-API、Ver.4仕様書、共通のリクエスト・応答仕様。CSV/UTF-8の30項目を解析します。モックテストはnpm testで実行できます。実ID設定後は、既知の法人番号の名称・所在地を公式サイトと比較し、名称検索と該当なしも確認してください。

テスト方針

正常に結果が返ることだけでなく、誤った企業や制度を選ばないことを重視します。

  • 受付中と受付終了の制度
  • 全国対象制度と地域限定制度
  • 大企業と中小企業
  • 同名法人が複数存在するケース
  • 公開情報が少ない法人
  • 存在しない法人番号
  • APIトークンの未設定・不正・失効
  • 外部APIの停止、タイムアウト、仕様変更
  • 条件を確認できない場合に断定しないこと
  • 同名の親会社候補を自動決定しないこと
  • EDINET提出書類で未検出でも、資本関係なしと断定しないこと
  • EDINET APIキーをレスポンスやログに含めないこと
  • Web検索など、プラグインを呼ぶべきでない依頼

##

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く