mcpField
K
Korea Business Verify (KBV)

Korea Business Verify (KBV)

リモート
github.com/Wonderfulianビジネス・マーケティング12 日前に更新
リポジトリ

Korea Business Verify (KBV) について

Korea Business Verify(KBV)は、韓国企業のKYBやデューデリジェンスを行うAIエージェントと開発者向けのホスト型MCPサーバーです。韓国語または英語の名称から企業を検索し、登録状況、本人確認情報、韓国への輸入要件を調べられます。

主な機能

  1. 01韓国語または英語の名称で企業を検索
  2. 02登録状況と税種の確認
  3. 03最大100件の企業番号を一括確認
  4. 04代表者名と開業日の照合
  5. 05韓国の輸入要件と公共調達の参加資格停止を確認

活用シーン

  1. 01名称から韓国の仕入先と登録番号を検索
  2. 02顧客や仕入先リストの状況と制裁を一括確認
  3. 03企業番号と代表者情報を照合
  4. 04韓国への輸入前に必要な承認を確認

MCP 対応

ホスト型のStreamable HTTPエンドポイントを通じて、企業検索、登録確認、輸入要件照会のツールをMCPクライアントに提供します。アカウントやAPIキーは不要で、1日約10回まで無料、その後はx402による従量課金です。

設定

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

エンドポイントhttps://kbv-server-f7vfitmlkq-du.a.run.app/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

4
パラメーター型必須説明
business_numberstringはい10 桁の韓国事業者登録番号。ハイフンまたはスペースを使用できます。例:"123-45-67890"

詳細

韓国企業確認(KBV) — MCP サーバー

M8ven Score M8ven Verified

KBV は、韓国企業をリアルタイムで検索・確認するホスト型 MCP サーバーです。1 日あたり約 10 回まで無料で利用でき、その後は呼び出しごとの従量課金(x402)です。

必要なのは企業名だけです。 英語または韓国語で「Samsung Electronics」を検索すると、KBV は一致する企業を確信度順に並べ、10 桁の事業者登録番号(사업자등록번호)とともに返します。韓国企業向けの他の API はすべて、事前に番号を把握していることを前提としているため、番号を知らないことがほとんどの海外エージェントにとって、これは重要です。インデックスには 940,000 社が登録されています。英語名を含む DART の情報開示企業すべてに加えて、公共調達に登録されたすべてのベンダーをカバーしているため、大企業だけでなく中小企業も含まれます。

番号がわかれば、KBV は登録状況(有効/停止/閉鎖)、税区分、さらにオプションで、番号が代表者名と開業日に一致するかどうかを返します。データは韓国国税庁(NTS)からリアルタイムに取得され、英語表記に正規化された JSON として返されます。

韓国に商品を輸入しますか? KBV に 10 桁の HS コード(または最大 100 件)を渡すと、通関前に韓国税関が求める情報が返されます。法令、承認権限を持つ機関、取得すべき証明書、さらに根拠となる告示から引用した各要件の条件を確認できます。輸入要件をご覧ください。

アカウント、API キー、インストールは不要です。MCP 対応エージェントを次の URL に接続するだけです。

https://kbv-server-f7vfitmlkq-du.a.run.app/mcp

韓国企業の KYB/デューデリジェンス(調達、契約、決済、マーケットプレイスへの登録)に取り組む AI エージェントや開発者向けに構築されています。

基本情報

MCP エンドポイントhttps://kbv-server-f7vfitmlkq-du.a.run.app/mcp
トランスポートMCP Streamable HTTP(POST)
ヘルスチェックGET https://kbv-server-f7vfitmlkq-du.a.run.app/health → {"ok":true}
認証不要
料金IP ごとに 1 日あたり約 10 回まで無料(概算であり、厳密な制限ではありません)。その後は x402 による従量課金($0.02~$0.05)です。料金をご覧ください
ツールfind_korean_business、check_korean_business_status、check_korean_business_batch、verify_korean_business、check_korea_import_requirements、check_korea_import_requirements_batch
REST APIGET /v1/business/search · GET /v1/business/{number}/status · POST /v1/business/verify · POST /v1/business/batch · GET /v1/korea-import/requirements · POST /v1/korea-import/requirements/batch。REST APIをご覧ください
名称インデックス940,000 社。DART の情報開示企業(英語名を含む)+公共調達に登録されたベンダー
スクリーニングバッチ呼び出しでは、企業ごとの公共調達における入札参加制限(부정당업자 제재)も返します
データソース韓国国税庁(국세청)の公開データを、政府のオープンデータポータル(data.go.kr)経由でリクエストごとにリアルタイム取得。名称インデックスは DART(금융감독원)および公共調達庁(조달청)、輸入要件は韓国関税庁(관세청)および法制処(법제처)から取得しています。KBV は独立したサービスであり、これらの機関とは提携していません。データソースとライセンスをご覧ください
データライセンス韓国政府のオープンデータ。利用制限なし(이용허락범위 제한 없음)
プライバシーKBV はクエリの内容を記録しません。GET URL 内の番号、検索語、HS コードはクラウドのアクセスログに残ります(14 日間保存)。プライバシーをご覧ください
検出/.well-known/x402 · /llms.txt
リージョンGoogle Cloud Run、ソウル(asia-northeast3)

