rename_folder
Change the name of an email folder in your Mail MCP Server to better organize your messages. Specify the current folder name and the new desired name.
Instructions
Rename an email folder
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| old_name | Yes | Current folder name | |
| new_name | Yes | New folder name |
Implementation Reference
- src/mail_mcp/folders/manager.py:280-327 (handler)The FolderManager.rename_folder method executes the IMAP RENAME command after validating folder names and checking for existence.
def rename_folder(self, old_name: str, new_name: str) -> bool: """ Rename a folder. Args: old_name: Current folder name new_name: New folder name Returns: True if successful Raises: InvalidFolderNameError: If either name is invalid FolderNotFoundError: If source folder does not exist FolderExistsError: If destination folder already exists FolderError: If operation fails """ self._validate_folder_name(old_name) self._validate_folder_name(new_name) if old_name == new_name: raise InvalidFolderNameError("Source and destination names must be different") try: response = self._conn.rename(old_name, new_name) status = response[0] if status not in ("OK", b"OK"): error_msg = ( response[1][0].decode("utf-8", errors="replace") if response[1] else "Unknown error" ) if "does not exist" in error_msg.lower() or "not found" in error_msg.lower(): raise FolderNotFoundError(f"Folder '{old_name}' does not exist") if "already exists" in error_msg.lower(): raise FolderExistsError(f"Folder '{new_name}' already exists") raise FolderError(f"Failed to rename folder: {error_msg}") return True except FolderError: raise except Exception as e: raise FolderError(f"Failed to rename folder: {str(e)}")