Skip to main content
Glama
cswkim

Discogs MCP Server

by cswkim

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

Implementation Reference

  • 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);
        }
      },
    };
  • 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'),
    });
  • 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);
    }
  • 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);
    }

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