エージェントを接続する

Claude(claude.ai)
  1. Settings → Connectors → Add custom connector
  2. URL:https://kbv-server-f7vfitmlkq-du.a.run.app/mcp
  3. チャットでコネクターを有効にし、次のように尋ねます:「韓国の事業者番号 124-81-00998 の状態を確認してください。」
Claude Code(CLI)
claude mcp add --transport http kbv https://kbv-server-f7vfitmlkq-du.a.run.app/mcp
ChatGPT
  1. Settings → Connectors(コネクター/開発者モードに対応したプランが必要です)
  2. URL https://kbv-server-f7vfitmlkq-du.a.run.app/mcp を指定して、カスタム MCP コネクターを追加します
  3. 会話で有効にし、韓国の事業者番号について尋ねます
Cursor

.cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json(グローバル)に追加します:

{
  "mcpServers": {
    "korea-business-verify": {
      "url": "https://kbv-server-f7vfitmlkq-du.a.run.app/mcp"
    }
  }
}
その他の MCP クライアント

上記のエンドポイントで Streamable HTTP トランスポートを使用します。クライアントは Accept: application/json, text/event-stream を送信する必要があります(標準的な MCP クライアントは自動的に送信します)。ブラウザーで /mcp を開くと、仕様どおり Method not allowed が返されます。ブラウザーは GET を送信しますが、MCP は POST を使用します。視覚的な稼働確認には /health を使用してください。

ツール

find_korean_business

登録番号がわからない場合に、会社名から企業を検索します。この先のすべての操作の出発点です。

入力:

{ "name": "Samsung Electronics" }

出力(実際の例、簡略版)—候補を返します。確実な推測を一つだけ返すことはありません:

{
  "query": "Samsung Electronics",
  "candidates": [
    {
      "business_number": "1248100998",
      "name": "삼성전자",
      "name_en": "SAMSUNG ELECTRONICS CO,.LTD",
      "confidence": 1,
      "match": { "type": "exact", "field": "name_en" },
      "evidence": { "status": "active", "tax_type": "general", "listed": true }
    },
    {
      "business_number": "6178117517",
      "name": "삼성전자판매",
      "confidence": 0.75,
      "match": { "type": "prefix", "field": "name" },
      "evidence": { "status": "active", "tax_type": "general", "listed": false }
    }
  ],
  "note": "4 companies match this name equally well; they are distinct legal entities. Compare the evidence fields before acting."
}
  • 韓国語または英語に対応します。 法人形態による表記の違いは無視されます。Samsung Electronics、SAMSUNG ELECTRONICS CO,.LTD、삼성전자(주) はすべて同じ会社に一致します。
  • confidence は名前の一致度(exact > prefix > contains)を示し、データソースと上場状況に応じて調整されます。match は一致したフィールドを示すため、スコアの根拠が不明になることはありません。
  • evidence は、名前が似た企業を区別するための情報です。登記状況、税区分、地域(市/区)、上場の有無が含まれます。
  • 名前が曖昧な場合があります —「Samsung Electronics」は、正当に4つの異なる法人に一致します。KBV はどれかを選ぶのではなく、note を添えてすべて返します。
  • 一致しない場合は、candidates: [] とその旨を示す note を返します。 これは回答であり、エラーではありません。検索に失敗した場合は、代わりに error フィールドを含む HTTP 503 が返されます。
check_korean_business_status

10 桁の韓国の事業者登録番号を使って、事業者の登録状況を確認します。

入力 — ハイフン/空白を使用できます。内部で正規化されます:

{ "business_number": "124-81-00998" }

出力(実際の例 — Samsung Electronics):

