get_master_release
Retrieve detailed information about a master release from Discogs by providing its master ID. This tool accesses the Discogs API to fetch comprehensive music catalog data for specific master releases.
Instructions
Get a master release
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| master_id | Yes |
Implementation Reference
- src/tools/database.ts:138-152 (handler)Definition and handler (execute function) for the 'get_master_release' tool. It instantiates MasterReleaseService and calls its get method.export const getMasterReleaseTool: Tool<FastMCPSessionAuth, typeof MasterReleaseIdParamSchema> = { name: 'get_master_release', description: 'Get a master release', parameters: MasterReleaseIdParamSchema, execute: async (args) => { try { const masterReleaseService = new MasterReleaseService(); const masterRelease = await masterReleaseService.get(args); return JSON.stringify(masterRelease); } catch (error) { throw formatDiscogsError(error); } }, };
- src/types/master.ts:15-17 (schema)Zod input schema for the tool parameters, requiring a 'master_id' integer.export const MasterReleaseIdParamSchema = z.object({ master_id: z.number().int(), });
- src/tools/database.ts:259-259 (registration)Registration of the getMasterReleaseTool with the MCP server.server.addTool(getMasterReleaseTool);
- src/services/master.ts:28-41 (helper)Core helper function in MasterReleaseService that fetches the master release data from Discogs API and validates it.async get({ master_id }: MasterReleaseIdParam): Promise<MasterRelease> { try { const response = await this.request<MasterRelease>(`/${master_id}`); const validatedResponse = MasterReleaseSchema.parse(response); return validatedResponse; } catch (error) { if (isDiscogsError(error)) { throw error; } throw new Error(`Failed to get master release: ${String(error)}`); } }