https://www.offstereo.com/api/mcp ↗
Builds narrated, playable music stories, explores sample lineage, and saves verified playlists.
OffStereo is a remote MCP server published at www.offstereo.com. It has been probed 6 times since 9/12/2026. It answered in 6 of them (100.0%), a near-uninterrupted record. Median response time is 570 ms, a delay an agent will notice. It offers a narrow, focused set of 11 tools. On the protocol side it still runs 2025-11-25 and has not moved to the newer spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
make_playable — Parameter 'experience' has unclear enum values (e.g., 'single_track')discover — Genres array requires explicit genre input but lacks validation guidanceexplore_lineage — No error handling for cases where no sample lineage is foundcreate_playlist — Ambiguous 'previewOnly' behavior without success/failure indicatorssteer_session — Multiple optional parameters (e.g., 'queueTrack', 'positionMs') lack usage examplesRisk: low
tools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Tools the server advertised in the latest measurement — measured, not catalog-claimed.
make_playableCreate one playable OffStereo card for a direct standalone-song or narrated-story request. Discovery and Music Today already play their songs, so keep those results in their original card unless the listener asks for dedicated controls. experience=single_track returns exactly one recording with no narration or library save; pass artist plus track. experience=story progressively creates a sourced story; mode=fresh starts a new build. Pass artist plus album for an exact record and trackCount for an exact requested length. Spotify, Apple Music, and SoundCloud URLs are story seeds unless the listener requests only the recording. Playlist requests use create_playlist. existingSessionId opens a selected library story; get_session is reserved for card polling. The mounted card owns live progress
promptstringtitlestringsourceUrlstringsourceTextstringexistingSessionIdstringexperiencestringlengthstringtrackCountnumberartiststringtrackstringalbumstringpersonalizationstringmodestringvideoModebooleantracksarrayget_sessionApplication polling for an already-mounted OffStereo card. It refreshes one PlayableSession in place. A selected library story opens through make_playable(existingSessionId), while playback and contextual follow-ups use steer_session.
sessionIdstringrequiredsteer_sessionControl and contextual follow-ups for the active player: pause, resume, skip, play the next song, append one exact next song, adjust the music level, explain why a song is present, open an explicitly requested documented sample lineage, or return to the story. The result updates the mounted card in place. For an AI-DJ transition to a newly chosen record, pass queueTrack with exact artist and title; OffStereo resolves it and appends it to this same widget so the current song can finish and auto-advance. Keeping the transition in this queue avoids a second make_playable call. Use instruction='Queue this as the next song without interrupting the current song' to queue ahead, or 'Play this next now' to append and immediately advance. A why-this-song question preserves the queue. sessionId iden
sessionIdstringinstructionstringrequiredactiveItemIdstringpositionMsnumberplaybackStatestringqueueTrackobjectacknowledgeDirectiveIdstringdiscoverDiscover genre-aware new releases, strong public-archive matches, or popular OffStereo shows. Call exactly once per listener request: put every positive genre into the same genres array, use [] when none were requested, and avoid one call or card per genre. query carries the listener's full wording, exclusions, counts, and no-padding constraint. Results remain relevant rather than padding a requested genre or archive search with unrelated rows. Dated music-history requests use music_today and are not a discover mode. playableOnly limits results to music that plays in ChatGPT. allowBuild and allowSave preserve a read-only request. The result card already includes song playback; a separate one-song card is for an explicit request for a dedicated song card.
typestringrequiredquerystringgenresarrayrequiredperGenreLimitnumberlimitnumberallowBuildbooleanallowSavebooleanplayableOnlybooleanmusic_todayCall exactly once for a 'today in music' or dated music-history request. One response already combines album anniversaries, artist birthdays and memorials, current releases, current US song-chart context, and related playable OffStereo stories; use that one combined call rather than separate history, releases, charts, or shows calls. dateMode=today uses the listener's current day and omits date; dateMode=explicit pairs with a named YYYY-MM-DD date. limit is the maximum total across the combined response, playableOnly limits rows to music that plays in ChatGPT, and allowBuild=false plus allowSave=false preserves a read-only request. This is the only dated-music tool in the current schema.
dateModestringrequireddatestringlimitnumberallowBuildbooleanallowSavebooleanplayableOnlybooleanexplore_lineageExplore documented sample lineage. Pass artist + track for one song, or topic for one multi-song narrated lineage story. OffStereo only returns connections it can source and withholds uncertain matches rather than guessing.
artiststringtrackstringtopicstringcreate_playlistCreate one playlist from a natural-language idea or explicit track list. Call exactly once per listener turn: do not inspect the result and make a corrective second call or stack another playlist card in the same response. previewOnly=true returns one authoritative playlist that can be heard before saving and needs no music-service connection. After explicit approval, previewOnly=false with the approved tracks and the same concise editorial name creates one private playlist in the listener's active music service. Pass service only when the listener explicitly names Spotify or Apple Music. requiredArtists carries every artist the listener named as required. allowSecondPlaylist is true only for an explicit request for a separate additional playlist. Sign-in recovery preserves the exact reque
promptstringnamestringcountnumberservicestringtracksarrayrequiredArtistsarraypreviewOnlybooleanallowSecondPlaylistbooleanpendingActionIdstringsave_sessionExplicitly save the matched music from one listening session as a private playlist in the listener's active music service. Pass service only when the listener explicitly names Spotify or Apple Music. Unmatched songs are excluded and reported. If sign-in is needed, OffStereo preserves the request for one safe retry.
sessionIdstringservicestringnamestringpendingActionIdstringprepare_episodePrepare one finished OffStereo story to become a private Spotify episode after the listener explicitly asks. OffStereo packages its completed intro, ordered narration, sign-off, branded title, show notes, OffStereo cover, chapters, and song timeline, then returns an honest handoff: the episode is not in Spotify until the listener finishes with Spotify's Save to Spotify helper on their own computer. Use the active or selected story's sessionId. This is for a narrated story, not a playlist or an unfinished build.
sessionIdstringrequiredmanage_owned_itemManage the signed-in listener's own OffStereo stories or service playlists. Removing an OffStereo story is a recoverable archive operation, and restore brings it back. Removing an owned Spotify playlist means remove from library because Spotify does not permanently delete playlists; the operation follows an explicit confirmation turn. Apple Music's public API does not expose playlist deletion, so that case returns an honest unsupported handoff. confirm=true records explicit confirmation of the named item and operation.
itemTypestringrequiredidstringrequiredactionstringrequiredservicestringconfirmbooleanmy_offstereoCall once to return the signed-in listener's OffStereo library overview, currently including their completed, unarchived shows. This is the primary personal-library tool.
limitnumberDerived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/io-github-andzar22-offstereo)<a href="https://mcpmetrics.io/servers/io-github-andzar22-offstereo"><img src="https://mcpmetrics.io/badge/io.github.andzar22/offstereo/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to seeThe catalog entries whose name and description are closest to this one, found with the same index the search box uses.
Calculate streaming royalties for any DSP. Enter your stream count and platform to get gross earnings, net after distributor fee, artist share, streams needed to recoup a budget, and a comparison table across Spotify, Apple Music, Tidal, YouTube Music, and more.
Cross-check a factual claim against a verified knowledge graph before you assert it. Never guesses.
Turn any language model into a multimodal powerhouse that can generate images, music, videos and more on the fly. Rostro's tools are designed to be used by language models from the ground up, expanding capabilities with minimal context bloat. ## Quick Setup You will need a [Rostro account](https://rostro.dev/login/sign_up) for OAuth discovery and authentication in your client of choice. **MCP Server URL:** `https://proto.rostro.dev/mcp` ## Quick Install Links - **Cursor**: [Install in Cursor](https://cursor.com/en/install-mcp?name=Rostro&config=eyJ1cmwiOiJodHRwczovL3Byb3RvLnJvc3Ryby5kZXYvbWNwIiwiaGVhZGVycyI6e319) - **LM Studio**: [Install in LM Studio](https://lmstudio.ai/install-mcp?name=rostro&config=eyJ1cmwiOiJodHRwczovL3Byb3RvLnJvc3Ryby5kZXYvbWNwIn0%3D) ## API Key Setup (Optional) For fixed API authentication instead of OAuth, add this to your settings: ```json "rostro": { "url": "https://proto.rostro.dev/mcp", "headers": { "Authorization": "Bearer <YOUR_API
AI music production assistant — audio profiling, AI mixing sessions, and service inquiries.
Free, copyright-safe AI music library for video creators and AI agents.
Verified Hamptons & North Fork data: open now, events, beaches, permits, closures.
| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-13 01:33:33 | Legacy | 200 | 787 | 200 | 785 | 2024-11-05 |
| 2026-09-12 23:31:36 | Legacy | 200 | 622 | 200 | 624 | 2024-11-05 |
| 2026-09-12 21:29:15 | Legacy | 200 | 572 | 200 | 570 | 2024-11-05 |
| 2026-09-12 19:27:29 | Legacy | 200 | 251 | 200 | 242 | 2024-11-05 |
| 2026-09-12 17:24:09 | Legacy | 200 | 233 | 200 | 239 | 2024-11-05 |
| 2026-09-12 15:21:42 | Legacy | 200 | 558 | 200 | 556 | 2024-11-05 |
Each block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.
Comments
Sign in to write a comment
No comments yet. Be the first.