{
  "business_number": "1248100998",
  "status": "active",
  "status_code_raw": "01",
  "tax_type": "general",
  "closed_date": null,
  "checked_at": "2026-08-24T10:08:20.082Z",
  "source": "Korea National Tax Service (NTS)",
  "cache": false
}

フィールドの説明:

  • status:active | suspended | closed | not_registered
  • tax_type:general | simplified | exempt | non_profit | unknown
  • closed_date:ISO 日付("2023-01-31")。事業者が廃業している場合のみ設定され、それ以外は null
  • checked_at:NTS への照会時刻を示す ISO 8601 UTC タイムスタンプ
  • cache:NTS API が一時的に利用できず、キャッシュされた結果(最大24時間前のもの)が返された場合にのみ true。この場合、checked_at は元の取得時刻を示します

形式が正しい番号でも NTS に登録されていない場合は、エラーではなく "status": "not_registered" が返されます。

check_korean_business_batch

1 回の呼び出しで最大100件の事業者を確認できます。100回の個別リクエストを行わずに、仕入先や顧客のリストを審査できます。

入力:

{ "business_numbers": ["124-81-00998", "220-81-62517"] }

出力 — 入力番号ごとに1件(順序は維持され、スキーマは上記と同じ)と、サマリーを返します:

{
  "results": [
    { "business_number": "1248100998", "status": "active", "...": "..." },
    { "business_number": "2208162517", "status": "active", "...": "..." }
  ],
  "summary": { "total": 2, "active": 2, "suspended": 0, "closed": 0, "not_registered": 0 }
}
  • 各エントリーには sanctions も含まれます。これは、その会社に記録されている公共調達の参加資格停止(부정당업자 제재)で、active は現在有効なものを示します。会社が完全に営業中でも、公共契約への参加を禁じられていることがあります。summary.sanctioned は、リスト内でそのような会社が何社あるかを示します。空の配列は審査済みで問題がないことを意味します。このフィールドが存在しない場合は、このサーバーに資格停止データが読み込まれていないことを意味し、空の配列とは異なります。
  • バッチ全体は、上流の NTS 照会1回で処理されます。
  • 過去24時間以内に確認済みの番号は、キャッシュから返される場合があります(元の checked_at とともに "cache": true が付与されます)。その番号は上流への照会対象から除外されます。
  • 100件を超える番号、または形式が不正な番号が含まれている場合は、照会を行う前に拒否されます。
verify_korean_business

事業者登録番号が指定された代表者名および開業日と一致することを確認する(KYB 身元確認)と同時に、現在のステータスを取得します。

入力:

{
  "business_number": "124-81-00998",
  "representative_name": "홍길동",
  "opening_date": "1969-01-13",
  "address": "경기도 수원시"
}
  • representative_name と opening_date(YYYY-MM-DD)は必須です。
  • address は任意ですが、一致精度が向上します。
  • 氏名と住所は、NTS に登録されているとおりに指定してください(韓国語表記)。

出力 — 上記と同じスキーマに identity_match を追加したもの:

{
  "business_number": "1248100998",
  "status": "active",
  "status_code_raw": "01",
  "tax_type": "general",
  "closed_date": null,
  "checked_at": "2026-08-24T10:08:23.483Z",
  "source": "Korea National Tax Service (NTS)",
  "cache": false,
  "identity_match": false
}

identity_match は、NTS が番号、代表者名、開業日のすべてが記録と一致すると確認した場合にのみ true になります。

check_korea_import_requirements

韓国税関が製品の通関を許可する前に求める要件を、10 桁の韓国 HS(HSK)コードに基づいて確認します。必要な承認を取得していない商品は、国境で留め置かれるか、返送されます。

入力:

{ "hs_code": "8516710000", "direction": "import" }
  • hs_code:10 桁です。ドット、ハイフン、スペースを含めてもかまいません。6 桁を指定すると、その小見出しに該当する 10 桁のコードが候補として返されます。要件はコードによって異なるため、KBV が推測することはありません。
  • direction:"import"(デフォルト。韓国に輸入される商品)または "export"。
  • 無効なコードは、検索や支払いが行われる前に拒否されます(400 hs_code_not_found)。コードが不明な場合に「要件なし」と回答することはありません。
  • 8516710000(コーヒーメーカー)は無料のテストコードです:利用枠を消費せずに完全なレスポンスが返されます。1 回の回答に、3 つの法令と 5 つの代替機関が含まれます。

出力(実際の 8516710000 のレスポンスを抜粋):

