delete_user_collection_folder
Remove empty folders from a Discogs user's music collection to organize and manage their catalog effectively.
Instructions
Delete a folder from a user's collection. A folder must be empty before it can be deleted.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | ||
| folder_id | Yes |
Implementation Reference
- src/tools/userCollection.ts:87-104 (handler)Defines the MCP tool 'delete_user_collection_folder' including its handler (execute function) that instantiates UserService and calls collection.deleteFolder(args).export const deleteUserCollectionFolderTool: Tool< FastMCPSessionAuth, typeof UserCollectionFolderParamsSchema > = { name: 'delete_user_collection_folder', description: `Delete a folder from a user's collection. A folder must be empty before it can be deleted.`, parameters: UserCollectionFolderParamsSchema, execute: async (args) => { try { const userService = new UserService(); await userService.collection.deleteFolder(args); return 'Folder deleted successfully'; } catch (error) { throw formatDiscogsError(error); } }, };
- src/types/user/collection.ts:76-76 (schema)Zod schema for the tool parameters: merges UsernameInputSchema with FolderIdParamSchema (folder_id: number.int().min(0)).export const UserCollectionFolderParamsSchema = UsernameInputSchema.merge(FolderIdParamSchema());
- src/tools/userCollection.ts:320-335 (registration)Registers the deleteUserCollectionFolderTool (line 325) along with other user collection tools on the FastMCP server.export function registerUserCollectionTools(server: FastMCP): void { server.addTool(getUserCollectionFoldersTool); server.addTool(createUserCollectionFolderTool); server.addTool(getUserCollectionFolderTool); server.addTool(editUserCollectionFolderTool); server.addTool(deleteUserCollectionFolderTool); server.addTool(findReleaseInUserCollectionTool); server.addTool(getUserCollectionItemsTool); server.addTool(addReleaseToUserCollectionFolderTool); server.addTool(rateReleaseInUserCollectionTool); server.addTool(moveReleaseInUserCollectionTool); server.addTool(deleteReleaseFromUserCollectionFolderTool); server.addTool(getUserCollectionCustomFieldsTool); server.addTool(editUserCollectionCustomFieldValueTool); server.addTool(getUserCollectionValueTool); }
- UserCollectionService.deleteFolder method: performs the core HTTP DELETE request to the Discogs API endpoint for deleting a user's collection folder.async deleteFolder({ username, folder_id }: UserCollectionFolderParams): Promise<void> { try { await this.request<void>(`/${username}/collection/folders/${folder_id}`, { method: 'DELETE', }); } catch (error) { if (isDiscogsError(error)) { throw error; } // For unexpected errors, wrap them throw new Error(`Failed to delete folder: ${String(error)}`); } }