Skip to main content
Glama
saksham0712

MCP Complete Implementation Guide

by saksham0712

write_file

Write content to a file at a specified path for data storage, configuration management, or output generation.

Instructions

Write content to a file

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYesThe content to write to the file
pathYesThe path to the file to write

Implementation Reference

  • The writeFile handler method executes the write_file tool logic: writes content to the specified file path using fs.writeFileSync equivalent (promises), handles errors, and returns MCP-formatted TextContent success message.
    async writeFile(filePath, content) {
      try {
        await fs.writeFile(filePath, content, 'utf-8');
        return {
          content: [
            {
              type: 'text',
              text: `Successfully wrote to ${filePath}`,
            },
          ],
        };
      } catch (error) {
        throw new Error(`Failed to write file: ${error.message}`);
      }
    }
  • The input schema definition for the write_file tool, registered in the ListToolsRequestSchema handler, specifying path and content as required string parameters.
    {
      name: 'write_file',
      description: 'Write content to a file',
      inputSchema: {
        type: 'object',
        properties: {
          path: {
            type: 'string',
            description: 'The path to the file to write',
          },
          content: {
            type: 'string',
            description: 'The content to write to the file',
          },
        },
        required: ['path', 'content'],
      },
    },
  • The write_file handler method executes the tool logic: creates parent directories if needed, writes content using Path.write_text, returns MCP TextContent success or raises error.
    async def write_file(self, file_path: str, content: str) -> list[types.TextContent]:
        """Write content to file"""
        try:
            path = Path(file_path)
            path.parent.mkdir(parents=True, exist_ok=True)
            path.write_text(content, encoding="utf-8")
            return [types.TextContent(type="text", text=f"Successfully wrote to {file_path}")]
        except Exception as error:
            raise Exception(f"Failed to write file: {str(error)}")
  • The Tool object definition for write_file including inputSchema, used in the list_tools handler for registration.
    types.Tool(
        name="write_file",
        description="Write content to a file",
        inputSchema={
            "type": "object",
            "properties": {
                "path": {
                    "type": "string",
                    "description": "The path to the file to write",
                },
                "content": {
                    "type": "string",
                    "description": "The content to write to the file",
                },
            },
            "required": ["path", "content"],
        },
    ),
  • Direct implementation of write_file in the OpenAI proxy's tool execution switch, using fs.writeFile and returning success object.
    case 'write_file':
      await fs.writeFile(args.path, args.content, 'utf-8');
      return { success: true, message: `Successfully wrote to ${args.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/saksham0712/MCP'

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