get_label_releases
Retrieve releases associated with a specific label from the Discogs music database to explore catalog content and manage collections.
Instructions
Returns a list of Releases associated with the label
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| label_id | Yes | ||
| page | No | ||
| per_page | No | ||
| sort | No | ||
| sort_order | No |
Implementation Reference
- src/tools/database.ts:119-133 (handler)The tool object definition including the execute handler function that performs the core logic by calling LabelService.getReleases.export const getLabelReleasesTool: Tool<FastMCPSessionAuth, typeof LabelReleasesParamsSchema> = { name: 'get_label_releases', description: 'Returns a list of Releases associated with the label', parameters: LabelReleasesParamsSchema, execute: async (args) => { try { const labelService = new LabelService(); const labelReleases = await labelService.getReleases(args); return JSON.stringify(labelReleases); } catch (error) { throw formatDiscogsError(error); } }, };
- src/types/label.ts:57-60 (schema)Zod schema for input parameters of the get_label_releases tool, merging label ID and query params./** * Schema for label releases parameters */ export const LabelReleasesParamsSchema = LabelIdParamSchema.merge(QueryParamsSchema());
- src/tools/database.ts:264-264 (registration)Registration of the get_label_releases tool with the FastMCP server.server.addTool(getLabelReleasesTool);
- src/services/label.ts:48-63 (helper)Supporting method in LabelService that fetches releases for a label from the Discogs API, called by the tool handler.async getReleases({ label_id, ...params }: LabelReleasesParams): Promise<LabelReleases> { try { const response = await this.request<LabelReleases>(`/${label_id}/releases`, { params, }); const validatedResponse = LabelReleasesSchema.parse(response); return validatedResponse; } catch (error) { if (isDiscogsError(error)) { throw error; } throw new Error(`Failed to get label releases: ${String(error)}`); } }
- src/types/label.ts:9-11 (schema)Base schema for label ID parameter, merged into LabelReleasesParamsSchema.export const LabelIdParamSchema = z.object({ label_id: z.number(), });