MCP Chunk Editor について
MCP Chunk Editorは、Universal CTagsでテキストファイルを意味のあるチャンクに分けて編集する、LLM向けMCPサーバーです。変更を即時適用してプレビューを返し、ファイルごとに直前の変更を取り消せます。
主な機能
- 01コードの意味的なチャンク分割
- 02指定チャンクと周辺情報の読み取り
- 03チャンク置換とプレビュー
- 04ファイルの直前の変更を取り消し
- 05ファイルの作成と削除
活用シーン
- 01行番号を使わず関数やクラスを編集
- 02次の作業前に適用済みの変更を確認
- 03ファイルへの直前の編集を元に戻す
MCP 対応
MCPクライアントに、ファイル読み取り、チャンク置換、取り消し、作成、削除のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Chunk Editor
LLM 向けにチャンク単位のテキストファイル編集機能を提供する Model Context Protocol サーバーです。このサーバーでは、行番号ではなく意味的にまとまりのあるチャンクを使って LLM がファイルを編集できるため、より自然で効率的な編集操作が可能になります。
主な機能
- セマンティックなチャンク分割:Universal CTags を使用して、関数、クラス、メソッドなどの意味のあるコード構造を識別します
- 即時適用:変更をすぐに適用し、確認用のプレビューを生成します
- 簡単な取り消し:ファイルごとに直前の変更を元に戻せます
- 効率性:差分更新と遅延チャンク分割により、LLM のトークン使用量を最適化します
利用可能なツール
-
read_chunks- ファイルのチャンクをすべて、または指定した範囲で取得します。file_path(string、必須):読み込むファイルのパスchunk_indices(整数の配列、任意):取得するチャンクインデックスのリストinclude_adjacent(boolean、任意):前後のチャンクをコンテキストとして含めますencoding(string、任意):ファイルのエンコーディング(デフォルト:utf-8)
-
replace_chunks- 1 つ以上のチャンクの内容を置き換え、変更をすぐに適用します。file_path(string、必須):変更するファイルのパスreplacements(配列、必須):{index, new_content} オブジェクトのリストencoding(string、任意):ファイルのエンコーディング(デフォルト:utf-8)
-
undo- replace_chunks 操作で行った最後の変更を元に戻します。file_path(string、必須):変更を元に戻すファイルのパス
-
create_file- 指定した内容で新しいファイルを作成します。file_path(string、必須):作成するファイルのパスcontent(string、必須):ファイルに書き込む内容encoding(string、任意):ファイルのエンコーディング(デフォルト:utf-8)
-
delete_file- ファイルを削除します。file_path(string、必須):削除するファイルのパス
前提条件
- Python 3.10 または 3.11(python-ctags3 との互換性の問題により、Python 3.12 以降はまだサポートされていません)
- Universal CTags(Debian/Ubuntu では
apt-get install universal-ctags)
インストール
uv を使用する(推奨)
uv を使用する場合、特別なインストールは不要です。
uvx を使って mcp-chunk-editor を直接実行します。
PIP を使用する
または、pip 経由で mcp-chunk-editor をインストールできます。
pip install mcp-chunk-editor
インストール後、スクリプトとして次のように実行できます。
python -m mcp_chunk_editor
設定
Claude.app の設定
Claude の設定に追加します。
uvx を使用
"mcpServers": {
"chunk-editor": {
"command": "uvx",
"args": ["mcp-chunk-editor"]
}
}
docker を使用
"mcpServers": {
"chunk-editor": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/chunk-editor"]
}
}
pip インストールを使用
"mcpServers": {
"chunk-editor": {
"command": "python",
"args": ["-m", "mcp_chunk_editor"]
}
}
カスタマイズ - 最大チャンクサイズ
デフォルトでは、サーバーは最大チャンクサイズを 100 行に設定します。設定の args リストに --max-chunk-size=200 引数を追加すると(たとえば、200 行に設定する場合)、この値を変更できます。
デバッグ
MCP inspector を使ってサーバーをデバッグできます。uvx を使ってインストールした場合:
npx @modelcontextprotocol/inspector uvx mcp-chunk-editor
特定のディレクトリにパッケージをインストールした場合、または開発中の場合:
cd path/to/servers/src/chunk-editor
npx @modelcontextprotocol/inspector uv run mcp-chunk-editor
仕組み
チャンクエディターは、まず Universal CTags でファイルを解析し、関数、クラス、メソッドなどの意味のある単位を識別します。これらの意味単位が、LLM が操作できるチャンクになります。
ファイルを編集する場合:
- LLM がファイルからチャンクを要求します(
read_chunks) - LLM が特定のチャンクを変更します(
replace_chunks) - 変更がファイルにすぐに適用されます
- 確認用に変更のプレビューが返されます
- 必要に応じて、LLM は直前の変更を元に戻せます(
undo)
このワークフローは、正確な行番号とコンテンツハッシュを必要とする従来の行単位エディターに比べ、LLM にとってより効率的で自然です。
貢献
mcp-chunk-editor の拡張と改善に役立つ貢献を歓迎します。新しいツールの追加、既存機能の強化、ドキュメントの改善など、皆さまからのご意見は貴重です。
ほかの MCP サーバーや実装パターンの例については、こちらをご覧ください。 https://github.com/modelcontextprotocol/servers
プルリクエストを歓迎します。新しいアイデア、バグ修正、機能強化をぜひお寄せください。mcp-chunk-editor をさらに高機能で便利なものにしていきましょう。
ライセンス
mcp-chunk-editor は MIT License の下でライセンスされています。MIT License の利用規約に従う限り、ソフトウェアを自由に使用、変更、配布できます。詳細については、プロジェクトリポジトリ内の LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。