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 implementation of the create_file tool handler. Validates path safety, creates parent directories if needed, writes content to the file, and returns success or error status.async def create_file(self, path: str, content: str = "") -> Dict[str, Any]: """Create file""" # Validate path safety error = self._validate_path(path) if error: return {"error": error} try: abs_path = self._get_abs_path(path) # Create parent directories if they don't exist parent_dir = os.path.dirname(abs_path) if parent_dir: os.makedirs(parent_dir, 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)}
- Defines the input schema (path: string required, content: string optional) and output schema (success, path, size) for the create_file tool in the MCP server tool list.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:525-531 (registration)Registers and dispatches the create_file tool call by invoking the imported create_file function and wrapping the result in CallToolResult.elif name == "create_file": res = await create_file(arguments["path"], arguments.get("content", "")) return CallToolResult( content=[TextContent(type="text", text="File created")], structuredContent=res, isError="error" in res, )
- src/markdown_editor/tools/file_ops.py:121-122 (registration)Global async wrapper function that delegates to the FileOperationsTool instance's create_file method, used by the server dispatch.async def create_file(path: str, content: str = ""): return await _instance.create_file(path, content)