Skip to main content
Rewind tools return more than a wall of text. Every response follows the MCP content model, so a single tool call can ship a text summary, cover art, links into source platforms, machine-readable JSON, and (in clients that support it) an interactive card. The model reasons over the same response your client renders. A typical response carries up to four kinds of payload:
  • A text block with a human-readable summary.
  • Image blocks for artwork, posters, and portraits.
  • Resource link blocks pointing at the canonical record or the source platform.
  • A structuredContent object with the exact numbers and fields.

Image blocks

Tools attach artwork as image content blocks. A detail tool returns the single poster, cover, or portrait for its entity; a list tool returns artwork for its top few items (five by default) and downscales them, so a long page stays well under the client’s response-size budget. Any tool that returns images accepts an include_images parameter, defaulting to true. Set it to false for a compact, text-only response:
get_top_albums(period: "12m", include_images: false)
See Troubleshooting if responses feel too image-heavy in your client. External platform URLs come back as resource_link content blocks: Letterboxd reviews, Strava activities, Discogs releases, Apple Music pages, original article URLs, and Last.fm pages. These let a client drill from a result straight into the source. Resource links arrive as resource_link blocks, which clients show in the tool-use accordion rather than inline. When the model lists items, it also renders each title as a markdown link from the URL fields in structuredContent, so the links reach you either way. The cross-domain search tool returns resource links pointing at rewind:// entity URIs, so a match can drill into the full record. See Resources and prompts for how those URIs map to endpoints.

Structured content

Every tool also returns a structuredContent object: a JSON shape that mirrors the underlying API response. This is where the exact numbers live. The model reads totals, counts, dates, ranks, and URLs from structured fields instead of re-parsing them out of the prose summary, which keeps numeric answers accurate. When you need precise figures (play counts, distances, ratings, streak lengths), they come from structuredContent, not the text block.

Interactive cards

Several tools advertise MCP Apps UI resources. In a client that supports MCP Apps, these render as an inline interactive card that consumes the tool’s structuredContent. In any other client, the same call returns the standard text, image, resource link, and structured response unchanged, so nothing breaks when cards are not supported. These tools render cards:
ToolCard
get_recent_watchesPoster grid of recently watched movies
get_recent_readsArticle card list of recently saved reads
get_articleSingle-article card: hero image, byline, meta strip, top highlights
get_artist_detailsSingle-artist card: portrait, stats, yearly sparkline, top tracks and albums
get_top_tracksTop-tracks list with a flat and album-grouped view
get_top_albumsAlbum cover grid
get_top_artistsArtist portrait grid
get_attended_seasonSeason grid: per-game score, attendance, weather, performers
get_attended_eventSingle-game card: linescore, notable performers, ticket info
get_attended_playerSingle-athlete card: headshot, season stats, recent appearances
These map to the listening, watching, reading, and attending domains. Card support depends on the client, not the connection method: the hosted remote server and the local stdio server both advertise the same UI resources.