mcpField
J
JP Data (Japanese Public Business Data)

JP Data (Japanese Public Business Data)

Local
github.com/kimotostudioBusiness & Marketing0Updated 12w ago

About JP Data (Japanese Public Business Data)

JP Data is a local MCP server for Japanese corporate, bank, branch, and national-holiday data. It supports offline corporate-number validation and can query the live National Tax Agency registry when configured with an NTA application ID.

Key features

  1. 01Offline corporate-number check-digit validation
  2. 02Corporate registry lookup and name search
  3. 03Zengin bank and branch code lookup
  4. 04Bank search across Japanese and romanized names
  5. 05Japanese national holiday lookup

Use cases

  1. 01Validate a Japanese corporate number
  2. 02Find a bank or branch for domestic transfers
  3. 03Check whether a date is a Japanese national holiday

MCP support

Exposes eight tools for corporate numbers, bank and branch codes, and Japanese holidays to MCP clients. It runs locally over stdio or optional localhost-only HTTP; live registry queries require an NTA_APP_ID.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository
Packages
mcpbjp-data-mcp-0.1.0.mcpb

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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+.

git clone https://github.com/kimotostudio/jp-data-mcp.git
cd jp-data-mcp
pip install fastmcp httpx    # or: uv sync
python src/server.py         # stdio MCP server

Or with uv, no explicit install step:

uv run --directory /path/to/jp-data-mcp src/server.py
Claude Desktop / MCP client config (stdio)
{
  "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)
python src/server.py --http   # streamable-http on 127.0.0.1:8765 (localhost only)

Test

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.