search_album_cover
Retrieve canonical album cover art from MusicBrainz, iTunes, and Spotify. All results are editorial-licensed and suitable for album identification interfaces.
Instructions
Find canonical album artwork. Uses MusicBrainz Cover Art Archive + iTunes + Spotify. Results are EDITORIAL_LICENSED — safe for album identification UI per platform ToS; always show attribution.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| artist | Yes | ||
| album | Yes | ||
| providers | No | ||
| safeSearch | No | ||
| licensePolicy | No | ||
| maxPerProvider | No | ||
| minWidth | No | ||
| minHeight | No | ||
| timeoutMs | No |
Implementation Reference
- Core implementation of searchAlbumCover. Delegates to searchImages with preset providers ['musicbrainz-caa', 'itunes', 'spotify', 'wikimedia'] and maxPerProvider of 5.
export async function searchAlbumCover( artist: string, album: string, opts: SearchOptions = {}, ): Promise<SearchResultBundle> { return searchImages(`${artist} ${album}`, { ...opts, providers: opts.providers ?? ["musicbrainz-caa", "itunes", "spotify", "wikimedia"], maxPerProvider: opts.maxPerProvider ?? 5, }); } - packages/mcp/src/tools.ts:59-68 (handler)MCP tool registration for 'search_album_cover'. Describes the tool, binds the schema, and calls the core searchAlbumCover function, rendering results via renderSearch.
{ name: "search_album_cover", description: "Find canonical album artwork. Uses MusicBrainz Cover Art Archive + iTunes + Spotify. Results are EDITORIAL_LICENSED — safe for album identification UI per platform ToS; always show attribution.", inputSchema: searchAlbumCoverSchema, async handler(args) { const out = await searchAlbumCover(args.artist, args.album, args); return renderSearch(out.candidates, out.providerReports, out.warnings); }, }, - packages/mcp/src/schema.ts:32-36 (schema)Zod input schema for search_album_cover tool. Validates artist (string), album (string), plus common search options.
export const searchAlbumCoverSchema = z.object({ artist: z.string().min(1), album: z.string().min(1), ...commonSearchOpts, }); - packages/mcp/src/tools.ts:60-63 (registration)Tool registration: name 'search_album_cover' with inputSchema: searchAlbumCoverSchema in the TOOLS array.
name: "search_album_cover", description: "Find canonical album artwork. Uses MusicBrainz Cover Art Archive + iTunes + Spotify. Results are EDITORIAL_LICENSED — safe for album identification UI per platform ToS; always show attribution.", inputSchema: searchAlbumCoverSchema, - packages/mcp/src/tools.ts:13-13 (helper)Import of searchAlbumCover from 'webfetch-core' (packages/core/src/hints/album-covers.ts).
searchAlbumCover,