quick_replace
Perform simple find and replace operations across a file using literal text, supporting bulk or single replacements without regex. Streamline file edits with precision.
Instructions
Simple find and replace across a file without regex
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | Replace all occurrences (false = first only) | |
| file | Yes | File to edit | |
| find | Yes | Text to find (literal, not regex) | |
| replace | Yes | Text to replace with |
Implementation Reference
- src/index.ts:674-698 (handler)The handler function for the 'quick_replace' tool. It validates the file exists, escapes find/replace strings to prevent regex interpretation, builds a sed substitution command (global or first match), executes sed with backup (.bak), and returns a confirmation 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:118-143 (registration)Registration of the 'quick_replace' tool in the tools list for ListToolsRequestSchema, including the tool 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 the 'quick_replace' tool, defining parameters: file (string), find (string), replace (string), all (boolean, default true).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'] }