← MCP servers · nukeop

Nuclear

BLOCKgrade D · trust 69/100

Streaming music player that finds free music for you

agentaidesktop applinuxmacmcpmcp servermusic

Overview

From the repository's own README, as read at the audited commit.

<p align="center">  <picture>    <source alt="Nuclear Music Player"  srcset="packages/docs/.gitbook/assets/readme-banner.png">    <img alt="Nuclear Music Player"  srcset="packages/docs/.gitbook/assets/readme-banner.png">  </picture></p><div align="center"># Nuclear </div><div align="center">  Nuclear is a free, open-source music player without ads or tracking. Search for any song or artist, build playlists, and start listening.<br>  Runs on Windows, macOS, and Linux.  </div>## Screenshots<p align="center">  <img src="packages/docs/.gitbook/assets/dashboard-main.png" alt="Nuclear Music Player - Dashboard" width="100%"></p>Nuclear comes with multiple built-in themes:<p align="center">  <img src="packages/docs/.gitbook/assets/dashboard-green.png" alt="Green theme" width="32%">  <img src="packages/docs/.gitbook/assets/dashboard-aqua.png" alt="Aqua theme" width="32%">  <img src="packages/docs/.gitbook/assets/dashboard-mint.png" alt="Mint theme" width="32%"></p><p align="center">  <img src="packages/docs/.gitbook/assets/dashboard-orange.png" alt="Orange theme" width="32%">  <img src="packages/docs/.gitbook/assets/dashboard-red.png" alt="Red theme" width="32%">  <img src="packages/docs/.gitbook/assets/dashboard-violet.png" alt="Violet theme" width="32%"></p>| | ||:---:|:---:|| ![Search artists](packages/docs/.gitbook/assets/search-artists.png) | ![Search albums](packages/docs/.gitbook/assets/search-albums.png) || Artist search | Album search || ![Playlists](packages/docs/.gitbook/assets/playlists.png) | ![Plugin store](packages/docs/.gitbook/assets/plugin-store.png) || Playlists | Plugin store || ![Installed plugins](packages/docs/.gitbook/assets/installed-plugins.png) | ![Preferences](packages/docs/.gitbook/assets/preferences.png) || Installed plugins | Preferences || ![What's new](packages/docs/.gitbook/assets/whats-new.png) | ![Log viewer](packages/docs/.gitbook/assets/log-viewer.png) || What's new | Log viewer |## DownloadGrab the latest release for your platform from 

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add website --env CODECOV_TOKEN=${CODECOV_TOKEN} -- npx -y @nuclearplayer/[email protected]
claude-desktop
{
  "mcpServers": {
    "website": {
      "command": "npx",
      "args": [
        "-y",
        "@nuclearplayer/[email protected]"
      ],
      "env": {
        "CODECOV_TOKEN": "${CODECOV_TOKEN}"
      }
    }
  }
}

Exposed tools (70) 42 read · 19 write · 9 destructive

