Torify — Japan Locale APIs for AI Agents

dev.torify由 torify.dev 發布v0.2.0更新於 Oct 27, 2026

39 Japanese locale APIs — wareki, NTA invoice, 法人番号, postal, romanization, kanji-kana (Workers AI).

已驗證Streamable HTTP可網頁執行位置與生活開發者工具商業與電商

概覽

AI 產生的概覽

遠端 MCP 伺服器,提供日本在地化 API:和曆日期、郵遞區號與地址、銀行分行、發票與證件驗證、文字轉換。

可以做什麼
  • 在西曆與和曆之間轉換日期,查詢節假日與法定休假日,計算年齡
  • 查詢與正規化日本地址和郵遞區號,進行地理編碼與逆地理編碼,驗證電話號碼
  • 檢索全銀銀行與分行資料庫,驗證轉帳資訊並轉換郵儲帳戶
  • 驗證發票號碼、法人番號、稅務與法規項目,以及個人編號、護照、保險證、車牌、條碼等證件格式
  • 姓名羅馬拼音化、拆分與驗證,假名與漢字轉換,文字正規化
  • 批次執行和曆轉換、發票驗證與稅額計算
適用情境
適合助理處理日本商務或行政資料的情境:和曆日期、日本地址、銀行與分行代碼、發票號碼或法人番號、姓名的假名與羅馬拼音。適用於表單驗證、資料清理與以日本為主的後台流程,而非一般網頁或程式開發任務。
執行需求
遠端 streamable HTTP 端點,無需本機安裝。免費 MCP 方案不需金鑰或註冊,限制為每個 IP 每天 100 次請求。更高額度需透過電子郵件註冊、訂閱或按次付費取得 X-Trial-Key、X-API-Key 或 X-PAYMENT 標頭。
安裝前請注意
付費方案會產生費用:透過 X-PAYMENT 標頭以 Base L2 上的 USDC 按次支付 0.02 美元,或每月 49/499 美元訂閱。x402 範例要求提供錢包私鑰(PRIVATE_KEY),該私鑰可授權支出。提交的地址、電話、發票號碼等識別資料會傳送給第三方服務。部分端點(發票登記查核、法人番號查詢)標示為等待外部核准。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Torify — Japan Locale APIs for AI Agents,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/dev.torify%2Fjapanese-locale-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "torify-japan-locale-apis-for-ai-agents": {
      "type": "http",
      "url": "https://torify-mcp.torify.workers.dev/"
    }
  }
}

README

torify-examples

Code examples for Torify — Japanese locale APIs for AI agents.

40 endpoints for wareki (era dates), invoice validation, corporate lookup, address normalization, bank/branch search (full Zengin database — 1,152 institutions), legal holiday (Labor Standards Act), school code, and more.

[torify.dev] [License: MIT] [Smithery] [MCP.so] [Anthropic Registry]

Listed on


Pricing

PlanPriceLimitAuth method
Free TrialFree100 calls/monthX-Trial-Key (email signup)
MCPFree100 req/day/IPNo auth
x402$0.02/callUnlimitedX-PAYMENT header (USDC on Base L2)
Pro$49/mo10,000 calls/monthX-API-Key
Enterprise$499/mo1,000,000 calls/month (Fair Use)X-API-Key + priority support + SLA

Get a free trial key

bash
curl -X POST https://torify.dev/v1/trial/signup \  -H "Content-Type: application/json" \  -d '{"email":"[email protected]"}'# { "ok": true, "data": { "trialKey": "tk_..." } }

Use the returned key as the X-Trial-Key header. Limit: 100 calls/month, resets monthly.

bash
curl -H "X-Trial-Key: tk_..." \  "https://torify.dev/v1/wareki/convert?direction=g2w&date=2024-05-01"

Quick Start

Free tier (MCP — no wallet, no signup)

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "torify": {      "type": "http",      "url": "https://torify-mcp.torify.workers.dev"    }  }}

100 requests/day/IP free. Works in Claude Desktop and Cursor.

x402 per-call ($0.02 USDC on Base L2)

bash
npm install x402-fetch viemexport PRIVATE_KEY="0x..."npx ts-node typescript/x402-example.ts

API Key subscription ($49/mo Pro or $499/mo Enterprise)

Subscribe via Polar to receive your API key by email:

bash
export TORIFY_API_KEY="your-key"npx ts-node typescript/apikey-example.ts

Examples

Wareki (era date) conversion

