Japan Utils

io.github.vivek081166由 GitHub 帳號 vivek081166 發布v0.1.2更新於 Oct 27, 2026

Japan utilities for AI agents: era, romaji, postal codes, holidays, kana, name splitting.

已驗證STDIO僅桌面位置與生活開發者工具

概覽

AI 產生的概覽

本機 MCP 伺服器,為助理提供確定性的日本實用工具:年號換算、羅馬字、郵遞區號、假日、假名與姓名拆分。

可以做什麼
  • 在日本年號與西元西曆年份之間雙向換算
  • 將混合日文文字轉寫為赫本式羅馬字並附上平假名讀音
  • 查詢日本郵遞區號對應的都道府縣、市區與地區,並依日期或年份判斷或列出國定假日
  • 在平假名、片假名與半形片假名之間轉換,並正規化全形與半形字元
  • 以統計模型將日本人全名拆分為姓與名
適用情境
適合經常處理日本相關事務的助理,例如地址、日期、姓名或文字正規化,需要準確答案而非猜測時。適用於處理日文表單、寄件、行事曆或資料清理的情境。
執行需求
以 stdio 本機程序執行,可用 uvx(來自 uv)一鍵啟動,或從原始碼以 uv 執行;未宣告需要帳號、API 金鑰或環境變數。郵遞區號資料隨 posuto 套件一併提供。
安裝前請注意
僅做唯讀查詢,不涉及憑證或寫入。部分結果屬啟發式:人名羅馬字採最常見讀音,姓名拆分為統計模型,假日僅含國定假日,年號換算僅支援明治以後。郵遞區號資料的新舊取決於所綁定的 posuto 資料集。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

japan-utils-mcp

[PyPI] [License: MIT]

MCP server exposing Japan-specific utilities to AI agents (Claude, Cursor, Cline, Continue, etc.). Hand your agent the small bag of JP-specific functions every Japan-related task needs but no generic LLM gets right reliably:

  • 🗓️ Era ↔ Western year — 令和8年 ↔ 2026
  • 🔤 Kanji → Hepburn romaji — 山田太郎 → yamada tarou
  • 📮 Postal code lookup — 150-0001 → 東京都 渋谷区 神宮前
  • 🎌 National holiday calendar — is 2026-05-03 a holiday? what about all of 2026?
  • 🅰️ Kana conversion — hiragana ↔ katakana ↔ half-width katakana
  • 📏 Width normalization — full-width (全角) ↔ half-width (半角) for ASCII, digits, kana
  • 👤 Name splitting — 山田太郎 → surname 山田 + given 太郎 (statistical model)

Built on top of well-maintained Japanese libraries (jpholiday, posuto, pykakasi, jaconv, namedivider-python) — wrapped as MCP tools so any AI agent can call them without re-implementing reading rules, era arithmetic, postal data, or name-splitting heuristics.

Why this exists

Generic LLMs hallucinate on JP-specific data:

  • "What year is 令和8年?" — often wrong
  • "Convert 山田太郎 to romaji" — gets the surname wrong half the time
  • "What's the address for postal code 150-0001?" — fabricates plausible-looking nonsense
  • "Is May 3rd a Japanese holiday?" — guesses

This MCP gives them a deterministic answer.

Tools

ToolWhat it does
era_to_western令和8年 / R8 / Reiwa 8 / 令和元年 → Gregorian year + era metadata
western_to_era2026 → era kanji (令和), English (Reiwa), year-of-era (8), formatted strings
kanji_to_romajiMixed Japanese text → Hepburn romaji + hiragana reading
lookup_postal_code7-digit JP postal code → prefecture / city / area, with kana readings
is_holidayDate string → is it a national holiday? + Japanese name + weekday
list_holidaysYear → all national holidays for that year
convert_kanahiragana ↔ katakana ↔ half-width katakana, any direction
normalize_widthFull-width ↔ half-width for ASCII, digits, kana (with per-category control)
split_japanese_nameJapanese full name → surname + given name (statistical model with confidence)

All tools return structured JSON. See tool docstrings in src/japan_utils_mcp/server.py for full schemas and examples.

Installation

Run with uvx (no install — recommended)

bash
uvx japan-utils-mcp

That's it. uvx (from uv) handles install + run in one shot, isolated from your global Python.

From source

bash
git clone https://github.com/vivek081166/japan-utils-mcp.gitcd japan-utils-mcpuv syncuv run japan-utils-mcp

Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "japan-utils": {      "command": "uvx",      "args": ["japan-utils-mcp"]    }  }}

Claude Code

bash
claude mcp add japan-utils -- uvx japan-utils-mcp

Cursor / Cline / Continue

Same JSON snippet as Claude Desktop, in their respective MCP config files.

Examples

Once connected, ask your agent things like:

What year is 令和8年? → era_to_western("令和8年") → 2026

What's the address for postal code 150-0001? → lookup_postal_code("150-0001") → 東京都 渋谷区 神宮前

Convert 山田太郎 to romaji. → kanji_to_romaji("山田太郎") → yamada tarou

Is May 3rd 2026 a Japanese holiday? → is_holiday("2026-05-03") → 憲法記念日 (Constitution Memorial Day)

List all Japanese holidays in 2026. → list_holidays(2026) → 18 holidays with names and dates

Convert ヤマダタロウ to hiragana. → convert_kana("ヤマダタロウ", "hiragana") → やまだたろう

Normalize ABC123 to half-width. → normalize_width("ABC123", "to_half") → ABC123

Split 長谷川健太 into surname and given name. → split_japanese_name("長谷川健太") → 長谷川 / 健太

Caveats

  • Romaji of personal names uses the most common reading — proper nouns with unusual readings will be wrong. This is a fundamental limitation of any kanji-to-romaji conversion without disambiguation context.
  • Postal code dataset ships via the posuto library, refreshed against Japan Post's monthly KEN_ALL. If you need ultra-fresh data, refresh posuto periodically.
  • Holidays covers national holidays (国民の祝日) only — not company-specific or regional observances.
  • Era conversion supports Meiji (明治) through Reiwa (令和). Earlier eras are not supported.

Development

bash
git clone https://github.com/vivek081166/japan-utils-mcp.gitcd japan-utils-mcpuv syncuv run python -c "from japan_utils_mcp.server import era_to_western; print(era_to_western('令和8年'))"

License

MIT

來源:README.md,提交 56d203a

工具

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

版本歷史

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

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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