Blast radius: 9 tools can delete or overwrite. An agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
GruvboxreadRetro groove color scheme. Based on the classic Vim theme.
SakurareadCherry blossom
YoRHareadInspired by the UI of NieR:Automata.
addAlbumwriteAdd an album to favorites.
addArtistwriteAdd an artist to favorites.
addAtwriteInsert tracks at a specific position.
addNextwriteInsert tracks immediately after the current item.
addToQueuewriteAdd tracks to the end of the queue.
addTrackwriteAdd a track to favorites.
addTrackswriteAdd tracks to a playlist. Returns the created playlist items.
clearQueuedestructiveRemove all items from the queue.
createPlaylistwriteCreate a new empty playlist. Returns the playlist ID.
deletePlaylistdestructiveDelete a playlist by ID.
fetchAlbumDetailsreadFetch full album details including track listing.
fetchArtistAlbumsreadFetch an artist
fetchArtistBioreadFetch an artist
fetchArtistPlaylistsreadFetch playlists associated with an artist.
fetchArtistRelatedArtistsreadFetch artists similar to the given artist.
fetchArtistSocialStatsreadFetch an artist
fetchArtistTopTracksreadFetch an artist
fetchEditorialPlaylistsreadFetch editorial/curated playlists, optionally from a specific provider.
fetchNewReleasesreadFetch new album releases, optionally from a specific provider.
fetchTopAlbumsreadFetch top/trending albums, optionally from a specific provider.
fetchTopArtistsreadFetch top/trending artists, optionally from a specific provider.
fetchTopTracksreadFetch top/trending tracks, optionally from a specific provider.
getreadGet a specific provider by ID and kind.
getAlbumsreadGet all favorite albums.
getArtistsreadGet all favorite artists.
getCurrentItemreadGet the currently playing queue item.
getGlobalreadGet the value of any setting by its fully qualified ID
getIndexreadGet the list of all playlists with summary info.
getPlaylistreadGet a playlist by ID with all its items.
getQueuereadGet the current queue state.
getRepeatModereadGet the current repeat mode:
getStatereadGet the current playback state (status, seek position, duration).
getTracksreadGet all favorite tracks.
getVolumereadGet the current volume level (0 to 1).
goToIdreadJump to a specific queue item by its ID.
goToIndexreadJump to a specific position in the queue.
goToNextreadSkip to the next item.
goToPreviousreadGo back to the previous item.
importPlaylistwriteImport a full playlist object. Returns the new playlist ID.
isAlbumFavoritereadCheck if an album is in favorites.
isArtistFavoritereadCheck if an artist is in favorites.
isMutedreadCheck whether audio output is muted.
isShuffleEnabledreadCheck whether shuffle is enabled.
isTrackFavoritereadCheck if a track is in favorites.
listreadList all registered providers, optionally filtered by kind (metadata, streaming, lyrics, dashboard).
pausereadPause playback.
playwriteStart or resume playback.
removeAlbumdestructiveRemove an album from favorites by its provider reference.
removeArtistdestructiveRemove an artist from favorites by its provider reference.
removeByIdsdestructiveRemove items from the queue by their IDs.
removeByIndicesdestructiveRemove items from the queue by their indices.
removeTrackdestructiveRemove a track from favorites by its provider reference.
removeTracksdestructiveRemove items from a playlist by their item IDs.
reorderwriteMove a queue item from one position to another.
reorderTrackswriteMove a track within a playlist from one position to another.
saveQueueAsPlaylistwriteSave the current queue as a new playlist. Returns the playlist ID.
searchreadSearch for artists, albums, tracks, and playlists.
seekToreadSeek to a position in seconds.
setwriteSet the value of a setting by its namespace-relative ID. The ID is automatically prefixed with the caller namespace.
setGlobalwriteSet the value of any setting by its fully qualified ID.
setMutedreadMute or unmute audio.
setRepeatModewriteSet the repeat mode:
setShuffleEnabledwriteEnable or disable shuffle.
setVolumewriteSet the volume level (0 to 1, where 0 is silent and 1 is full volume).
stopdestructiveStop playback and reset position.
togglereadToggle between play and pause.
updateItemStatewriteUpdate the loading status of a queue item.

Details

Source
nukeop/nuclear
npm
@nuclearplayer/website@2.12.3
Transports
streamable-http
Credentials it reads
CODECOV_TOKEN
License
AGPL-3.0
Stars
18,456 · pushed 0d ago

