quick_replace
Find and replace text in files using literal string matching. Replace all occurrences or just the first instance without regular expressions.
Instructions
Simple find and replace across a file without regex
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | File to edit | |
| find | Yes | Text to find (literal, not regex) | |
| replace | Yes | Text to replace with | |
| all | No | Replace all occurrences (false = first only) |
Implementation Reference
- src/index.ts:674-698 (handler)Handler function for 'quick_replace' tool. Validates input file existence, escapes find and replace strings to treat them literally (no regex), constructs sed command for replacement (all or first occurrence), executes it with backup, and returns success message.case 'quick_replace': { const { file, find, replace, all = true } = args; if (!existsSync(file)) { throw new Error(`File not found: ${file}`); } // Escape special characters for sed const escapedFind = find.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); const escapedReplace = replace.replace(/[&/\\]/g, '\\$&'); const pattern = all ? `s/${escapedFind}/${escapedReplace}/g` : `s/${escapedFind}/${escapedReplace}/`; const sedCmd = `sed -i.bak '${pattern}' '${file}'`; await execAsync(sedCmd); return { content: [{ type: 'text', text: `Replaced "${find}" with "${replace}" in ${file}` }] }; }
- src/index.ts:117-143 (registration)Registration of the 'quick_replace' tool in the MCP server tools list, including name, description, and input schema definition.{ name: 'quick_replace', description: 'Simple find and replace across a file without regex', inputSchema: { type: 'object', properties: { file: { type: 'string', description: 'File to edit' }, find: { type: 'string', description: 'Text to find (literal, not regex)' }, replace: { type: 'string', description: 'Text to replace with' }, all: { type: 'boolean', default: true, description: 'Replace all occurrences (false = first only)' } }, required: ['file', 'find', 'replace'] } },
- src/index.ts:120-142 (schema)Input schema for 'quick_replace' tool defining parameters: file (string), find (string), replace (string), all (boolean, default true). Required: file, find, replace.inputSchema: { type: 'object', properties: { file: { type: 'string', description: 'File to edit' }, find: { type: 'string', description: 'Text to find (literal, not regex)' }, replace: { type: 'string', description: 'Text to replace with' }, all: { type: 'boolean', default: true, description: 'Replace all occurrences (false = first only)' } }, required: ['file', 'find', 'replace'] }
- src/index.ts:409-424 (helper)Help documentation string for the quick_replace tool, including description and usage examples.quick_replace: `quick_replace - Simple find and replace ===================================== Literal text replacement without regex. Examples: // Replace all occurrences quick_replace({ file: "doc.txt", find: "Version 1.0", replace: "Version 2.0" }) // Replace only first occurrence quick_replace({ file: "config.ini", find: "debug=true", replace: "debug=false", all: false }) // Replace with special characters quick_replace({ file: "data.csv", find: "$price", replace: "\\$19.99" }) Note: Special regex characters are automatically escaped. `,