Skip to main content
Glama

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
NameRequiredDescriptionDefault
pathYes
contentNo

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)}
  • 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"} } } ),
  • 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()

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/KazKozDev/markdown-editor-mcp-server'

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