{
  "hs_code": "8516710000",
  "item_name_en": "Coffee or tea makers",
  "hs_code_valid": true,
  "requirements_checked": true,
  "has_requirements": true,
  "requirement_count": 3,
  "requirements": [
    {
      "statute_name_en": "Electrical Appliances and Consumer Products Safety Control Act",
      "statute_name_ko": "전기용품 및 생활용품 안전관리법",
      "certificate_name_ko": "전기용품 및 생활용품 요건확인서",
      "certificate_name_en": null,
      "certificate_name_en_unofficial": "Requirement confirmation for electrical appliances and consumer products",
      "approving_agencies": [
        { "code": "105", "name_ko": "국가기술표준원", "name_en": "Korean Agency for Technology and Standards" },
        { "code": "257", "name_ko": "한국화학융합시험연구원", "name_en": "Korea Testing & Research Institute" }
      ],
      "agencies_note": "Any one of the listed agencies may issue this certificate.",
      "condition": {
        "text_ko": "[전기용품 및 생활용품 안전관리법]\n. 정격전압이 30V초과 1000V이하의 교류전원 …",
        "text_en_unofficial": null,
        "granularity": "hs10",
        "source": { "notice_no": "제2026-46호", "effective_from": "2026-07-16", "url": "https://www.law.go.kr/행정규칙/…" }
      }
    }
  ],
  "governing_notice": {
    "notice_no": "제2026-46호",
    "index": { "notice_serial": "2100000282502", "last_checked_at": "2026-10-23T01:56:51Z", "check_status": "current" }
  },
  "attribution": "Source: Ministry of Government Legislation (법제처), law.go.kr",
  "tariff": {
    "source_as_of": "2026-02-11",
    "rates": [
      { "type": "A", "type_meaning": "Basic rate (기본세율)", "rate": "8" },
      { "type": "C", "type_meaning": "WTO concession rate (WTO 협정에 의한 양허관세)", "rate": "16" }
    ]
  },
  "source": "Korea Customs Service (KCS)",
  "disclaimer": "Fact lookup from public data. Not a legal customs determination. …"
}

読み方:

  • **1 つの要件は、1 つの法令と 1 つの証明書の組み合わせです。**税関 API は承認機関ごとに 1 行を返します。KBV はこれらをまとめるため、コーヒーメーカーの 7 行は 3 つの要件になります。また、電気安全に関する要件には 5 つの機関が記載されており、いずれか 1 つが証明書を発行できます。
  • **condition.text_ko は税関の指定告示から一字一句そのまま引用したもので、権威ある情報です。**KBV は翻訳しません(text_en_unofficial は常に null です)。これらの条項には、電圧範囲、容量制限、適用範囲の除外など、誤訳によって必要な証明書を取得し損ねるおそれのある法的な基準が定められています。KBV は、条件が製品に該当するかどうかも判断しません。電圧、用途、組成を把握しているのは利用者だけです。
  • granularity: "hs10" は、条件が告示に記載されたこのコード固有の行に基づくことを示します。そのような行がない場合、KBV は告示本文にある法令の行("statute_group"。items_ko には各適用範囲と関連書類が記載されています)を使い、より大まかな情報であることを示します。
  • governing_notice.index は、条件の根拠となる告示の改訂版と、KBV が law.go.kr で現行の告示であることを最後に確認した日時を示します(毎日確認)。check_status: "check_overdue" は、その確認から 3 日以上経過していることを意味します。条件を根拠として使用する前に、告示を確認してください。
  • 韓国語の名称が正式名称です。機関に問い合わせたり証明書を申請したりする際は、name_ko を使用してください。英語の機関名は、機関自身が公表している場合にのみ表示されます。証明書名には公式な英語名がないため、_unofficial として示されます。
  • 関税:source_as_of の日付時点で、韓国関税庁のファイルに掲載されている税率です。名称が付与される税率タイプは A(基本税率)と C(WTO 譲許税率)のみです。その他のコードはそのまま返され、ソースデータセットへのリンクが付与されます。輸出には関税がありません。

混同されない 4 つの状態:

状況レスポンス
有効なコードで、要件が見つかった200、requirements: [...]
有効なコードで、要件がない200、requirements: [] と、これが確定的な結果であることを示す注記(例:ボルト、7318152000)
無効なコード400 hs_code_not_found(候補がある場合は hs_code_incomplete)— 検索も課金も行われません
税関 API に接続できない503 upstream_unavailable と requirements_checked: false — 「要件なし」ではありません。品目名と関税は引き続き返されます。課金されません。

