delete_release_from_user_collection_folder
Remove a specific music release instance from a Discogs user's collection folder using folder ID, release ID, and instance ID parameters.
Instructions
Remove an instance of a release from a user's collection folder. The folder_id must be non-zero.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | ||
| folder_id | Yes | ||
| release_id | Yes | ||
| instance_id | Yes |
Implementation Reference
- src/tools/userCollection.ts:65-82 (handler)MCP tool definition and handler execute function that instantiates UserService and calls deleteReleaseFromFolder on the collection submodule.export const deleteReleaseFromUserCollectionFolderTool: Tool< FastMCPSessionAuth, typeof UserCollectionReleaseDeletedParamsSchema > = { name: 'delete_release_from_user_collection_folder', description: `Remove an instance of a release from a user's collection folder. The folder_id must be non-zero.`, parameters: UserCollectionReleaseDeletedParamsSchema, execute: async (args) => { try { const userService = new UserService(); await userService.collection.deleteReleaseFromFolder(args); return 'Release deleted successfully'; } catch (error) { throw formatDiscogsError(error); } }, };
- src/types/user/collection.ts:121-124 (schema)Zod input schema for the tool parameters: extends folder release params with instance_id. folder_id min 1.export const UserCollectionReleaseDeletedParamsSchema = UserCollectionFolderReleaseParamsSchema.extend({ instance_id: z.number().int(), });
- src/tools/userCollection.ts:331-331 (registration)Registration of the tool on the FastMCP server instance within registerUserCollectionTools function.server.addTool(deleteReleaseFromUserCollectionFolderTool);
- Core helper function in UserCollectionService that performs the Discogs API DELETE request to remove the release instance from the folder.async deleteReleaseFromFolder({ username, folder_id, release_id, instance_id, }: UserCollectionReleaseDeletedParams): Promise<void> { try { await this.request<void>( `/${username}/collection/folders/${folder_id}/releases/${release_id}/instances/${instance_id}`, { method: 'DELETE', }, ); } catch (error) { if (isDiscogsError(error)) { throw error; } throw new Error(`Failed to delete release from folder: ${String(error)}`); } }
- src/tools/index.ts:20-20 (registration)Top-level registration call within registerTools that invokes the group registration including this tool.registerUserCollectionTools(server);