MCP Diff Editor
by samihalawa
A powerful MCP-integrated diff editor for modifying files with preview capabilities. It allows users to edit files through a web interface with real-time diff preview.
View on GitHub
Last updated: N/A
MCP Diff Editor
A powerful MCP-integrated diff editor for modifying files with preview capabilities.
Features
- Edit files through a web interface with real-time diff preview
- Apply changes using unified diff format or complete file replacement
- Create backups automatically before making changes
- Restore from previous backups
- View examples of common diff operations
- Security controls to prevent unauthorized file access
Usage as MCP
The MCP diff editor provides the following methods:
start
Start the diff editor server
stop
Stop the diff editor server
status
Check server status
edit_file
Open the diff editor for a specific file
- Parameters:
file_path
: Path to the file to edit
apply_diff
Apply a diff to a file
- Parameters:
file_path
: Path to the file to modifydiff_content
: Diff content to apply
preview_diff
Preview a diff without applying it
- Parameters:
file_path
: Path to the file to preview changes fordiff_content
: Diff content to preview
Example Usage
const mcp = require('mcp');
const diffEditor = mcp.get('diff_editor');
// Start the server
await diffEditor.start();
// Open the editor for a specific file
const result = await diffEditor.edit_file({
file_path: '/path/to/your/file.txt'
});
// Get the URL to access the editor
console.log(result.url);
// Apply a diff to a file
await diffEditor.apply_diff({
file_path: '/path/to/your/file.txt',
diff_content: `@@ -5,7 +5,7 @@
<title>Sample Page</title>
</head>
<body>
- <h1>Welcome to our website</h1>
+ <h1>Welcome to our awesome website!</h1>
<p>Thanks for visiting us.</p>
</body>
</html>`
});
Environment Variables
PORT
: HTTP port (default: 3009)MCP_FILE_DIR
: Directory to use as base for file operations (default: current directory)MCP_ALLOW_ANY_PATH
: Set to 'true' to allow accessing files outside the working directory
Installation
This module is intended to be used as an MCP in the /Users/samihalawa/Documents/MCP
directory and should be automatically available in the MCP interface after installation.