bash
# Gregorian → Warekicurl "https://torify.dev/v1/wareki/convert?direction=g2w&date=2024-05-01"# { "ok": true, "data": { "era": "令和", "eraYear": 6, "formatted": "令和6年5月1日" } }
# Wareki → Gregorian (edge case: Showa ended Jan 7, 1989; Heisei started Jan 8, 1989)curl "https://torify.dev/v1/wareki/convert?direction=w2g&era=showa&eraYear=64&month=1&day=7"# { "ok": true, "data": { "gregorian": "1989-01-07" } }

Invoice number validation

bash
# Format + check digit validation (no payment needed)curl "https://torify.dev/v1/invoice/validate?number=T7000012050002"# { "ok": true, "data": { "valid": true } }

Status: NTA registry integration is pending external API approval. Coming soon.

bash
# NTA registry lookup — is this T-number actually registered?curl "https://torify.dev/v1/invoice/verify?number=T1180301018771" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "registered": true, "registrantName": "トヨタ自動車株式会社", "confidence": 0.99 } }

Corporate number lookup

Status: Corporate number lookup is pending external API approval. Coming soon.

bash
curl "https://torify.dev/v1/houjin/lookup?number=7000012050002" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "name": "国税庁", "address": "東京都千代田区霞が関3丁目1番1号", "status": "active" } }

Postal code lookup

bash
curl "https://torify.dev/v1/postal/lookup?zipcode=1000013"# { "ok": true, "data": { "prefecture": "東京都", "city": "千代田区", "town": "霞が関" } }

Phone number validation

bash
# Tokyo (2-digit area code 03)curl "https://torify.dev/v1/phone/validate?phone=03-1234-5678"# { "ok": true, "data": { "valid": true, "type": "landline", "region": "東京" } }
# Rural (4-digit area code 0266)curl "https://torify.dev/v1/phone/validate?phone=0266-12-3456"# { "ok": true, "data": { "valid": true, "type": "landline", "region": "長野" } }

Address normalization

Response Schema (v0.3.0+)
typescript
{  prefecture: string | null,  city: string | null,  town: string | null,  streetNumber: string | null,  streetNumberHyphen: string | null,  streetNumberFormal: string | null,  addressType: 'block' | 'street' | 'rural' | 'other',   // NEW: first-class enum  streetRef: {                                            // NEW: Kyoto intersection    intersection: string;    direction: '上る' | '下る' | '東入' | '西入' | null;  } | null,  addressee: string | null,                               // NEW: 様方/気付/c/o separated}
Examples
InputaddressTypestreetRefaddresseeNotes
東京都千代田区霞が関3丁目1番1号blocknullnull通常住所
京都府京都市中京区烏丸通三条上る場之町street{"direction": "上る", "intersection": "烏丸通三条上る"}null京都通り名
東京都港区赤坂2-3-4 山田様方blocknull"山田"方書
東京都港区赤坂二丁目blocknullnull漢数字 1-99 → Arabic 自動変換
bash
# 通常住所 (block)curl "https://torify.dev/v1/address/normalize" \  --get --data-urlencode "address=東京都千代田区霞が関3丁目1番1号" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "prefecture": "東京都", "city": "千代田区", "town": "霞が関",#                          "addressType": "block", "streetRef": null, "addressee": null } }
# 京都通り名 (street + streetRef populated)curl "https://torify.dev/v1/address/normalize" \  --get --data-urlencode "address=京都府京都市中京区烏丸通三条上る場之町" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "prefecture": "京都府", "city": "京都市中京区",#                          "addressType": "street",#                          "streetRef": { "intersection": "烏丸通三条上る", "direction": "上る" },#                          "addressee": null } }
# 方書 — addressee 分離curl "https://torify.dev/v1/address/normalize" \  --get --data-urlencode "address=東京都港区赤坂2-3-4 山田様方" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "prefecture": "東京都", "city": "港区", "town": "赤坂",#                          "addressType": "block", "streetRef": null, "addressee": "山田" } }
# 漢数字 → Arabic 自動変換curl "https://torify.dev/v1/address/normalize" \  --get --data-urlencode "address=東京都港区赤坂二丁目" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "prefecture": "東京都", "city": "港区", "town": "赤坂2丁目",#                          "addressType": "block", "streetRef": null, "addressee": null } }

Bank lookup, search, and list (full Zengin database, 1,150+ banks)

bash
# Look up by bank code + branch codecurl "https://torify.dev/v1/bank/lookup?bankCode=0001&branchCode=001" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "bankName": "みずほ銀行", "bankNameEn": "Mizuho Bank",#                          "branchName": "東京営業部", "found": true, "branchFound": true } }
# Search banks by partial name (kanji / kana / romaji)curl "https://torify.dev/v1/bank/search" --get --data-urlencode "name=みずほ" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "mode": "bank", "hits": [...], "total": 2 } }
# Search branches within a specific bankcurl "https://torify.dev/v1/bank/search?bankCode=0001" --get --data-urlencode "name=東京" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "mode": "branch", "hits": [...] } }
# Paginated full bank listcurl "https://torify.dev/v1/bank/list?limit=5" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "total": 1152, "banks": [...] } }

Bank transfer validation (Zengin format)

bash
curl "https://torify.dev/v1/bank/transfer/validate?bankCode=0001&branchCode=001&accountType=1&accountNumber=1234567" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "valid": true, "accountTypeName": "普通", "isYucho": false } }

