mcpField
P
Patch File MCP

Patch File MCP

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

Patch File MCP について

Patch File MCPは、AIエージェント向けにSEARCH/REPLACEブロックでファイルを部分編集するMCPサーバーです。1回のリクエストで複数箇所を変更でき、一致の一意性とアクセス可能なディレクトリを検証します。

主な機能

  1. 01ブロック形式のファイルパッチ適用
  2. 021回のリクエストで複数箇所を編集
  3. 03検索テキストの一意性を検証
  4. 04アクセス可能なディレクトリを制限

活用シーン

  1. 01プロジェクトファイルの部分編集
  2. 021回の呼び出しで複数のコード箇所を変更
  3. 03誤った一致や未許可パスへの変更を回避

MCP 対応

SEARCH/REPLACEブロックでファイルを編集する`patch_file`ツールをクライアントに提供します。ファイル操作は許可されたディレクトリ内に制限されます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Patch File MCP

ブロック形式を使用して既存のファイルにパッチを適用する MCP サーバーです。AI エージェント(Claude など)が、プロジェクト内のファイルを正確に変更できます。

概要

Patch File MCP は、ブロック形式のパッチを適用してファイルを変更するシンプルな方法を提供します。主なメリットは次のとおりです。

  • ファイル全体を書き換えずに、特定の部分だけを対象に変更できます
  • 1 回のリクエストで、同じファイルに複数のパッチを適用できます
  • テキストの完全一致と一意性の検証により、安全性を確保します
  • ほとんどのファイル編集タスクにおいて、desktop-commander の edit_block ツールより優れた代替手段です

インストール

uvx を使用する

この方法では、uv Python パッケージマネージャーに含まれる uvx を使用して、サーバーを永続的にインストールせずに実行します。

前提条件

まだインストールしていない場合は、uv から uvx をインストールしてください。

MCP クライアントを設定する(Claude Desktop、Cursor など)

以下の設定を既存の設定ファイル(例:claude_desktop_config.json)に統合してください。

{
  "mcpServers": {
    "patch-file": {
      "command": "uvx",
      "args": [
        "patch-file-mcp",
        "--allowed-dir", "/Users/your-username/projects",
        "--allowed-dir", "/Users/your-username/Documents/code"
      ]
    }
  }
}

注: /Users/your-username を、ご自身のプロジェクトおよびコードのディレクトリへの実際のパスに置き換えてください。

ソースからインストールする
前提条件
  • Python 3.11 以降
  • Pip パッケージマネージャー
リポジトリをクローンする
git clone https://github.com/your-username/patch-file-mcp.git
cd patch-file-mcp
python -m venv venv
source venv/bin/activate
pip install -e .
MCP クライアントを設定する(Claude Desktop、Cursor など)

以下の設定を既存の設定ファイル(例:claude_desktop_config.json)に統合してください。

{
  "mcpServers": {
    "patch-file": {
      "command": "path/to/your/venv/bin/patch-file-mcp",
      "args": [
        "--allowed-dir", "/Users/your-username/projects",
        "--allowed-dir", "/Users/your-username/Documents/code"
      ]
    }
  }
}

注: /Users/your-username を、ご自身のプロジェクトおよびコードのディレクトリへの実際のパスに置き換えてください。

引数

--allowed-dir 引数は、サーバーがアクセスできるディレクトリを指定するために使用します。複数回指定して、複数のディレクトリへのアクセスを許可できます。許可されたディレクトリ内のすべてのディレクトリにもアクセスできます。 この引数は省略可能です。指定しない場合、サーバーがアクセスできるのは、サーバーを実行しているユーザーのホームディレクトリのみです。

使用方法

MCP サーバーは、指定した設定に基づいてクライアント(例:Claude Desktop)が起動します。サーバーを手動で起動する必要はありません。

ツール

Patch File MCP は、主なツールを 1 つ提供します。

patch_file

ブロック形式のパッチ/編集を適用してファイルを更新します。

patch_file(file_path: str, patch_content: str)
  • file_path:パッチを適用するファイルへのパス。
  • patch_content:SEARCH/REPLACE マーカーを使用したブロック形式で、ファイル内から検索して置換する内容。複数のブロックに対応しています。

パッチの内容は、次の形式にする必要があります。

<<<<<<< SEARCH
Text to find in the file
=======
Text to replace it with
>>>>>>> REPLACE

1 回のリクエストに、複数の検索・置換ブロックを含めることができます。

<<<<<<< SEARCH
First text to find
=======
First replacement
>>>>>>> REPLACE
<<<<<<< SEARCH
Second text to find
=======
Second replacement
>>>>>>> REPLACE

このツールは、変更対象のセクションが正しいことを確認するため、各検索テキストがファイル内にちょうど 1 回だけ出現することを検証します。検索テキストが複数回出現する場合や見つからない場合は、エラーを報告します。

ワークフローの例

  1. プロジェクト内のファイルの変更について、Claude との会話を開始します
  2. Claude が、希望する変更を行うブロック形式のパッチを生成します
  3. Claude が patch_file を使用して、ファイルに変更を適用します
  4. パッチの適用に失敗した場合、Claude が問題の解決に役立つ詳細なエラー情報を提示します

セキュリティに関する考慮事項

  • ファイル操作はすべて、許可されたディレクトリに制限されます
  • 正しい箇所を対象にするため、検索テキストはファイル内にちょうど 1 回だけ出現する必要があります
  • 詳細なエラー報告により、問題を特定して修正できます
  • 各パッチ操作は、適用前に検証されます

類似ツールと比べたメリット

  • 1 回の操作で複数のブロックに対応:1 回の呼び出しで複数の変更を適用できます
  • 安全性チェック:完全一致によって、正しいセクションが変更されることを確認します
  • 詳細なエラー:パッチを適用できない場合に、明確なフィードバックを提供します

依存関係

  • fastmcp (>=2.2.0, <3.0.0)

ライセンス

MIT

コメント

MCP は初めてですか?

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

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