**無料版と有料版。**無料版(REST では ?free=1)では、コードが規制対象かどうかと要件の数に加え、品目名と関税が通知されます("detail": "summary")。法令、機関、証明書、引用された条件は有料版のレスポンスに含まれます。MCP ツールの呼び出しでは、無料利用枠の範囲内で完全なレスポンスが返されます。

check_korea_import_requirements_batch

1 回の呼び出しで商品カタログを確認します。最大 100 件の HS コードを指定でき、各コードのスキーマは上記と同じです。

入力:

{ "hs_codes": ["8516710000", "7318152000", "8471300000", "9999999999"], "direction": "import" }

出力(抜粋):

{
  "direction": "import",
  "results": [
    { "hs_code": "8516710000", "has_requirements": true, "requirement_count": 3, "requirements": ["…"] },
    { "hs_code": "8471300000", "has_requirements": true, "requirements": ["…"] },
    { "hs_code": "7318152000", "has_requirements": false, "requirements": [] }
  ],
  "summary": {
    "total": 4, "checked": 3, "with_requirements": 2, "clear": 1, "failed": 0, "duplicates_merged": 0,
    "invalid_hs": [{ "index": 3, "input": "9999999999", "error": "hs_code_not_found", "message": "Not a current 10-digit Korean HS (HSK) code." }]
  },
  "governing_notice": { "…": "…" },
  "attribution": "Source: Ministry of Government Legislation (법제처), law.go.kr",
  "disclaimer": "…"
}
  • 規制対象のコードが最初に表示され、次に確認できなかったコード、その後に問題のないコードが表示されます。 リストの先頭を見れば、税関で差し止められる品目が分かります。確認できなかったコードが問題のないコードに分類されることはありません。
  • 無効なコードがあっても呼び出しは失敗しません。 無効なコードは summary.invalid_hs に記載されます(6 桁の入力には 10 桁の候補が記載されます)。照会は行われず、課金もされません。有効なコードが 1 件もないバッチは、無料の 400 no_valid_hs_codes になります。
  • 重複するコードは 1 回だけ照会・課金されます。各項目に繰り返し記載されるフィールド(通知、帰属表示、免責事項)は、先頭に 1 回だけ記載されます。
  • 課金:実際に照会された有効なコード 1 件につき $0.02(クライアントは $2.00 を支払い承認しますが、精算額は実際の使用量に基づきます)。照会に失敗したコードは requirements_checked: false として返され、課金されません。テストコード 8516710000 もここでは無料です。

REST API

同じ操作をプレーンな HTTP エンドポイントでも利用できます。JSON スキーマは MCP ツールと同じで、認証は不要です。毎日の無料枠を利用するには ?free=1 を追加してください(IP アドレスごとに 1 日あたり約 10 件の照会)。このフラグを付けない場合、未払いのリクエストは x402 の支払い要件とともに 402 を返します。

# Find a company by name — the free tier returns names, numbers and confidence
curl -G "https://kbv-server-f7vfitmlkq-du.a.run.app/v1/business/search" \
  --data-urlencode "q=Samsung Electronics" --data-urlencode "free=1"

# Registration status (hyphens in the number are fine)
curl "https://kbv-server-f7vfitmlkq-du.a.run.app/v1/business/124-81-00998/status?free=1"

# KYB identity check
curl -X POST "https://kbv-server-f7vfitmlkq-du.a.run.app/v1/business/verify?free=1" \
  -H "Content-Type: application/json" \
  -d '{"business_number":"124-81-00998","representative_name":"홍길동","opening_date":"1969-01-13"}'

# Batch status check (up to 100 numbers)
curl -X POST "https://kbv-server-f7vfitmlkq-du.a.run.app/v1/business/batch?free=1" \
  -H "Content-Type: application/json" \
  -d '{"business_numbers":["124-81-00998","220-81-62517"]}'

# Import requirements for one HS code — the test code returns the full answer free
curl "https://kbv-server-f7vfitmlkq-du.a.run.app/v1/korea-import/requirements?hs_code=8516710000"

# Any other code: ?free=1 gives the summary (restricted or not, how many requirements, tariff)
curl "https://kbv-server-f7vfitmlkq-du.a.run.app/v1/korea-import/requirements?hs_code=7318152000&free=1"

# Exports: add direction=export
curl "https://kbv-server-f7vfitmlkq-du.a.run.app/v1/korea-import/requirements?hs_code=8516710000&direction=export"

