Skip to main content
Glama
StrawHatAI

Claude Desktop Commander MCP

by StrawHatAI

write_file

Replace entire file contents for major edits or when incremental changes fail, overwriting existing files within permitted directories.

Instructions

Completely replace file contents. Best for large changes (>20% of file) or when edit_block fails. Use with caution as it will overwrite existing files. Only works within allowed directories.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
contentYes

Implementation Reference

  • Core handler function that validates the file path and writes the provided content to the file using Node.js fs.promises.writeFile.
    export async function writeFile(filePath: string, content: string): Promise<void> {
        const validPath = await validatePath(filePath);
        await fs.writeFile(validPath, content, "utf-8");
    }
  • Zod schema defining the input arguments for the write_file tool: path (string) and content (string).
    export const WriteFileArgsSchema = z.object({
      path: z.string(),
      content: z.string(),
    });
  • src/server.ts:142-148 (registration)
    Tool registration in the MCP server's ListTools response, including name, description, and input schema.
    {
      name: "write_file",
      description:
        "Completely replace file contents. Best for large changes (>20% of file) or when edit_block fails. " +
        "Use with caution as it will overwrite existing files. Only works within allowed directories.",
      inputSchema: zodToJsonSchema(WriteFileArgsSchema),
    },
  • Dispatch handler in the MCP server's CallToolRequest handler that parses arguments, calls the writeFile function, and returns success response.
    case "write_file": {
      const parsed = WriteFileArgsSchema.parse(args);
      await writeFile(parsed.path, parsed.content);
      return {
        content: [{ type: "text", text: `Successfully wrote to ${parsed.path}` }],
      };
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/StrawHatAI/claude-dev-tools'

If you have feedback or need assistance with the MCP directory API, please join our Discord server