create_directory
Create directories for organizing Markdown files in the Markdown Editor MCP Server. Specify a path to establish folders that structure your document hierarchy.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Implementation Reference
- Core implementation of the create_directory tool: validates path safety using _validate_path, resolves absolute path, creates directory with os.makedirs (exist_ok=True), returns success dict or error.async def create_directory(self, path: str) -> Dict[str, Any]: """Create directory""" # Validate path safety error = self._validate_path(path) if error: return {"error": error} try: abs_path = self._get_abs_path(path) os.makedirs(abs_path, exist_ok=True) return {"success": True, "path": path} except Exception as e: return {"error": str(e)}
- src/markdown_editor/server.py:444-465 (registration)Registers the create_directory tool in the MCP server's list_tools() handler, defining name, title, description (implied), inputSchema (path: string required), and outputSchema.Tool( name="create_directory", title="Create Directory", inputSchema={ "type": "object", "properties": { "path": { "type": "string", "examples": ["./new_folder", "./docs/archive"], } }, "required": ["path"], "additionalProperties": False, }, outputSchema={ "type": "object", "properties": { "success": {"type": "boolean"}, "path": {"type": "string"}, }, }, ),
- JSON schema definitions for create_directory tool inputs (object with required 'path' string) and outputs (object with 'success' boolean and 'path' string).inputSchema={ "type": "object", "properties": { "path": { "type": "string", "examples": ["./new_folder", "./docs/archive"], } }, "required": ["path"], "additionalProperties": False, }, outputSchema={ "type": "object", "properties": { "success": {"type": "boolean"}, "path": {"type": "string"}, }, },
- Standalone async wrapper function that delegates to the singleton FileOperationsTool instance's create_directory method.async def create_directory(path: str): return await _instance.create_directory(path)
- Dispatch logic in MCP call_tool handler: calls the create_directory function and wraps result in CallToolResult with success message.elif name == "create_directory": res = await create_directory(arguments["path"]) return CallToolResult( content=[TextContent(type="text", text="Directory created")], structuredContent=res, isError="error" in res, )