# Screen a catalog (up to 100 codes; invalid ones are reported, not charged)
curl -X POST "https://kbv-server-f7vfitmlkq-du.a.run.app/v1/korea-import/requirements/batch?free=1" \
  -H "Content-Type: application/json" \
  -d '{"hs_codes":["8516710000","7318152000","9999999999"]}'

HTTP ステータスコード:200 は成功(キャッシュから返された結果も含む)、400 は入力が無効、402 は支払いが必要(?free=1 が指定されていない場合、または毎日の無料枠を使い切った場合。x402 で呼び出しごとに支払います)、503 は上流(NTS または Korea Customs Service)が一時的に利用できず、キャッシュされた結果もない場合です。

エラー

エラーは MCP ツールのエラー(または REST の 4xx/5xx レスポンス)として、機械可読な JSON 本文とともに返されます。

error意味
invalid_business_number事業者番号は 10 桁である必要があります。照会は行われていません。
invalid_opening_date(verify)opening_date は YYYY-MM-DD 形式ではありません。番号自体に問題はありません。照会は行われていません。
batch_limit_exceeded1 回のバッチ呼び出しで指定できる番号(または HS コード)は 100 件までです。照会は行われていません。
invalid_request(REST のみ)リクエスト本文が想定された形式と一致しません。
upstream_unavailableNTS または Korea Customs Service の API が停止中、またはクォータ超過で、キャッシュされた結果もありません。後でもう一度お試しください。輸入要件について、これが「要件なし」を意味することはありません(requirements_checked: false)。
hs_code_not_found現行の韓国の 10 桁 HS コードではありません。照会も課金も行われていません。
hs_code_incomplete6 桁の見出しです。レスポンスに 10 桁の candidates が記載されます。そのうち 1 つを選んで、再度問い合わせてください。課金はされていません。
no_valid_hs_codes(輸入バッチ)送信されたコードに有効なものがありません。各コードが無効な理由は invalid_hs に記載されています。課金はされていません。
hs_master_unavailableHS コード表を読み込めなかったため、コードを検証できません。少し待ってからもう一度お試しください。課金はされていません。

データソースとライセンス

  • KBV は独立したサービスです。 韓国国税庁(국세청)、韓国関税庁(관세청)、韓国調達庁(조달청)、金融監督院(금융감독원、DART)、または法制処(법제처)によって運営、推奨されているものではなく、これらの機関とも提携していません。各機関の公開オープンデータを読み取り、その旨をすべての応答で明示しています。
  • データの出典:
    • 登録状況、税区分、本人確認 — data.go.kr の韓国国税庁(국세청)の事業者登録サービス(사업자등록정보 진위확인 및 상태조회 서비스)に、リクエストごとにリアルタイムで照会します。KBV は、「プライバシー」に記載されている24時間の障害時キャッシュを除き、国税庁の登録データを保存しません。
    • 名称インデックス(find_korean_business)— DART の開示提出企業(金融監督院、금융감독원)と、韓国調達庁(조달청)に登録された事業者のデータから KBV が作成した独自のインデックスです。DART の開示提出企業の事業者番号がまだインデックスにない場合は、検索時に DART から取得します。
    • 入札参加制限記録(バッチ処理)— 韓国調達庁(조달청)の制裁リスト(부정당업자 제재)の KBV 独自のコピーです。リクエスト時に外部へ照会することはありません。
    • 輸入要件 — 次の項目をご覧ください。
  • 基礎となるデータセットは、韓国政府のオープンデータ政策に基づき、利用制限なし(이용허락범위: 제한 없음)で公開されているため、応答は商用利用でき、自由に引用できます。
  • KBV は、韓国語によるコードベースの国税庁の応答を、上記に記載された安定した英語の JSON スキーマに正規化します。国税庁の生データがそのまま転送されることはありません。
  • データの鮮度:照会は国税庁の登録システムに直接行われます。新たに登録された事業者が国税庁のシステムに反映されるまで、1~2営業日かかる場合があります。
  • 輸入要件は、韓国関税庁の要件 API からリアルタイムで取得します。条件は、法制処(법제처、law.go.kr)が公開する関税指定告示(관세법 제226조 지정고시)から引用されます。条件を引用するすべての応答には、出典として Source: Ministry of Government Legislation (법제처), law.go.kr が記載されます。告示は毎日改正の有無を確認し、変更があった場合は条件インデックスを再構築します。HS コードと品目名は韓国関税庁の HS コード表(data.go.kr 15049722)、関税率は毎年公開される관세청_품목번호별 관세율표(data.go.kr 15051179)に基づきます。

