
Shift JISのコードベースでClaude Codeを使う方法
Shift JISのコードベースでClaude Codeを使う方法
WindowsのShift JISコードベースでClaude Codeを使おうとしたことがある人なら、あのストレスを知っているはずです。標準のRead、Edit、Write、GrepツールはUTF-8にしか対応しておらず、Shift JISファイルを扱おうとすると文字化けが発生します。
この問題を解決するために、CP932(Shift JISのWindows版)に対応したRead、Edit、Write、Grepツールを提供するMCPサーバーを作りました。これにより、Shift JISのコードベースでもClaude Codeを簡単に使えるようになります。
ソースコードはGitHubで公開しています:MichaelCharles/cp932-tools-mcp-server
セットアップ
1. uvのインストール
uvがインストールされていない場合は、こちらの手順に従ってください:https://docs.astral.sh/uv/getting-started/installation/
2. サーバースクリプトのダウンロード
Bash:
mkdir -p ~/.claude/mcp-servers
curl -o ~/.claude/mcp-servers/cp932_server.py https://raw.githubusercontent.com/MichaelCharles/cp932-tools-mcp-server/main/cp932_server.py
PowerShell:
New-Item -ItemType Directory -Force -Path ~/.claude/mcp-servers
Invoke-WebRequest -Uri https://raw.githubusercontent.com/MichaelCharles/cp932-tools-mcp-server/main/cp932_server.py -OutFile ~/.claude/mcp-servers/cp932_server.py
3. Claude Codeにサーバーを登録
claude mcp add cp932-tools -- uv run ~/.claude/mcp-servers/cp932_server.py
4. 確認
claude mcp list
出力にcp932-toolsが表示されていれば成功です。次回Claude Codeを起動すると、ReadCP932、EditCP932、WriteCP932、GrepCP932のツールが使えるようになります。
アンインストール
claude mcp remove cp932-tools
提供ツール
- ReadCP932 — CP932またはUTF-8のファイルを自動検出して読み取ります。行オフセットと行数制限のパラメータに対応しています。
- EditCP932 — ファイル内のテキストを検索・置換します。元のエンコーディングと改行コードを保持します。CP932に存在しないUnicode文字(全角引用符、emダッシュ、省略記号など)は自動的に置換されます。
- WriteCP932 — CP932またはUTF-8エンコーディングでファイルを新規作成または上書きします。
- GrepCP932 — ディレクトリを再帰的に検索し、正規表現パターンでファイルを検索します。globフィルタリングやコンテキスト行の表示に対応しています。
各ツールはファイルがCP932かUTF-8かを自動検出し、書き戻し時に元のエンコーディングを保持します。主な用途はWindows上のShift_JIS(CP932)エンコーディングの日本語ソースコードですが、エンコーディングが混在しているプロジェクトのUTF-8ファイルにも対応しています。
使い方のコツ
最初はClaudeに対してCP932対応ツールを使うよう明示的に指示する必要があるかもしれません(例:「このファイルをReadCP932で読んで」)。一度Claudeがプロジェクトで使うべきツールを理解すると、自動的にCP932ツールを選択するようになり、スムーズに作業できます。
ここ数ヶ月、レガシーなDelphi 2007のコードベースでこのMCPサーバーを使っていますが、問題なく快適に動作しています。