# download_song

Download a song by YouTube Music URL

Agent View of the PolicyLayer registry record for `download_song`. HTML page: https://policylayer.com/tools/4shil-ytm-mcp/download-song

## Facts

- Tool: `download_song`
- Server: Ytm (`4shil/ytm-mcp`) — https://policylayer.com/tools/4shil-ytm-mcp.md
- Homepage: https://github.com/4shil/ytm-mcp
- Risk category: Write (Medium risk)
- Registry record: grade B, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "download_song",
    "arguments": {}
  }
}
```

## Why download_song is rated Medium

Downloading a song writes a file to the local filesystem. It is reversible (the file can be deleted), so it falls under Write rather than Destructive. The blast radius is medium because an AI agent could download large numbers of files, consume disk space, or potentially download copyrighted material without authorization.

From the tool's own definition: "Download a song by YouTube Music URL"

## Use case

AI agents use download_song to create or update resources in Ytm, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Ytm environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Ytm:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "download_song": {
      "limits": [
        {
          "counter": "download_song_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Ytm (11)

- `play_song` — Execute — https://policylayer.com/tools/4shil-ytm-mcp/play-song.md
- `playback_control` — Execute — https://policylayer.com/tools/4shil-ytm-mcp/playback-control.md
- `download_history` — Read — https://policylayer.com/tools/4shil-ytm-mcp/download-history.md
- `export_playlist` — Read — https://policylayer.com/tools/4shil-ytm-mcp/export-playlist.md
- `get_current_song` — Read — https://policylayer.com/tools/4shil-ytm-mcp/get-current-song.md
- `get_history` — Read — https://policylayer.com/tools/4shil-ytm-mcp/get-history.md
- `list_downloads` — Read — https://policylayer.com/tools/4shil-ytm-mcp/list-downloads.md
- `list_playlists` — Read — https://policylayer.com/tools/4shil-ytm-mcp/list-playlists.md
- `search_song` — Read — https://policylayer.com/tools/4shil-ytm-mcp/search-song.md
- `add_to_playlist` — Write — https://policylayer.com/tools/4shil-ytm-mcp/add-to-playlist.md
- `create_playlist` — Write — https://policylayer.com/tools/4shil-ytm-mcp/create-playlist.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=4shil-ytm-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/4shil-ytm-mcp
