Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FastApply MCP Serverdry run adding error handling to parse_config in src/utils.py"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FastApply MCP Server
A streamlined Model Context Protocol server for efficient AI-powered code editing using FastApply. Inspired by opencode-fast-apply's simplicity and partial editing approach.
Overview
FastApply MCP Server provides intelligent code editing through partial file editing, achieving 80-98% token savings compared to full-file approaches. The server uses smart matching to locate and replace code sections automatically, making it ideal for editing large files efficiently.
Key Features
Partial File Editing: Edit only the sections you need (50-500 lines recommended)
Smart Matching: Automatic exact and normalized whitespace matching
XML Safety: Built-in protection against prompt injection
Token Efficiency: 80-98% token savings vs full-file editing
Binary Detection: Automatic detection and rejection of binary files
Atomic Operations: Safe file writes with automatic rollback on failure
Clear Error Messages: Actionable suggestions for troubleshooting
Installation
Requirements
Python 3.13 or higher
FastApply-compatible server (LM Studio, Ollama, or OpenAI-compatible endpoint)
Using uvx (Recommended)
Run directly without installation:
Manual Installation
Configuration
Configure the server with just 3 environment variables:
That's it! No complex configuration needed.
MCP Integration
Claude Desktop
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Using uvx (Recommended)
Manual Installation
Other MCP Clients
The server implements the standard MCP protocol and works with any compatible client.
Tool: fast_apply_edit
The server provides a single, focused tool for efficient code editing.
Parameters
target_filepath (required): Path to the file to edit (relative or absolute)
original_code (required): The exact section of code to modify (50-500 lines recommended)
code_edit (required): The changes to apply
How It Works
Read the file to get current content
Extract the relevant section (50-500 lines with context)
Call FastApply API with partial content
Smart match finds the section in the full file
Replace the section atomically
Generate diff for verification
Example Usage
Lazy Edit Markers
Use ... existing code ... markers for unchanged sections:
This tells the AI to skip regenerating unchanged parts, making edits faster.
Token Efficiency
Partial editing provides massive token savings:
File Size | Full File | Partial (100 lines) | Savings |
100 lines | 2,500 tokens | 500 tokens | 80% |
500 lines | 12,500 tokens | 1,000 tokens | 92% |
1000 lines | 25,000 tokens | 1,500 tokens | 94% |
5000 lines | 125,000 tokens | 2,000 tokens | 98% |
Smart Matching
The tool uses a two-tier matching system:
1. Exact Match (Priority)
Finds exact string match in the file.
2. Normalized Match (Fallback)
Handles CRLF/LF differences automatically:
Normalizes
\r\n→\nNormalizes
\r→\nMatches whitespace-normalized content
3. Uniqueness Check
Ensures the section appears only once in the file to prevent ambiguous replacements.
XML Safety
Built-in protection against prompt injection:
All XML special characters (&, <, >, ", ') are automatically escaped and unescaped.
FastApply Backend Options
LM Studio
Install LM Studio from https://lmstudio.ai
Download a FastApply-compatible model
Start the local server (default: http://localhost:1234)
Configure
FAST_APPLY_URL=http://localhost:1234/v1
Ollama
Configure FAST_APPLY_URL=http://localhost:11434/v1
OpenAI or Custom Servers
Any OpenAI-compatible API works:
Security
Workspace Isolation: All operations confined to current working directory
Path Validation: Prevents directory traversal attacks
File Size Limits: 10MB default maximum
Binary Detection: Rejects binary files automatically
UTF-8 Validation: Ensures proper file encoding
Atomic Writes: Safe file operations with rollback
Error Handling
Clear, actionable error messages:
Troubleshooting
Connection Issues
Verify your FastApply server is running:
File Not Found
Use the tool only for existing files. For new files, use your MCP client's write tool.
Cannot Locate Section
Re-read the file to get current content
Ensure whitespace matches exactly (tabs vs spaces)
Provide more context to make the section unique
Whitespace Mismatch
The tool handles CRLF/LF differences automatically, but tabs vs spaces must match exactly.
Development
Project Structure
Code Quality
Design Philosophy
This implementation follows these principles:
Do one thing well - Focus on efficient file editing
Trust the client - MCP client handles undo, concurrency, etc.
Optimize for common case - Partial editing is 10x more efficient
Clear errors - Help users fix problems quickly
No premature optimization - Remove unused features
Performance
Original Approach (Full File)
Read: 5000 lines
Send to API: 125,000 tokens
Process: ~30 seconds
Cost: High
Simplified Approach (Partial)
Read: 5000 lines (send only 100)
Send to API: 2,000 tokens
Process: ~3 seconds
Cost: 98% cheaper
Contributing
Contributions are welcome! Please:
Fork the repository and create a feature branch
Write tests for new functionality
Ensure code meets quality standards
Submit a pull request with clear description
License
MIT License - see LICENSE file for details.
Acknowledgments
Inspiration: opencode-fast-apply for the partial editing approach
MCP Community: For the Model Context Protocol specification
FastApply: For the efficient code merging models
Support
GitHub Issues: Report bugs and request features
Discussions: Ask questions and share ideas
Documentation: See inline code comments for implementation details