{
  "markdown": "# jp-data-mcp — Japanese Public Business Data for AI Agents\n\nA free, open-source [MCP](https://modelcontextprotocol.io) server that gives AI\nagents the Japanese business-data primitives they most often need:\n\n- **Corporate numbers (法人番号)** — offline check-digit validation and, with a\n  (free) NTA application ID, live registry enrichment from the National Tax\n  Agency 法人番号 Web-API: registered name, address, entity kind, dates.\n- **Zengin bank / branch codes (統一金融機関コード・支店コード)** — the codes that\n  describe a Japanese domestic bank transfer, with kana / hiragana / romaji.\n- **Japanese national holidays** — official Cabinet Office holiday data, bundled.\n\nIt runs entirely on your machine. No account, no API key of ours, no payments,\nno telemetry — usage is not logged or reported anywhere.\n\n<!-- mcp-name: io.github.kimotostudio/jp-data-mcp -->\n\n## Tools\n\n| Tool | What it does |\n|---|---|\n| `validate_corporate_number` | Offline format + official NTA check-digit validation of a 13-digit 法人番号 (full-width input tolerated). Does **not** confirm the company exists. |\n| `lookup_corporate_number` | Registry enrichment for a corporate number (live NTA Web-API when `NTA_APP_ID` is set; otherwise a clearly-tagged synthetic fallback — see below). |\n| `search_corporations_by_name` | Search corporations by (partial) name (live NTA Web-API when `NTA_APP_ID` is set). |\n| `lookup_bank` | Bank by 4-digit zengin bank code → name / kana / hiragana / romaji. |\n| `search_banks` | Search banks by name fragment (kanji / kana / hiragana / romaji). |\n| `lookup_branch` | Branch by bank code + 3-digit branch code (branch data lazily fetched from the public zengin-code dataset and cached locally). |\n| `japan_holidays` | All Japanese national holidays for a given year. |\n| `is_japan_holiday` | Whether a `YYYY-MM-DD` date is a national holiday. |\n\n## Important: the SYNTHETIC_SAMPLE fallback\n\nLive corporate-registry data requires a **free** NTA Web-API application ID\n(register at the [国税庁 法人番号システム Web-API site](https://www.houjin-bangou.nta.go.jp/webapi/)),\nsupplied via the `NTA_APP_ID` environment variable.\n\n**Without `NTA_APP_ID`**, `lookup_corporate_number` and\n`search_corporations_by_name` fall back to a tiny bundled **synthetic** sample\nset. These records are fabricated for testing, do **not** correspond to real\ncompanies, and every one of them is tagged `\"source\": \"SYNTHETIC_SAMPLE\"` plus\nan explanatory `note` in the response — they can never be mistaken for real\nregistry data. Check-digit validation and the bank/holiday tools do not need\nany key and always use real data.\n\nKnown limitation: the NTA v4 CSV column mapping is written from the published\nspec but has not yet been verified against a live API response. If you find a\nmisaligned field, please open an issue.\n\n## Install & run\n\nRequires Python 3.11+.\n\n```bash\ngit clone https://github.com/kimotostudio/jp-data-mcp.git\ncd jp-data-mcp\npip install fastmcp httpx    # or: uv sync\npython src/server.py         # stdio MCP server\n```\n\nOr with [uv](https://docs.astral.sh/uv/), no explicit install step:\n\n```bash\nuv run --directory /path/to/jp-data-mcp src/server.py\n```\n\n### Claude Desktop / MCP client config (stdio)\n\n```json\n{\n  \"mcpServers\": {\n    \"jp-data\": {\n      \"command\": \"uv\",\n      \"args\": [\"run\", \"--directory\", \"/path/to/jp-data-mcp\", \"src/server.py\"],\n      \"env\": { \"NTA_APP_ID\": \"your-nta-app-id (optional)\" }\n    }\n  }\n}\n```\n\nAn `.mcpb` bundle (usable with MCPB-aware clients) is attached to each\n[GitHub release](https://github.com/kimotostudio/jp-data-mcp/releases).\n\n### Local HTTP mode (optional)\n\n```bash\npython src/server.py --http   # streamable-http on 127.0.0.1:8765 (localhost only)\n```\n\n## Test\n\n```bash\npython test_client.py\n```\n\n## Data sources & licenses\n\n| Data | Source | Terms |\n|---|---|---|\n| Corporate registry | [国税庁 法人番号システム Web-API v4](https://www.houjin-bangou.nta.go.jp/webapi/) (live, only when you configure your own `NTA_APP_ID`) | NTA Web-API terms of use apply to your usage |\n| Check-digit formula | Official NTA specification (implemented offline) | — |\n| Bank / branch codes | [zengin-code/source-data](https://github.com/zengin-code/source-data) (bank list bundled; branch files fetched on demand) | MIT License |\n| National holidays | [内閣府 国民の祝日 CSV](https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html) (bundled, converted to UTF-8) | Japanese government open data |\n| Synthetic corporate samples | Generated for this project (valid check digits, fictional companies) | MIT (part of this repo) |\n\n## Disclaimer\n\nThis project is not affiliated with or endorsed by the National Tax Agency,\nthe Japanese Bankers Association, the zengin-code project, or the Cabinet\nOffice. Data is provided as-is with no warranty of accuracy or completeness —\nverify against official sources before relying on it for legal, tax,\naccounting, or payment decisions. Bundled datasets are snapshots and may lag\nthe official sources.\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 4958,
  "sha": "0e737bb225982149d6edd99d8bd6ae8385459b8888f1319c9f0c3da257005657",
  "repo_slug": "kimotostudio/jp-data-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kimotostudio_jp_data_mcp_bbdd197a/readme"
}