Trust audit

Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (5 observation(s))
Network
declared (8 observation(s))
Shell
declared (3 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (25)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
packages/player/src/services/plugins/PluginLoader.ts:134
new Function('exports', 'module', 'require', code)(
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
clearQueue, deletePlaylist, removeAlbum, removeArtist, removeByIds, removeByIndices, removeTrack, removeTracks, stop
Why it matters. 9 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.binary · CWE-1104
packages/docs/.gitbook/assets/nuclear-mcp.zip
nuclear-mcp.zip
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInventory / provenance · inv.hidden_file · CWE-1104
.node-version
.node-version
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.prettierignore
.prettierignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
packages/docs/.gitbook.yaml
.gitbook.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/hifi/src/test/mocks/mockLogger.ts:1
import { LoggerProvider } from '../../LoggerProvider';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/player/src/components/ConnectedPlayerBar/ConnectedControls.tsx:8
import { useCoreSetting } from '../../hooks/useCoreSetting';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/player/src/components/ConnectedPlayerBar/ConnectedControls.tsx:9
import { useProviders } from '../../hooks/useProviders';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/player/src/components/ConnectedPlayerBar/ConnectedControls.tsx:10
import { playbackManager } from '../../services/playback';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/player/src/components/ConnectedPlayerBar/ConnectedControls.tsx:11
import { useQueueStore } from '../../stores/queueStore';
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:91
claude mcp add nuclear --transport http http://127.0.0.1:8800/mcp
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:97
codex mcp add nuclear --url http://127.0.0.1:8800/mcp
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:107
"url": "http://127.0.0.1:8800/mcp"
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:119
"url": "http://127.0.0.1:8800/mcp"
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
packages/docs/integrations/http-api.md:9
Enable Nuclear Jam in Settings, then Integrations. The **API URL** field shows the base URL (e.g. `http://192.168.1.42:4120/api`).
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@ianvs/prettier-plugin-sort-imports, @tailwindcss/vite, @vitejs/plugin-react, @vitest/coverage-v8, eslint, husky, jsdom, lint-staged
Why it matters. 17 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/eslint-config/package.json
@eslint/css, @eslint/js, @eslint/json, @eslint/markdown, @ianvs/prettier-plugin-sort-imports, eslint, eslint-config-prettier, eslint-plugin-prettier
Why it matters. 14 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/hifi/package.json
hls.js, @testing-library/jest-dom, @testing-library/react, @types/react, @types/react-dom, @vitejs/plugin-react, @vitest/coverage-v8, jsdom
Why it matters. 12 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/i18n/package.json
i18next, react-i18next, @types/react, @vitejs/plugin-react, @vitest/coverage-v8, typescript, vite, vite-plugin-dts
Why it matters. 9 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/model/package.json
zod, @vitest/coverage-v8, typescript, vite, vitest
Why it matters. 5 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOInventory / provenance · inv.oversize · CWE-1104
packages/docs/.gitbook/assets/dashboard-main.png
packages/docs/.gitbook/assets/dashboard-main.png
Why it matters. 2055326 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
packages/docs/.gitbook/assets/playlists.png
packages/docs/.gitbook/assets/playlists.png
Why it matters. 1659523 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
packages/docs/.gitbook/assets/search-albums.png
packages/docs/.gitbook/assets/search-albums.png
Why it matters. 1883574 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
packages/docs/.gitbook/assets/search-artists.png
packages/docs/.gitbook/assets/search-artists.png
Why it matters. 1770561 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-09-16 · audit v0.4.0 · source sha 10f8e40debaa · full audit: observations/trust-audit/mcp-server/nukeop__nuclear.json · Report an issue or request a re-scan

Audit history

DateSourceVerdictGradeScoreChange
2026-09-1610f8e40debaaBLOCKD69first audit

Alternatives

Other servers in the same categories, safer ones first.

Questions

What is the Nuclear MCP server?

Streaming music player that finds free music for you

What tools does Nuclear expose?

70 in total: 42 read-only, 19 that write, and 9 that can delete or overwrite (clearQueue, deletePlaylist, removeAlbum, removeArtist, removeByIds). Every one is listed on this page with its risk.

Is Nuclear safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 9 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Nuclear need?

It reads CODECOV_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Nuclear run?

It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as @nuclearplayer/website at 2.12.3.

How current is this page?

The grade is for one exact copy of the source (10f8e40debaa), read on 2026-09-16. The repository is watched and re-audited when it changes.

Provenance: OBSERVED · read 2026-09-16 · job trust-audit-2026-09-16