Legal holiday check (Labor Standards Act Art. 35)

bash
# Standard 5-day work week (Sun = legal holiday, Sat = non-legal rest day)curl "https://torify.dev/v1/legal-holiday/check?date=2024-05-05&restDays=sun,sat" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "isLegalHoliday": true, "overtimePremiumRate": 0.35,#                          "overtimePremiumRateLegalNonHoliday": 0.25,#                          "legalReference": "Labor Standards Act Article 35 (労働基準法第35条)" } }

MEXT school code validation (13-char)

bash
curl "https://torify.dev/v1/school-code/validate?code=B213123456X00" \  -H "X-API-Key: $TORIFY_API_KEY"# { "ok": true, "data": { "valid": true, "schoolType": "elementary",#                          "establishment": "public_prefectural", "prefectureJa": "東京都" } }

Self IP address (free, no auth)

bash
curl "https://torify.dev/v1/whoami"# { "ok": true, "data": { "ip": "...", "country": "JP", "userAgent": "..." } }

TypeScript with x402 (autonomous payment)

typescript
import { wrapFetchWithPayment } from "x402-fetch";import { createWalletClient, http } from "viem";import { base } from "viem/chains";import { privateKeyToAccount } from "viem/accounts";
const wallet = createWalletClient({  account: privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`),  chain: base,  transport: http()});const fetch402 = wrapFetchWithPayment(fetch, wallet);
// Agent pays $0.02 USDC automatically — no API key neededconst res = await fetch402("https://torify.dev/v1/invoice/verify?number=T1180301018771");const { ok, data } = await res.json();console.log(data.registered, data.confidence); // true, 0.99

Python with API Key

python
import os, requests
headers = {"X-API-Key": os.environ["TORIFY_API_KEY"]}
r = requests.get(    "https://torify.dev/v1/address/normalize",    params={"address": "東京都千代田区霞が関3丁目1番1号"},    headers=headers)data = r.json()["data"]print(data["prefecture"], data["city"], data["town"])# 東京都 千代田区 霞が関

All Endpoints

Full docs: torify.dev/docs

All 40 endpoints (paid $0.02/call + free MCP / whoami):

CategoryEndpoints
Era & Datewareki/convert, holiday/check, age/calculate, legal-holiday/check
Legal & Taxinvoice/validate, invoice/verify, tax/calculate, eltax/check (POST), freelance/order/validate (POST)
Corporatehoujin/lookup, industry/lookup
Addresspostal/lookup, address/normalize, region/lookup, coordinate/convert
Geogeo/geocode (address → lat/lng via GSI, PDL 1.0), geo/reverse-geocode (lat/lng → municipality + town via GSI, PDL 1.0)
Legal Searchlaw/search (Japanese law search via e-Gov API v2, 政府標準利用規約)
Textname/romanize, name/split, name/validate, kana/convert, text/normalize, kanji/to-kana (Cloudflare Workers AI, Llama 3.3 70B), kanji/normalize (POST)
Financebank/lookup, bank/search, bank/list, bank/transfer/validate, yucho/convert, payment/3ds/check
Identitymynumber/validate, passport/validate, insurance/validate, plate/validate, barcode/validate, phone/validate
Educationschool-code/validate
Diagnosticwhoami (free, no auth required)
Bulkwareki/convert/bulk, invoice/validate/bulk, invoice/verify/bulk (max 300), tax/calculate/bulk (max 1000)

License

MIT — examples only. The Torify API service is proprietary.


Last updated: 2026-05-27

來源:README.md,提交 9969873

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

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

評分

已滿足適用檢查項的 85%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

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

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