get_user_collection_custom_fields
Retrieve user-defined custom fields for organizing Discogs music collection items with personalized notes and metadata.
Instructions
Retrieve a list of user-defined collection notes fields. These fields are available on every release in the collection.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
Implementation Reference
- src/tools/userCollection.ts:175-192 (handler)The handler (execute function) for the MCP tool 'get_user_collection_custom_fields', which invokes UserService to fetch the user's collection custom fields.export const getUserCollectionCustomFieldsTool: Tool< FastMCPSessionAuth, typeof UsernameInputSchema > = { name: 'get_user_collection_custom_fields', description: `Retrieve a list of user-defined collection notes fields. These fields are available on every release in the collection.`, parameters: UsernameInputSchema, execute: async (args) => { try { const userService = new UserService(); const customFields = await userService.collection.getCustomFields(args); return JSON.stringify(customFields); } catch (error) { throw formatDiscogsError(error); } }, };
- src/types/common.ts:123-125 (schema)Zod schema defining the input parameters for the tool: an object with a required 'username' string.export const UsernameInputSchema = z.object({ username: z.string().min(1, 'username is required'), });
- src/tools/userCollection.ts:320-335 (registration)Registers the 'getUserCollectionCustomFieldsTool' (line 332) 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); }
- src/tools/index.ts:15-24 (registration)Top-level registration function that calls registerUserCollectionTools(server), thereby registering the tool.export function registerTools(server: FastMCP): void { registerDatabaseTools(server); registerMarketplaceTools(server); registerInventoryExportTool(server); registerUserIdentityTools(server); registerUserCollectionTools(server); registerUserWantlistTools(server); registerUserListsTools(server); registerMediaTools(server); }