Skip to main content
Glama
cswkim

Discogs MCP Server

by cswkim

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
NameRequiredDescriptionDefault
usernameYes
folder_idYes

Implementation Reference

  • 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);
        }
      },
    };
  • Zod schema for the tool parameters: merges UsernameInputSchema with FolderIdParamSchema (folder_id: number.int().min(0)).
    export const UserCollectionFolderParamsSchema = UsernameInputSchema.merge(FolderIdParamSchema());
  • 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)}`);
      }
    }

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