プライバシー

  • KBV 独自のログにクエリの内容が記録されることはありません。 サービスが記録するのはイベント数、結果、応答時間のみであり、事業者番号、氏名、住所、検索語、HS コードは記録しません。

  • 入力情報の送信先。 各ツールは、回答に必要な情報のみを上流サービスに送信します。

    ツール/ルート送信先送信される情報
    check_korean_business_status · GET /v1/business/{number}/status韓国国税庁、api.odcloud.kr事業者番号
    verify_korean_business · POST /v1/business/verify韓国国税庁、api.odcloud.kr事業者番号、代表者名、開業日、および入力した場合は住所
    check_korean_business_batch · POST /v1/business/batch韓国国税庁、api.odcloud.kr事業者番号(取引停止記録は KBV 独自のコピーから取得します)
    find_korean_business · GET /v1/business/searchDART、opendart.fss.or.kr — および韓国国税庁、api.odcloud.kr検索語がどこかに送信されることはありません。KBV 独自のインデックスと照合します。一致した企業について、KBV がまだ事業者番号を保有していない場合は、候補企業の DART 企業コード(corp_code)が DART に送信されます。また、応答に根拠情報が含まれる場合は、候補企業の事業者番号が韓国国税庁に送信されます(MCP 呼び出しは毎回、課金対象の REST 呼び出し)
    check_korea_import_requirements · ..._batch · /v1/korea-import/requirements韓国関税庁、apis.data.go.krHS コードと方向(輸入/輸出)

    DART 企業コードは企業を特定するため、DART にはどの企業の番号が照会されたかはわかりますが、入力した検索語はわかりません。KBV は Google Cloud Storage から、独自のプロジェクト内にあるインデックスファイルも読み取ります。クエリデータがそこに書き込まれることはありません。

  • HTTP の仕様上避けられない例外が 1 つあります。 3 つの GET エンドポイントでは、入力情報が URL に含まれます。GET /v1/business/{number}/status では事業者番号、GET /v1/business/search?q= では検索する企業名または番号、GET /v1/korea-import/requirements?hs_code= では照会する HS コードが該当します。そのため、Google Cloud Run がすべてのリクエストについて記録するプラットフォームのアクセスログに表示されます。これらのログは14 日間保存された後、自動的に削除されます。KBV ではログ内の特定の項目だけをマスキングできません。Cloud Logging のフィルターはログエントリー全体を対象とし、内容を書き換えることはありません。

  • 影響を受けないエンドポイント: POST /v1/business/verify、POST /v1/business/batch、POST /v1/korea-import/requirements/batch、およびすべての MCP ツール呼び出し(find_korean_business と check_korea_import_requirements を含む)は、リクエストボディに入力情報を含めます。アクセスログには記録されません。識別子、検索語、HS コードをどのログにも表示させたくない場合は、これらを優先してご利用ください。

  • 参考までに、韓国の事業者登録番号は個人データではなく企業の公開識別子です。ただし、個人事業主の場合は個人に登録されるため、上記の違いを把握しておくとよいでしょう。

  • 短期間のみ保持されるインメモリーキャッシュ(最大 24 時間、キーはハッシュ化)は、韓国国税庁の停止中にサービスが応答できるようにする目的だけで使用されます。共有やエクスポートは一切行われません。

