mcpField
M
mcp-multi-edit

mcp-multi-edit

ローカル
github.com/eaisdevelopment開発ツール037 週間前に更新

mcp-multi-edit について

mcp-multi-editは、Claude CodeとClaude Desktop向けのMCPサーバーで、1つまたは複数のファイルの検索・置換をまとめて実行します。複数ファイルの編集では、失敗時にロールバックする原子的な処理が特徴です。

主な機能

  1. 01単一ファイル内の置換を一括処理
  2. 02複数ファイルへの編集適用
  3. 03ロールバック対応の原子的編集
  4. 04ドライランによる変更確認
  5. 05バックアップファイルの自動作成
  6. 06構造化されたエラーと競合の報告

活用シーン

  1. 01プロジェクト全体で識別子を変更
  2. 02ファイル内の繰り返しテキストを更新
  3. 03関連ファイルをまとめてリファクタリング
  4. 04適用前に編集内容を確認

MCP 対応

MCPクライアントに`multi_edit`と`multi_edit_files`ツールを提供します。ファイル置換をまとめて処理し、複数ファイルの変更を原子的に適用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"eaisdevelopment-mcp-multi-edit": {
"command": "npx",
"args": [
"-y",
"@essentialai/mcp-multi-edit"
]
}
}
}
起動コマンドnpx -y @essentialai/mcp-multi-edit

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@essentialai/mcp-multi-edit0.2.7

ツール

2

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
editsarrayはい編集操作の配列(順番に適用)
backupbooleanいいえ編集前に.bakバックアップファイルを作成します(デフォルト:true)。
dry_runbooleanいいえ変更を適用せずにプレビューします(デフォルト:false)。
file_pathstringはい変更するファイルの絶対パス
include_contentbooleanいいえ応答に最終ファイルの内容を含めます(デフォルト:false、検証用)

詳細

Multi Edit MCP サーバー

npm version license tests coverage

Claude が 1 回のツール呼び出しで複数の検索と置換を実行できるようにする MCP サーバーです。アトミック性が保証され、すべての編集が成功するか、何も適用されないかのどちらかになります。

Essential AI Solutions が Claude Code と Claude Desktop 向けに開発しました。

Multi Edit を使う理由

Claude に組み込まれている Edit ツールでは、1 回の呼び出しにつき検索と置換を 1 件しか処理できません。ファイル内の変数名を変更したり、複数のファイルをリファクタリングしたりする場合、個別のツール呼び出しが何十回も必要になり、それぞれがコンテキストトークンを消費し、遅延も増加します。

Multi Edit なら、複数の操作を 1 回の呼び出しにまとめられます:

Without multi_edit:      105 tool calls   |   15,750 tokens
With multi_edit:          21 tool calls   |    7,850 tokens   (-80% calls, -50% tokens)
With multi_edit_files:     6 tool calls   |    4,550 tokens   (-94% calls, -71% tokens)

ベンチマークは、現実的なシナリオ(一括リネーム、ロギングの移行、ファイル横断リファクタリング)で実行されています。 詳細については、benchmarks/results/BENCHMARK-REPORT.md をご覧ください。

クイックスタート

Claude Code

プロジェクトのルートに .mcp.json を追加します:

{
  "mcpServers": {
    "Multi Edit from Essential AI Solutions (essentialai.uk)": {
      "command": "npx",
      "args": ["-y", "@essentialai/mcp-multi-edit"]
    }
  }
}

Claude Code を再起動します。次に、付属の CLAUDE.md をプロジェクトのルートに追加すると、Claude は組み込みの Edit ツールよりも multi_edit を 自動的に優先して使用します:

## Editing Files

When making multiple edits to the same file or across multiple files,
prefer using the `multi_edit` and `multi_edit_files` MCP tools over
the built-in Edit tool. These batch edits atomically in a single call.

これで完了です。Claude は、multi_edit が適切な場合にいつでも使用するようになります。

表示名: Claude Code は、mcpServers 内のキー名をサーバーの表示名として使用します。キーは任意の名前に変更できます。

別の方法: CLI を使ったワンライナー:

claude mcp add --transport stdio multi-edit -- npx -y @essentialai/mcp-multi-edit

注: CLI で使えるのは、文字、数字、ハイフン、アンダースコアだけを含むシンプルな名前です。ブランド名を含む完全な表示名を使うには、上記の .mcp.json を使用してください。

Claude Desktop

