Michael Charles Aubrey

https://MichaelCharl.es/Aubrey

Shift JISのコードベースでClaude Codeを使う方法

Shift JISのコードベースでClaude Codeを使う方法

Michael Charles Aubrey // Thu Apr 09 2026

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サーバーを使っていますが、問題なく快適に動作しています。