JP Data (Japanese Public Business Data)

io.github.kimotostudio由 GitHub 帳號 kimotostudio 發布v0.1.0更新於 Oct 24, 2026

Japanese open-data MCP server: corporate-number validation, zengin bank codes, national holidays

已驗證STDIO僅桌面金融商業與電商

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理查詢日本商務資料:法人編號驗證、zengin 銀行與分行代碼、國定假日。

可以做什麼
驗證並查詢日本法人編號,設定申請 ID 時可透過 NTA Web-API 即時補充登記資料並依名稱搜尋,否則回傳明確標記的合成樣本資料。依 4 位 zengin 銀行代碼查詢銀行,並可用漢字、假名、平假名或羅馬字依名稱搜尋銀行。依銀行代碼與分行代碼查詢分行,分行資料按需取得並快取於本機。列出某年的日本國定假日,並判斷指定日期是否為假日。
適用情境
適合助理需要核對或說明日本法人編號、日本國內轉帳用的銀行與分行代碼,或官方假日日期,且不希望把資料送到第三方服務的情況。
執行需求
以 stdio 程序在本機執行,需要 Python 3.11+ 以及 fastmcp 和 httpx 套件(或使用 uv)。選用環境變數 NTA_APP_ID 存放免費的國稅廳 Web-API 申請 ID;未設定時,法人查詢會回傳合成樣本記錄。分行查詢會從公開的 zengin-code 資料集取得資料,因此需要網路存取。
安裝前請注意
未設定 NTA_APP_ID 時,法人查詢與名稱搜尋會回傳標記為 SYNTHETIC_SAMPLE 的虛構記錄,並非真實公司。檢查碼驗證無法確認公司是否存在。NTA CSV 欄位對應尚未以即時回應驗證。內建資料集為快照,可能落後於官方來源,專案聲明不保證準確性,用於法律、稅務、會計或付款決策前請先核實。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 JP Data (Japanese Public Business Data),將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

jp-data-mcp — Japanese Public Business Data for AI Agents

A free, open-source MCP server that gives AI agents the Japanese business-data primitives they most often need:

  • Corporate numbers (法人番号) — offline check-digit validation and, with a (free) NTA application ID, live registry enrichment from the National Tax Agency 法人番号 Web-API: registered name, address, entity kind, dates.
  • Zengin bank / branch codes (統一金融機関コード・支店コード) — the codes that describe a Japanese domestic bank transfer, with kana / hiragana / romaji.
  • Japanese national holidays — official Cabinet Office holiday data, bundled.

It runs entirely on your machine. No account, no API key of ours, no payments, no telemetry — usage is not logged or reported anywhere.

Tools

ToolWhat it does
validate_corporate_numberOffline format + official NTA check-digit validation of a 13-digit 法人番号 (full-width input tolerated). Does not confirm the company exists.
lookup_corporate_numberRegistry enrichment for a corporate number (live NTA Web-API when NTA_APP_ID is set; otherwise a clearly-tagged synthetic fallback — see below).
search_corporations_by_nameSearch corporations by (partial) name (live NTA Web-API when NTA_APP_ID is set).
lookup_bankBank by 4-digit zengin bank code → name / kana / hiragana / romaji.
search_banksSearch banks by name fragment (kanji / kana / hiragana / romaji).
lookup_branchBranch by bank code + 3-digit branch code (branch data lazily fetched from the public zengin-code dataset and cached locally).
japan_holidaysAll Japanese national holidays for a given year.
is_japan_holidayWhether a YYYY-MM-DD date is a national holiday.

Important: the SYNTHETIC_SAMPLE fallback

Live corporate-registry data requires a free NTA Web-API application ID (register at the 国税庁 法人番号システム Web-API site), supplied via the NTA_APP_ID environment variable.

Without NTA_APP_ID, lookup_corporate_number and search_corporations_by_name fall back to a tiny bundled synthetic sample set. These records are fabricated for testing, do not correspond to real companies, and every one of them is tagged "source": "SYNTHETIC_SAMPLE" plus an explanatory note in the response — they can never be mistaken for real registry data. Check-digit validation and the bank/holiday tools do not need any key and always use real data.

Known limitation: the NTA v4 CSV column mapping is written from the published spec but has not yet been verified against a live API response. If you find a misaligned field, please open an issue.

Install & run

Requires Python 3.11+.

bash
git clone https://github.com/kimotostudio/jp-data-mcp.gitcd jp-data-mcppip install fastmcp httpx    # or: uv syncpython src/server.py         # stdio MCP server

Or with uv, no explicit install step:

bash
uv run --directory /path/to/jp-data-mcp src/server.py

Claude Desktop / MCP client config (stdio)

json
{  "mcpServers": {    "jp-data": {      "command": "uv",      "args": ["run", "--directory", "/path/to/jp-data-mcp", "src/server.py"],      "env": { "NTA_APP_ID": "your-nta-app-id (optional)" }    }  }}

An .mcpb bundle (usable with MCPB-aware clients) is attached to each GitHub release.

Local HTTP mode (optional)

bash
python src/server.py --http   # streamable-http on 127.0.0.1:8765 (localhost only)

Test

bash
python test_client.py

Data sources & licenses

DataSourceTerms
Corporate registry国税庁 法人番号システム Web-API v4 (live, only when you configure your own NTA_APP_ID)NTA Web-API terms of use apply to your usage
Check-digit formulaOfficial NTA specification (implemented offline)—
Bank / branch codeszengin-code/source-data (bank list bundled; branch files fetched on demand)MIT License
National holidays内閣府 国民の祝日 CSV (bundled, converted to UTF-8)Japanese government open data
Synthetic corporate samplesGenerated for this project (valid check digits, fictional companies)MIT (part of this repo)

Disclaimer

This project is not affiliated with or endorsed by the National Tax Agency, the Japanese Bankers Association, the zengin-code project, or the Cabinet Office. Data is provided as-is with no warranty of accuracy or completeness — verify against official sources before relying on it for legal, tax, accounting, or payment decisions. Bundled datasets are snapshots and may lag the official sources.

License

MIT

來源:README.md,提交 4c38465

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分