用途
japan-utils-mcp 是一个 MCP(Model Context Protocol)服务器,把日本相关的常用工具能力暴露给 AI 智能体,例如 Claude、Cursor、Cline、Continue 等。它针对通用大模型在日本特定数据上容易产生错误或幻觉的问题,提供确定性的处理结果。
主要能力
- 和历 ↔ 公历年份转换:例如 令和8年 ↔ 2026。支持年号范围为明治(明治)到令和(令和)。
- 汉字 → 赫本式罗马字:例如 山田太郎 → yamada tarou。
- 邮政编码查询:例如 150-0001 → 東京都 渋谷区 神宮前。
- 日本法定节假日日历:可判断某日期是否为节假日,也可列出某年全年节假日。
- 假名转换:平假名 ↔ 片假名 ↔ 半角片假名。
- 宽度规范化:ASCII、数字、假名的全角(全角)↔ 半角(半角)转换。
- 人名拆分:例如 山田太郎 → 姓 山田 + 名 太郎(统计学模型)。
该服务器构建在维护良好的日本语言库之上:jpholiday、posuto、pykakasi、jaconv、namedivider-python。所有工具返回结构化 JSON,完整 schema 与示例见 src/japan_utils_mcp/server.py 中的工具 docstring。
使用方式
推荐使用 uvx 运行,无需安装,且与全局 Python 环境隔离,一条命令即可完成安装与运行。
在 Claude Desktop 配置文件中加入相应 JSON(macOS 路径为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 路径为 %APPDATA%\Claude\claude_desktop_config.json)。Cursor / Cline / Continue 使用相同的 JSON 片段,放入各自的 MCP 配置文件中。
连接后即可向智能体提出类似请求,例如:
- 令和8年是哪一年?→ era_to_western("令和8年") → 2026
- 邮政编码 150-0001 的地址是什么?→ lookup_postal_code("150-0001") → 東京都 渋谷区 神宮前
- 把 山田太郎 转成罗马字。→ kanji_to_romaji("山田太郎") → yamada tarou
- 2026 年 5 月 3 日是日本节假日吗?→ is_holiday("2026-05-03") → 憲法記念日(Constitution Memorial Day)
- 列出 2026 年所有日本节假日。→ list_holidays(2026) → 18 个节假日及名称和日期
- 将 ヤマダタロウ 转为平假名。→ convert_kana("ヤマダタロウ", "hiragana") → やまだたろう
- 将 ABC123 规范化为半角。→ normalize_width("ABC123", "to_half") → ABC123
- 将 長谷川健太 拆分为姓和名。→ split_japanese_name("長谷川健太") → 長谷川 / 健太
适用场景
适用于任何涉及日本数据的智能体任务:需要准确推算年号年份、需要把日本人名或地址转写为罗马字、需要查询日本邮编对应地址、需要判断日本节假日、需要统一全角半角字符、或需要拆分日本人姓名时。这些是日本相关任务经常需要、但通用大模型往往无法可靠处理的细粒度能力。
限制
- 人名罗马字转换采用最常见读音,对于读音特殊的专有名词会出错。这是任何没有消歧上下文的汉字转罗马字方案的根本性限制。
- 邮政编码数据集通过 posuto 库提供,与日本邮政的月度 KEN_ALL 数据保持刷新。如需极新数据,请定期刷新 posuto。
- 节假日仅覆盖国民法定节假日(国民の祝日),不包含企业特定或地区性节日。
- 年号转换支持明治(明治)到令和(令和)。更早的年号不受支持。
(说明:官方资料未提供具体安装命令文本、版本号或收费信息,相关内容暂未提供。)