Implement 'Delete file/directory' functionality

The MCP server now supports safe deletion of files and directories from
the Obsidian vault. A required confirmation parameter prevents accidental
deletions.
This commit is contained in:
Nando Thomassen
2025-03-29 22:29:01 +01:00
parent a86a6de1f4
commit 3f22521b01
4 changed files with 63 additions and 0 deletions

View File

@@ -140,6 +140,24 @@ class Obsidian():
return self._safe_call(call_fn)
def delete_file(self, filepath: str) -> Any:
"""Delete a file or directory from the vault.
Args:
filepath: Path to the file to delete (relative to vault root)
Returns:
None on success
"""
url = f"{self.get_base_url()}/vault/{filepath}"
def call_fn():
response = requests.delete(url, headers=self._get_headers(), verify=self.verify_ssl, timeout=self.timeout)
response.raise_for_status()
return None
return self._safe_call(call_fn)
def search_json(self, query: dict) -> Any:
url = f"{self.get_base_url()}/search/"