Skip to main content
Glama
cswkim

Discogs MCP Server

by cswkim

add_release_to_user_collection_folder

Add a music release to a specific folder in your Discogs collection. Organize your vinyl records and CDs by categorizing them into designated collection folders.

Instructions

Add a release to a folder in a user's collection. The folder_id must be non-zero.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
usernameYes
folder_idYes
release_idYes

Implementation Reference

  • MCP tool handler: defines the tool with name 'add_release_to_user_collection_folder', schema, description, and execute function that delegates to UserService.collection.addReleaseToFolder
    export const addReleaseToUserCollectionFolderTool: Tool< FastMCPSessionAuth, typeof UserCollectionFolderReleaseParamsSchema > = { name: 'add_release_to_user_collection_folder', description: `Add a release to a folder in a user's collection. The folder_id must be non-zero.`, parameters: UserCollectionFolderReleaseParamsSchema, execute: async (args) => { try { const userService = new UserService(); const release = await userService.collection.addReleaseToFolder(args); return JSON.stringify(release); } catch (error) { throw formatDiscogsError(error); } }, };
  • Input schema: UserCollectionFolderReleaseParamsSchema defining username, folder_id (min 1), release_id
    export const UserCollectionFolderReleaseParamsSchema = UsernameInputSchema.merge( FolderIdParamSchema(1).merge(ReleaseIdParamSchema), );
  • Registration: registerUserCollectionTools function adds the tool to the FastMCP server instance
    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); }
  • Core logic helper: UserCollectionService.addReleaseToFolder performs the POST request to Discogs API to add the release to the folder and validates response
    async addReleaseToFolder({ username, folder_id, release_id, }: UserCollectionFolderReleaseParams): Promise<UserCollectionReleaseAdded> { try { const response = await this.request<UserCollectionReleaseAdded>( `/${username}/collection/folders/${folder_id}/releases/${release_id}`, { method: 'POST', }, ); const validatedResponse = UserCollectionReleaseAddedSchema.parse(response); return validatedResponse; } catch (error) { if (isDiscogsError(error)) { throw error; } throw new Error(`Failed to add release to 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