Token导航 LogoToken导航TokenDH.com
Golang Sjis MCP logo
运维云端未说明官方级别未说明来源级核验

Golang Sjis MCP

MCP Server

用于处理Shift JIS编码文件的MCP服务器,支持读取、编辑和写入操作,适用于旧版Windows项目。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
GoClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

s14u

提供方

s14u

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

sjis mcp

用于处理Shift JIS文件的Claude Code用MCP服务器。

如旧Windows项目(Borland C++Builder等)所示,在Shift JIS中写入源代码时 Claude Code的内置Read/Edit/Write工具会发生乱码。 通过使用该服务器,可以在保持Shift JIS文件的同时正确读写Claude。

工具列表

工具|说明| |--------|------| | read_sjis 读入Shift JIS文件,作为UTF-8返回(行范围指定、检索对应、regex: true 中查找正则表达式) | write_sjis 用Shift JIS将UTF-8字符串新建文件写入(拒绝现有文件) | edit_sjis |替换Shift JIS文件中的字符串(用dry_run显示diff,CRLF/LF自动保持)| | detect_encoding 判断文件的编码(shift_jis/utf8/utf8_bom/ascii/binary/unknown)。确信度和根据也返还

构建

GOPATH=/usr/share/gocode go build -o sjis-mcp .

Windows交叉编译:

GOPATH=/usr/share/gocode GOOS=windows GOARCH=amd64 go build -o sjis-mcp.exe .

注册Claude Code

全局注册(所有项目通用)

~/.claude/claude_desktop_config.json 或Claude Code的MCP设置:

{
  "mcpServers": {
    "sjis": {
      "command": "/path/to/sjis-mcp"
    }
  }
}

对于Windows:

{
  "mcpServers": {
    "sjis": {
      "command": "C:\\tools\\sjis-mcp\\sjis-mcp.exe"
    }
  }
}

项目本地注册

项目根目录 .mcp.json 设置:

{
  "mcpServers": {
    "sjis": {
      "command": "C:\\tools\\sjis-mcp\\sjis-mcp.exe"
    }
  }
}

CLAUDE.md中记载例

Shift JIS项目的 CLAUDE.md 中添加以下内容,Claude将自动使用正确的工具:

## 文字コードについて

このプロジェクトのソースファイル(.cpp, .h, .pas 等)はすべて **Shift JIS** です。

### ファイル操作のルール

- ファイルを読む場合: **必ず `read_sjis` ツールを使う**(組み込みの Read は使用禁止)
- 既存ファイルを編集する場合: **必ず `edit_sjis` ツールを使う**(組み込みの Edit は使用禁止)
  - 一部置換は `old_str` / `new_str`、行範囲置換は `line_start` / `line_end` モードを使い分ける
  - 大きい変更は事前に `dry_run: true` で diff を確認すると安全
- 新規ファイルを作成する場合のみ `write_sjis` を使う(既存ファイルは拒否される)
- grep/find/diff 等のシェルコマンドは Bash ツールで直接実行して構わない
  - ただし grep で日本語を検索する場合は `LANG=ja_JP.SJIS grep ...` のように指定する

### SJIS / UTF-8 混在時のルール

このプロジェクトは一部のディレクトリ(例: `docs/`)が UTF-8 です。
迷ったら `detect_encoding` で判定してから:

- `encoding: shift_jis` → `read_sjis` / `edit_sjis` / `write_sjis` を使う
- `encoding: utf8` / `utf8_bom` / `ascii` → 組み込みの Read / Edit / Write を使う
- `encoding: unknown` / `confidence: low` → ユーザーに確認する

v1.4.0中的改进

基于实际利用反馈的改善(阶段B):

  • 新工具 detect_encoding 添加 —在SJIS/UTF-8混合项目中,在文件操作前判定编码。返回值为 encoding(shift_jis/utf8/utf8_bom/ascii/binary/未知)confidence(高/中/低/未知)、reason(判定根拠)、alternatives(备选)。判定优先顺序是BOM→ASCII-only→UTF-8/SJIS妥当性检查→字节统计的顺序
  • read_sjis 添加正则表达式搜索模式regex: truesearch 作为Go的RE2正则表达式进行解释。(?i) 忽略大小写| 在OR、^ / $ 的下界。现有完全匹配模式保持兼容

混合项目中的建议工作流:在使用文件之前 detect_encoding 按钮,来查看主文件中将要发送的内容 read_sjis / edit_sjis选择(SJIS时)或内置Read/Edit(UTF-8时)。

v1.3.0中的改进

基于实际利用反馈的改进:

  • write_sjis 更改为新的 —拒绝现有文件。在结构上防止错误覆盖,并在错误消息中 edit_sjis 来定义自定义外观
  • edit_sjis用dry_run显示diff -匹配位置和替换前/替换后的内容 - / + 查看项目中可用的所有族。易于在运行前确认
  • 在结果消息中明示换行代码(CRLF/LF) —显示编辑和写入完成时保存的换行代码。可确认BCB系CRLF源是否维持
  • read_sjis 输出 edit_sjis 行范围模式提示 —在行号/部分读取/检索模式的结果末尾,保持原样 edit_sjis 的,之 line_start / line_end 的例子

v1.2.0中的改进

  • read_sjis:行范围指定line_start / line_end 参数允许部分导入。即使是大文件也不超过令牌上限
  • read_sjis:検索机能search / context_lines 参数中相当于grep的检索在MCP内完成。Shift JIS文件内的日语检索也不依赖环境
  • edit_sjis:日语匹配改善 —通过Unicode NFC规范化,包括日语 old_str 中的失败
  • edit_sjis:诊断情报改善 -失败时 old_str 的前三行显示类似行

注意事项

  • edit_sjisold_str 在文件中存在多个情况下replace_all: true 缺少支持的问题。

指定包含上下文的唯一字符串,或单击replace_all 中所述修改相应参数的值。

  • write_sjis 仅用于创建新文件。编辑现有文件 edit_sjis 中所述修改相应参数的值。
  • 请勿用于二进制文件。

目录标签

目录标签

GoClaude云端部署ShiftJIS处理本地部署文件编码转换MCP服务器旧版项目支持

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP