create_file
Create new Markdown files with specified content and file paths for structured document management in the Markdown Editor MCP Server.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| content | No |
Implementation Reference
- Core handler function that executes the create_file tool logic: resolves absolute path within base directory, creates parent directories if needed, writes the provided content to the file, and returns a dictionary with success status, path, and size or error message.async def create_file(self, path: str, content: str = "") -> Dict[str, Any]: """Create file""" try: abs_path = self._get_abs_path(path) # Create parent directories if they don't exist os.makedirs(os.path.dirname(abs_path), exist_ok=True) with open(abs_path, 'w', encoding='utf-8') as f: f.write(content) return {"success": True, "path": path, "size": len(content)} except Exception as e: return {"error": str(e)}
- src/markdown_editor/server.py:434-461 (registration)Registers the create_file tool in the MCP server's list_tools() function, defining its metadata, input schema (path required, content optional), and output schema (success, path, size).Tool( name="create_file", title="Create File", inputSchema={ "type": "object", "properties": { "path": { "type": "string", "examples": ["./new_document.md", "./notes/todo.md"] }, "content": { "type": "string", "default": "", "examples": ["# New Document\n\nContent here", ""] } }, "required": ["path"], "additionalProperties": False }, outputSchema={ "type": "object", "properties": { "success": {"type": "boolean"}, "path": {"type": "string"}, "size": {"type": "integer"} } } ),
- src/markdown_editor/server.py:529-531 (handler)Dispatch handler in the main call_tool function that invokes the create_file function with arguments and formats the MCP response.elif name == "create_file": res = await create_file(arguments["path"], arguments.get("content", "")) return {"content": [TextContent(type="text", text="File created")], "structuredContent": res, "isError": "error" in res}
- Thin wrapper function that delegates to the singleton FileOperationsTool instance's create_file method, used by the server dispatcher.async def create_file(path: str, content: str = ""): return await _instance.create_file(path, content)
- Creates the global singleton instance of FileOperationsTool used by all wrapper functions.# Global instance _instance = FileOperationsTool()