suggest_next_track
Given a seed track, return the top-N catalog tracks to play NEXT, ranked by transition score. Each suggestion carries the same score, per-component scores and human reason as score_transition (e.g. "11B->11B same key, 118->117 BPM (-0.29), energy +0.12"), plus its genre and genre_relation to the ...
This record as markdown: /tools/com-freqblog-music-metadata/suggest-next-track.md
What suggest_next_track does on FreqBlog Music Metadata
AI agents call suggest_next_track to retrieve information from FreqBlog Music Metadata without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
n | integer | — | How many next-track suggestions to return (default 10). |
bpm_drift | number | — | Max BPM difference pre-filter before scoring (default 12). |
min_score | integer | — | Drop candidates below this overall transition score (default 0). |
cross_genre | string | — | Genre handling: 'auto' (default) keeps picks in a mixable genre lane so an off-genre track that only shares key/BPM sinks to the bottom; 'strict' = same genre-f |
seed_track_id | string | Yes | The track currently playing — a catalog itunes_track_id. |
max_key_distance | integer | — | Max Camelot-wheel hops pre-filter before scoring (default 2). |
exclude_same_artist | boolean | — | Drop tracks by the seed's artist (default false). |
Parameters from the server's own tool schema.
Why suggest_next_track is rated Low
suggest_next_track queries metadata and returns recommendations based on audio similarity. It retrieves data from the catalog and ranks it, but does not create, modify, delete, or execute code. The parameters (seed track, N, cross_genre mode) are all query filters. This is a pure read operation with no side effects, making it low severity.
From the tool's definition Tool returns ranked suggestions and scores without modifying, deleting, or executing external operations. Description states it returns 'top-N catalog tracks' with 'score', 'per-component scores', 'reason', 'genre', and 'genre_relation' — all read operations.
Attacks that exploit this kind of access
The rule that runs suggest_next_track safely
PolicyLayer is an MCP gateway: it sits between your AI agents and FreqBlog Music Metadata, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For suggest_next_track, this is the rule to start with:
suggest_next_track is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect FreqBlog Music Metadata, apply this rule, and every suggest_next_track call is checked against it from then on.
Questions about suggest_next_track
Given a seed track, return the top-N catalog tracks to play NEXT, ranked by transition score. Each suggestion carries the same score, per-component scores and human reason as score_transition (e.g. "11B->11B same key, 118->117 BPM (-0.29), energy +0.12"), plus its genre and genre_relation to the seed. GENRE-AWARE by default (cross_genre=auto): off-genre picks that only coincidentally share the seed's key/BPM sink to the bottom — use cross_genre=strict for same-genre-family only, or allow for the old harmonic-only ranking. It is the seed's sonic neighbours re-ranked for a clean mix. Returns seed, count, and a suggestions array of {track, score, components, reason}. seed_track_id is a catalog itunes_track_id from search_catalog or a get_audio_features result. Pair with build_setlist to order a whole crate. Costs 3 quota units. It is categorised as a Read tool in the FreqBlog Music Metadata MCP Server, which means it retrieves data without modifying state.
suggest_next_track accepts 7 parameters: n, bpm_drift, min_score, cross_genre, seed_track_id, max_key_distance, exclude_same_artist. Required: seed_track_id. The full parameter table on this page comes from the server's own tool schema.
Register the FreqBlog Music Metadata MCP server in PolicyLayer and add a rule for suggest_next_track: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches FreqBlog Music Metadata. Nothing to install.
suggest_next_track is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the suggest_next_track rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for suggest_next_track. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
suggest_next_track is provided by the FreqBlog Music Metadata MCP server (https://mcp.freqblog.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on FreqBlog Music Metadata, and thousands of servers like it.
This server
Across the catalogue