料金

  • 番号 124-81-00998 は無料で無制限に利用できます。 実在する上場企業である Samsung Electronics は、1 日あたりの利用上限の対象外です。そのため、クライアントを接続しても料金はかかりません。テスト用データではなく、NTS のライブデータを使用します。
  • 無料枠は、IP アドレスごとに 1 日あたり約 10 回の検索です(バッチ呼び出しは番号 1 件につき 1 回としてカウントされます)。毎日 00:00 UTC にリセットされます。カウンターはサーバーのメモリ上にあるため、サーバーインスタンスごとに管理され、サービスの再デプロイ時にもリセットされます。そのため、厳密な上限ではなく目安としてお考えください。アカウントやキーは不要です。MCP ツールでは自動的に適用されます。REST 呼び出しでは ?free=1 を追加して利用します。このフラグがない場合、REST は x402 の支払い要件とともに 402 を返します。MCP と REST は同じカウンターを共有します。
  • 検索は無料、確認は有料です。 GET /v1/business/search?q=…&free=1 は無料枠内で、社名、事業者番号、信頼度を返します。会社名しか分からないエージェントでも、必ず番号を取得できます。有料の呼び出しでは evidence フィールド(ステータス、税区分、地域、上場状況)が追加され、名称が似た企業を区別できます。
  • 無料枠を超えた場合、REST エンドポイントは x402 プロトコルによる従量課金(Base メインネット上の USDC、エージェントによる支払いに対応。登録不要)となります。
    • GET /v1/business/search — $0.02(証拠情報付きの候補)
    • GET /v1/business/{number}/status — $0.02
    • POST /v1/business/verify — $0.05
    • POST /v1/business/batch — 番号 1 件あたり $0.02(最大 $2.00 まで承認し、実際の利用分を決済)
    • GET /v1/korea-import/requirements — $0.03(?free=1 を指定した場合は、品目名、関税率、コードが規制対象かどうか、要件の件数を含む概要を返します。有料の呼び出しでは、法令、承認機関、証明書、引用された条件が追加されます。HS コード 8516710000 は常に無料で、すべての情報を取得できます)
    • POST /v1/korea-import/requirements/batch — 検索した有効な HS コード 1 件あたり $0.02(最大 $2.00 まで承認し、実際の利用分を決済。無効なコード、検索に失敗したもの、8516710000 は課金されません)
  • 無料枠を超えた MCP ツールの呼び出しは、上記の有料 REST エンドポイントを案内する free_tier_exceeded エラーを返します。
  • 公平な利用のため、上流の NTS クォータは共有されています。無料枠により少量の利用は無料で、利用量の多いトラフィックは有料の呼び出しに移行します。

よくある質問

会社名しか知りませんが、これを使えますか? はい。そのためのツールが find_korean_business(または GET /v1/business/search)です。英語または韓国語で会社名を指定すると、一致する企業が登録番号とともに信頼度順で返されます。ここにあるほかのツールはすべて番号が必要です。このツールで番号を取得できます。

名称検索では小規模企業も検索できますか。それとも大企業のみですか? どちらも検索できます。インデックスには、DART の開示対象企業(約 119,000 社、ほぼすべて英語名あり)と、公共調達に登録されているすべての業者(約 821,000 社)が含まれており、小規模・中規模の韓国企業は後者に登録されています。

韓国の事業者登録番号とは何ですか? 韓国国税庁が韓国国内のすべての登録事業者に発行する 10 桁の識別番号です(사업자등록번호。123-45-67890 のように表記されることがよくあります)。

韓国企業が現在も営業しているか確認できますか? はい。check_korean_business_status を呼び出してください。"status": "active" は事業者が現在登録され、営業していることを意味します。"closed" には閉業日が含まれます。

取引前に韓国企業の身元を確認できますか(KYB)? はい。番号、代表者名、開業日を指定して verify_korean_business を呼び出してください。identity_match: true は、国税庁がこの 3 項目すべての一致を確認したことを意味します。

サプライヤーの一覧をまとめてスクリーニングできますか? はい。check_korean_business_batch(または POST /v1/business/batch)では、1 回の呼び出しで最大 100 件の番号を指定でき、番号ごとの登録状況と公共調達への参加資格停止の有無に加え、現在停止中の事業者数を集計した概要が返されます。この組み合わせで確認できるのが、実際のスクリーニング項目です。サプライヤーは通常どおり営業していても、公共契約への参加資格が停止されている場合があります。

無料枠を消費せずに試せますか? はい。124-81-00998(Samsung Electronics)への照会は、どのエンドポイントやツールでも、1 日あたりの利用枠にカウントされません。番号をまとめて照会する場合も、この番号以外だけが課金対象になります。応答には、最新の国税庁データが使われます。

API キーは必要ですか? いいえ。MCP URL に接続してツールを呼び出すか、REST エンドポイントを直接呼び出してください。

セルフホスト/開発

このサーバーはローカル開発向けに公開されています(Node.js ≥ 22、TypeScript、Express + 公式 MCP SDK)。

cp .env.example .env       # put your own data.go.kr DECODING key in NTS_SERVICE_KEY
npm install
npm run dev                # → http://localhost:8080  (MCP at /mcp)
npm test                   # vitest, upstream fully mocked — no network

デプロイガイド(Google Cloud Run)については、DEPLOY.md を参照してください。アーキテクチャと設計仕様については、DESIGN.md を参照してください。

コメント

MCP は初めてですか?

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

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