Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add NovaLux12/spotify-mcp-server --skill spotify-mcp-doctorgit clone --depth 1 https://github.com/NovaLux12/spotify-mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/novalux12/spotify-mcp-server/spotify-mcp-doctor)<a href="https://agentmods.dev/skills/novalux12/spotify-mcp-server/spotify-mcp-doctor"><img src="https://agentmods.dev/badge/skills/novalux12/spotify-mcp-server/spotify-mcp-doctor/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/novalux12/spotify-mcp-server/spotify-mcp-doctor"><img src="https://agentmods.dev/badge/skills/novalux12/spotify-mcp-server/spotify-mcp-doctor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00044 | $0.01168 |
| Opus 5 | $0.00022 | $0.00584 |
| Sonnet 5 | $0.00009 | $0.00234 |
| Haiku 4.5 | $0.00004 | $0.00117 |
Grade A, and why
spotify-mcp-doctor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Spotify MCP Doctor
You are diagnosing a failing Spotify MCP server installation
(NovaLux12/spotify-mcp-server). Work top-down through these probes; stop at
the first red flag, apply its fix, then re-run from the top. Never modify
files under the user's ~/.spotify-mcp/ beyond what a fix requires.
Probe 1 — Is the server wired up?
Check the host config (OpenClaw: mcp.servers.spotify in
~/.openclaw/openclaw.json; Claude Desktop: claude_desktop_config.json).
commandmust point at the built entry (dist/index.js) of THIS repo, run with plainnode.env.SPOTIFY_CLIENT_IDmust be set (16-hex app id from the dashboard).- No
SPOTIFY_CLIENT_SECRETis needed anywhere — this server uses PKCE. If a secret is configured it is ignored, not harmful.
Fix: point the entry at the repo checkout and restart the host (OpenClaw: restart the gateway process). Re-test.
Probe 2 — Does the binary answer?
cd <repo> && node --env-file=.env dist/index.js & # then send stdin line:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"doctor","version":"0"}}}
Expect one JSON line back naming serverInfo.name: "spotify-mcp". If the
process exits instantly: run npm run build (missing dist/) and check
Node ≥ 22.9 (node --version).
Probe 3 — App credentials valid? (no user login needed)
node --input-type=module -e "
const id=process.env.SPOTIFY_CLIENT_ID;
const r=await fetch('https://api.spotify.com/v1/search?q=test&type=track&limit=1');
console.log('unauthed probe:', r.status);"
Then exchange a client-credentials grant (needs the dashboard secret):
POST https://accounts.spotify.com/api/token
Authorization: Basic base64(client_id:client_secret)
body: grant_type=client_credentials
- 200 → app is healthy; continue to Probe 4.
- 400 invalid_client → wrong id/secret pair; check the dashboard.
- Network refused → egress/proxy problem, not Spotify.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 99 lines · 44 tokens per session scan A e4dba015aae7
spotify-mcp-doctor is a skill published in the GitHub repository NovaLux12/spotify-mcp-server (1 stars, last pushed yesterday), licensed MIT. It adds 44 tokens to every session and 1,168 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
feedback-nudge
Use when the user wants to report a bug, request a feature, or send feedback to the Zooza engineering team. Also offer proactively after a successful commit operation (max once per week).
report-issue-framework
File a bug or feature request against @cyanheads/mcp-ts-core when you hit a framework issue. Use when a builder, utility, context method, or config behaves contrary to the documented API — not for server-specific application bugs.
api-linter
MCP definition linter rules reference. Use when bun run lint:mcp or bun run devcheck reports a lint error or warning (format-parity, schema-is-object, name-format, server-json-, etc.) and you need to understand the rule, its severity, and how to fix it. Every rule ID the linter emits has an entry in this doc.
report-issue-framework
File a bug or feature request against @cyanheads/mcp-ts-core when you hit a framework issue. Use when a builder, utility, context method, or config behaves contrary to the documented API — not for server-specific application bugs.
api-linter
MCP definition linter rules reference. Use when bun run lint:mcp or bun run devcheck reports a lint error or warning (format-parity, schema-is-object, name-format, server-json-, etc.) and you need to understand the rule, its severity, and how to fix it. Every rule ID the linter emits has an entry in this doc.
api-linter
MCP definition linter rules reference. Use when bun run lint:mcp or bun run devcheck reports a lint error or warning (format-parity, schema-is-object, name-format, server-json-, etc.) and you need to understand the rule, its severity, and how to fix it. Every rule ID the linter emits has an entry in this doc.