Readedit について
MCP ReadEditは、AIコーディングアシスタント向けにファイルの読み取りと編集をまとめ、複数ファイルの一括操作にも対応するMCPサーバーです。推定トークン節約量もローカルに記録します。
主な機能
- 01単一ファイルの読み取りと任意の編集
- 02複数ファイルの一括編集
- 03複数ファイルの読み取りと任意の編集
- 04推定節約量の統計表示
活用シーン
- 01複数ファイルのリファクタリング
- 021回の呼び出しで読み取りと文字列置換
- 03ツール呼び出しとトークンの節約量確認
MCP 対応
ファイルの読み取り、編集、一括操作、節約統計のツールをMCPクライアントに公開します。Claude Desktop、Claude Code、Cursor、Windsurf、Cline、Continue、Zedなどのコーディングアシスタントに設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| file_path | string | はい | ファイルの絶対パス |
| old_string | string | いいえ | 置換対象のテキスト(完全一致。use_regex=true の場合は正規表現) |
| new_string | string | いいえ | 置換後のテキスト |
| use_regex | boolean | いいえ | old_string を正規表現として扱います(デフォルト:false) |
| replace_all | boolean | いいえ | 一致する箇所をすべて置換します(デフォルト:false) |
| offset | number | いいえ | 読み取り開始行番号(省略可) |
| limit | number | いいえ | 読み取る行数(省略可) |
詳細
MCP ReadEdit
なぜ?
AI コーディングアシスタントがファイルを編集するたびに、通常は2 回のツール呼び出しが必要です。まずファイルを読み取り、次に編集します。5 ファイルにまたがるリファクタリングなら 10 回、20 ファイルなら 40 回の呼び出しが必要です。そのたびに JSON のオーバーヘッドでトークンが消費され、応答を待つ時間が発生し、コンテキストが埋まっていきます。
MCP ReadEdit は、こうした呼び出しの組み合わせを 1 回にまとめます。読み取りと編集を一度に実行できます。複数のファイルにまたがる編集も、1 回の呼び出しでまとめて処理できます。その結果、ツール呼び出しが 80~95%減少し、処理が速くなり、トークン使用量も大幅に削減できます。
読み取りと編集を 1 回のツール呼び出しにまとめ、複数ファイルのリファクタリングでツール呼び出しを 80~95%削減します。
あらゆる AI コーディングアシスタントに一括ファイル操作を提供するMCPサーバーです。ファイルごとに読み取り→編集を個別に呼び出す代わりに、すべてを一度に実行できます。
要件
- Node.js 20 以降(推奨:最新の LTS)
クイックスタート
インストールは不要です。npx で直接実行できます。
npx mcp-readedit
起動を高速化するには、グローバルにインストールします。
npm install -g mcp-readedit
次に、MCP クライアントに追加します(下記のクライアントの設定を参照)。
クライアントの設定
Claude Desktop
~/.claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。
{
"mcpServers": {
"readedit": {
"command": "npx",
"args": ["mcp-readedit"]
}
}
}
Claude Code
claude mcp add readedit -- npx mcp-readedit
Cursor
プロジェクト内の .cursor/mcp.json に追加します。
{
"mcpServers": {
"readedit": {
"command": "npx",
"args": ["mcp-readedit"]
}
}
}
Windsurf
設定 → MCP サーバーに移動して、次の内容を追加します。
{
"readedit": {
"command": "npx",
"args": ["mcp-readedit"]
}
}
Cline(VS Code 拡張機能)
Cline の設定で、MCP サーバーに追加します。
{
"readedit": {
"command": "npx",
"args": ["mcp-readedit"]
}
}
Continue
.continue/config.yaml に追加します。
mcpServers:
- name: readedit
command: npx
args:
- mcp-readedit
Zed
Zed の settings.json に追加します。
{
"context_servers": {
"readedit": {
"command": "npx",
"args": ["mcp-readedit"]
}
}
}
ツール
| ツール | 説明 |
|---|---|
read_edit | ファイルを読み取り、必要に応じて編集します。2 回ではなく 1 回の呼び出しで実行できます |
multi_edit | 複数のファイルを一度に編集します |
multi_read_edit | 複数のファイルを読み取り、必要に応じて編集します。最も強力なツールです |
get_gain | トークン削減量の統計を表示します |
read_edit — 単一ファイルの読み取りと任意の編集
1 回の呼び出しでファイルを読み取り、必要に応じてテキストを置換します。ファイルの内容を返します。
{
"file_path": "/absolute/path/to/file.ts",
"old_string": "text to replace",
"new_string": "replacement text"
}
オプション:use_regex(ブール値)、replace_all(ブール値)、offset(行番号)、limit(行数)。読み取りのみを行う場合は、old_string/new_string を省略します。
multi_edit — 複数ファイルの編集
複数のファイルに対する編集を、1 回の呼び出しでまとめて実行します。ファイルの内容をすでに把握している場合に使用します。
{
"edits": [
{ "file_path": "/path/a.ts", "old_string": "foo", "new_string": "bar" },
{ "file_path": "/path/b.ts", "old_string": "baz", "new_string": "qux", "replace_all": true }
]
}
multi_read_edit — 複数ファイルの読み取りと編集
最も強力なツールです。1 回の呼び出しで、任意の数のファイルを読み取り、必要に応じて編集します。
{
"operations": [
{ "file_path": "/path/a.ts" },
{ "file_path": "/path/b.ts", "old_string": "old", "new_string": "new" },
{ "file_path": "/path/c.ts", "old_string": "\\d+", "new_string": "0", "use_regex": true }
]
}
オプション:include_content(ブール値、デフォルトは false)と include_original(ブール値、デフォルトは false)で、返される内容を指定します。
get_gain — トークン削減量の統計
{ "breakdown": "summary" }
内訳の種類:summary(デフォルト)、daily、recent、all。
使用前/使用後
9 ファイルにまたがる機能のリファクタリング:
MCP ReadEdit なし — ツール呼び出し 52 回:
Read file1 → Edit file1 → Read file2 → Edit file2 → ... → Read file9 → Edit file9
28 Edit + 19 Read + 5 Write = 52 calls
MCP ReadEdit あり — ツール呼び出し 4 回:
multi_read_edit (files 1-3) → multi_read_edit (files 4-6) → multi_read_edit (files 7-9) → multi_edit (final batch)
結果:48 回の呼び出しを削減(約 9,600 トークン)
削減量の追跡方法
各ツール呼び出しはローカルの SQLite データベースに記録されます。トラッカーは、標準的な読み取りと編集の呼び出しを使った場合に必要だった回数を算出します。
- 編集を伴う
read_edit:標準的な呼び出し 2 回 → 最適化された呼び出し 1 回 multi_edit(N ファイル):標準的な呼び出し 2N 回 → 最適化された呼び出し 1 回multi_read_edit(N ファイル):標準的な呼び出し 2N 回 → 最適化された呼び出し 1 回
削減トークン数は、回避できた呼び出し 1 回あたり約 200 トークン(JSON のオーバーヘッド、ツール結果のラッピング)として推定されます。データベースは初回使用時に自動作成されます。
CLI の使用方法
グローバルにインストールした場合(npm install -g mcp-readedit)、readedit コマンドを使ってターミナルから削減量の統計を確認できます。
readedit gain # Summary
readedit gain --daily # Day-by-day breakdown
readedit gain --recent 20 # Last 20 operations
readedit gain --all # All breakdowns
readedit gain --format json # JSON export
readedit gain --reset # Reset statistics
npx でも使用できます。npx mcp-readedit はサーバーを起動し、readedit gain は CLI を実行します。
AGENTS.md / CLAUDE.md との統合
AI コーディングアシスタントが ReadEdit ツールを自動的に使用するように、プロジェクトの CLAUDE.md、AGENTS.md、または .cursorrules に次の指示を追加してください。
## File Operations — MCP ReadEdit
When reading or editing files, ALWAYS prefer MCP ReadEdit tools over separate Read + Edit calls.
### Tool Selection
- **multi_read_edit**: Read and/or edit multiple files (most common — use for any multi-file task)
- **multi_edit**: Edit multiple files when you already have their contents
- **read_edit**: Single file read-only or read+edit
- **get_gain**: Check token savings statistics
### Rules
1. NEVER use separate Read then Edit calls when ReadEdit tools are available
2. Batch file operations: group related files into a single multi_read_edit call
3. Use `use_regex: true` for pattern-based replacements
4. Read-only operations in multi_read_edit always return file content — no need to separately read files first
5. When refactoring across multiple files, plan all edits first, then execute in one multi_read_edit call
すべてのプロジェクトでグローバルに使用する場合は、代わりに ~/.claude/AGENTS.md に追加してください。
コントリビューション
git clone https://github.com/abnersajr/mcp-readedit.git
cd mcp-readedit
npm install
npm test
github.com/abnersajr/mcp-readedit で、Issue や PR を歓迎します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。