Skip to main content
Glama
cswkim

Discogs MCP Server

by cswkim

get_user_collection_folder

Retrieve metadata for a specific folder in a user's Discogs music collection by providing the username and folder ID, enabling efficient catalog management.

Instructions

Retrieve metadata about a folder in a user's collection

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
folder_idYes
usernameYes

Implementation Reference

  • MCP tool handler for 'get_user_collection_folder'. Creates UserService instance and calls collection.getFolder(args), returning JSON stringified response or formatted error.
    export const getUserCollectionFolderTool: Tool< FastMCPSessionAuth, typeof UserCollectionFolderParamsSchema > = { name: 'get_user_collection_folder', description: `Retrieve metadata about a folder in a user's collection`, parameters: UserCollectionFolderParamsSchema, execute: async (args) => { try { const userService = new UserService(); const folder = await userService.collection.getFolder(args); return JSON.stringify(folder); } catch (error) { throw formatDiscogsError(error); } }, };
  • Input schema for the tool: merges UsernameInputSchema with FolderIdParamSchema (which defines folder_id as non-negative integer).
    export const UserCollectionFolderParamsSchema = UsernameInputSchema.merge(FolderIdParamSchema());
  • Registers the getUserCollectionFolderTool (line 323) on the FastMCP server instance as part of user collection tools.
    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 implementation in UserCollectionService.getFolder: performs authenticated GET request to Discogs API endpoint /users/{username}/collection/folders/{folder_id}, validates response with UserCollectionFolderSchema.
    async getFolder({ username, folder_id, }: UserCollectionFolderParams): Promise<UserCollectionFolder> { try { const response = await this.request<UserCollectionFolder>( `/${username}/collection/folders/${folder_id}`, ); const validatedResponse = UserCollectionFolderSchema.parse(response); return validatedResponse; } catch (error) { if (isDiscogsError(error)) { throw error; } throw new Error(`Failed to get folder: ${String(error)}`); } }

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