設定ファイル(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します:

{
  "mcpServers": {
    "Multi Edit from Essential AI Solutions (essentialai.uk)": {
      "command": "npx",
      "args": ["-y", "@essentialai/mcp-multi-edit"]
    }
  }
}

Claude Desktop を再起動します。

インストールガイド全文: docs/installation.md

ツール

multi_edit -- 1 つのファイルに対する複数の編集

1 つのファイルに対する複数の検索と置換をまとめて実行します。編集は順番に、アトミックに適用されます。

{
  "file_path": "/project/src/app.ts",
  "edits": [
    { "old_string": "const oldName = getValue()", "new_string": "const newName = getValue()" },
    { "old_string": "console.log", "new_string": "logger.info", "replace_all": true }
  ]
}
パラメーター型デフォルト説明
file_pathstring必須ファイルの絶対パス
editsarray必須検索と置換の操作(順番に適用)
edits[].old_stringstring必須検索するテキスト(完全一致)
edits[].new_stringstring必須置換後のテキスト
edits[].replace_allbooleanfalse一致する箇所をすべて置換
dry_runbooleanfalse変更を適用せずにプレビュー
backupbooleantrue編集前に .bak バックアップを作成
multi_edit_files -- 複数のファイルに対する 1 つのアトミックな操作

複数のファイルにまたがる編集をまとめて実行します。いずれかのファイルで失敗した場合、すべてのファイルが自動的にロールバックされます。

{
  "files": [
    {
      "file_path": "/project/src/types.ts",
      "edits": [
        { "old_string": "interface UserData {", "new_string": "interface UserProfile {" }
      ]
    },
    {
      "file_path": "/project/src/api.ts",
      "edits": [
        { "old_string": "UserData", "new_string": "UserProfile", "replace_all": true }
      ]
    }
  ]
}
パラメーター型デフォルト説明
filesarray必須ファイル編集操作の配列
files[].file_pathstring必須ファイルの絶対パス
files[].editsarray必須このファイルに対する編集(上記と同じ形式)
dry_runbooleanfalse変更を適用せずにプレビュー

使用例付きの完全なガイド: docs/usage.md

機能

  • アトミック操作 -- すべての編集が成功するか、どれも適用されません。中途半端な状態にはなりません
  • 複数ファイルのロールバック -- いずれかのファイルで失敗した場合、変更済みのファイルはすべて元に戻されます
  • ドライランプレビュー -- コミット前に、変更内容を正確に確認できます
  • 自動バックアップ -- 編集の前に毎回 .bak ファイルが作成されます(backup: false で無効化できます)
  • 構造化エラー -- 自動リトライのための復旧ヒントを含む、機械可読なエラーコードです
  • 競合検出 -- old_string が複数の箇所に一致した場合に警告します
  • パス検証 -- 絶対パスの強制、シンボリックリンクの解決、存在確認を行います

エラーコード

コードリトライ可能説明
MATCH_NOT_FOUNDはいファイル内に old_string が見つかりません
AMBIGUOUS_MATCHはいold_string が複数の箇所に一致します
VALIDATION_FAILEDはい入力スキーマが無効です
FILE_NOT_FOUNDいいえファイルが存在しません
PERMISSION_DENIEDいいえファイルの権限が不足しています
BACKUP_FAILEDいいえバックアップファイルを作成できませんでした

retryable が true の場合、Claude はレスポンス内の recovery_hints を読み取り、入力を調整して自動的にリトライします。

トラブルシューティングガイド: docs/troubleshooting.md

要件

  • Node.js 20 以降
  • Claude Code または Claude Desktop

開発

npm install           # Install dependencies
npm run build         # Compile TypeScript
npm test              # Run 264 tests
npm run test:coverage # Coverage report (90%+)
npm run benchmark     # Run benchmark suite
npm run dev           # Watch mode
プロジェクト構成
src/
  index.ts              # MCP server entry (stdio transport)
  server.ts             # Server factory and tool registration
  tools/
    multi-edit.ts       # multi_edit tool handler
    multi-edit-files.ts # multi_edit_files tool handler
  core/
    editor.ts           # File editing engine (atomic read-modify-write)
    validator.ts        # Zod input validation schemas
    reporter.ts         # Result formatting and diff generation
    errors.ts           # Error classification and envelope creation
  types/
    index.ts            # TypeScript type definitions

ドキュメント

ドキュメント説明
インストールガイドClaude Code と Claude Desktop のすべてのセットアップ方法
使用ガイド例を含む詳細なツールリファレンス
トラブルシューティングよくある問題と解決方法
変更履歴バージョン履歴
ベンチマークレポートパフォーマンス測定結果

ライセンス

PolyForm Noncommercial License 1.0.0

個人利用および非商用利用は無料です。商用ライセンスについては、[email protected] までお問い合わせください。


Essential AI Solutions が開発

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。