delete_release_rating
Remove a user's rating from a Discogs release. Provide the username and release ID to delete the rating.
Instructions
Deletes the release's rating for a given user
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | ||
| release_id | Yes |
Implementation Reference
- src/services/release.ts:33-45 (handler)The service method that executes the DELETE request to delete a release rating by user. It calls `this.request<void>(/${release_id}/rating/${username}, { method: 'DELETE' })` and handles errors.
async deleteRatingByUser({ username, release_id }: ReleaseRatingParams): Promise<void> { try { await this.request<void>(`/${release_id}/rating/${username}`, { method: 'DELETE', }); } catch (error) { if (isDiscogsError(error)) { throw error; } throw new Error(`Failed to delete release rating: ${String(error)}`, { cause: error }); } } - src/tools/database.ts:20-36 (handler)The tool definition for delete_release_rating, which instantiates ReleaseService and calls deleteRatingByUser(args).
/** * MCP tool for deleting a release rating */ export const deleteReleaseRatingTool: Tool<FastMCPSessionAuth, typeof ReleaseRatingParamsSchema> = { name: 'delete_release_rating', description: `Deletes the release's rating for a given user`, parameters: ReleaseRatingParamsSchema, execute: async (args) => { try { const releaseService = new ReleaseService(); await releaseService.deleteRatingByUser(args); return 'Release rating deleted successfully'; } catch (error) { throw formatDiscogsError(error); } }, - src/types/release.ts:178-178 (schema)ReleaseRatingParamsSchema = UsernameInputSchema.merge(ReleaseIdParamSchema) — defines the input schema (release_id + username) for the tool.
export const ReleaseRatingParamsSchema = UsernameInputSchema.merge(ReleaseIdParamSchema); - src/types/release.ts:147-149 (schema)ReleaseIdParamSchema defines the release_id number parameter used in the schema.
export const ReleaseIdParamSchema = z.object({ release_id: z.number().min(1, 'The release_id must be non-zero'), }); - src/tools/database.ts:253-266 (registration)registerDatabaseTools registers deleteReleaseRatingTool via server.addTool().
export function registerDatabaseTools(server: FastMCP): void { server.addTool(getReleaseTool); server.addTool(getReleaseRatingTool); server.addTool(editReleaseRatingTool); server.addTool(deleteReleaseRatingTool); server.addTool(getReleaseCommunityRatingTool); server.addTool(getMasterReleaseTool); server.addTool(getMasterReleaseVersionsTool); server.addTool(getArtistTool); server.addTool(getArtistReleasesTool); server.addTool(getLabelTool); server.addTool(getLabelReleasesTool); server.addTool(searchTool); }