Skip to main content
Glama
cswkim

Discogs MCP Server

by cswkim

edit_user_collection_folder

Edit metadata for a user's Discogs collection folder, excluding folders 0 and 1. Manage folder details like name changes efficiently.

Instructions

Edit a folder's metadata. Folders 0 and 1 cannot be renamed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
folder_idYes
nameNo
usernameYes

Implementation Reference

  • MCP tool handler for 'edit_user_collection_folder'. Creates UserService and calls collection.editFolder(args). Returns JSON string of the edited folder.
    export const editUserCollectionFolderTool: Tool< FastMCPSessionAuth, typeof UserCollectionFolderEditParamsSchema > = { name: 'edit_user_collection_folder', description: `Edit a folder's metadata. Folders 0 and 1 cannot be renamed.`, parameters: UserCollectionFolderEditParamsSchema, execute: async (args) => { try { const userService = new UserService(); const folder = await userService.collection.editFolder(args); return JSON.stringify(folder); } catch (error) { throw formatDiscogsError(error); } }, };
  • Zod schemas for user collection folder parameters, including UserCollectionFolderEditParamsSchema used by the tool.
    export const UserCollectionFolderCreateParamsSchema = UsernameInputSchema.extend({ name: z.string().optional(), }); export const UserCollectionFolderEditParamsSchema = UserCollectionFolderCreateParamsSchema.merge(FolderIdParamSchema()); /** * Schema for a Discogs user collection folder get/delete parameters */ export const UserCollectionFolderParamsSchema = UsernameInputSchema.merge(FolderIdParamSchema());
  • Implementation of editFolder in UserCollectionService that makes POST request to Discogs API endpoint /${username}/collection/folders/${folder_id} with body containing name.
    async editFolder({ username, folder_id, ...body }: UserCollectionFolderEditParams): Promise<UserCollectionFolder> { try { const response = await this.request<UserCollectionFolder>( `/${username}/collection/folders/${folder_id}`, { method: 'POST', body, }, ); // Validate the response using Zod schema const validatedResponse = UserCollectionFolderSchema.parse(response); return validatedResponse; } catch (error) { if (isDiscogsError(error)) { throw error; } // For unexpected errors, wrap them throw new Error(`Failed to edit folder: ${String(error)}`); } }
  • Tool registration call within registerUserCollectionTools function.
    server.addTool(editUserCollectionFolderTool);
  • Top-level registration of user collection tools module containing the edit_user_collection_folder tool.
    registerUserCollectionTools(server);

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