Skip to main content
Glama
cswkim

Discogs MCP Server

by cswkim

delete_user_collection_folder

Remove an empty folder from a user's Discogs collection by specifying the username and folder ID. Ensure the folder is vacant before deletion.

Instructions

Delete a folder from a user's collection. A folder must be empty before it can be deleted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
folder_idYes
usernameYes

Implementation Reference

  • The MCP Tool object defining the 'delete_user_collection_folder' tool, including its execute handler which delegates to UserService.collection.deleteFolder
    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); } }, };
  • Core implementation of the deleteFolder method in UserCollectionService, performing the Discogs API DELETE request to delete the 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)}`); } }
  • Zod schema for the input parameters of the delete_user_collection_folder tool (username and folder_id)
    export const UserCollectionFolderParamsSchema = UsernameInputSchema.merge(FolderIdParamSchema());
  • Registration of the delete_user_collection_folder tool with the FastMCP server
    server.addTool(deleteUserCollectionFolderTool);
  • Function that registers all user collection tools, including deleteUserCollectionFolderTool, to the MCP 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); }

Other Tools

Related Tools

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/cswkim/discogs-mcp-server'

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