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.02847 |
| Opus 5.5 | $0.00018 | $0.01139 |
| Sonnet 5.5 | $0.00009 | $0.00569 |
| Haiku 4.5 | $0.00004 | $0.00285 |
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 18d 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 — 210 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Spotify MCP Doctor
Diagnose 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 0 — Diagnose inside the MCP host
This probe requires only the active MCP connection: no shell, repository, or local build. It is the first probe for OpenClaw and other host-only agents.
- Call
spotify_doctorwithverbose: true. - Call
toolset_reporton the same connection. - Interpret the live rows rather than assuming the configuration:
token/token_refresh: missing, unreadable, or corrupt tokens are failures; an expired access token with a refresh token is a warning because the next API call refreshes it; a missing refresh token requires re-authentication.scopes: compare the granted scopes with write capabilities in the active toolsets. Re-authenticate when the report names a gap.account/account_premium: distinguish Free-account playback limits from transport or auth failures.rate_limit: respect an active cooldown and itsRetry-Aftervalue.config: use the reported token path and fetch/shaping caps; do not substitute a guessed path.cache:read cache disabled on this reporting pathmeans the reporting process has no read cache, not that a cache is failing — see the row's detail line. The live figures come from a server session.
- Use
toolset_report.structuredContent.registered_toolsas the live registered-tool count. Use its active toolsets/modules to explain why a tool is missing; a toolset trim is different from a registration failure. - Use
spotify_doctor's surface row for the payload cost, not just the count.surface.schema_bytesis the UTF-8 size of thetools/listpayload this session actually serves andsurface.est_tokensis a rough token figure for it — the unit the schema budget gate enforces, which a tool-name count cannot answer. A caller who trimmed to a smaller surface and wants to know what that cost reads these two fields. They are0withregistry_available: false, which is the CLI subcommand running outside the server process, not an empty surface.
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.
- 18d ago Changed · +23 lines 58f2954038bb
- 1mo ago Changed · +22 lines 5d7ba89d0bdc
- 1mo ago Changed · +66 lines 90883607d425
- 1mo 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 4d ago), licensed MIT. It adds 44 tokens to every session and 2,847 once invoked, about $0.0002 per session on Opus 5.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-errors
McpError constructor, JsonRpcErrorCode reference, and error handling patterns for @cyanheads/mcp-ts-core. Use when looking up error codes, understanding where errors should be thrown vs. caught, or using ErrorHandler.tryCatch in services.
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.
report-issue-local
File a bug or feature request against this MCP server's own repo. Use for server-specific issues — tool logic, service integrations, config problems, or domain bugs that aren't caused by the framework.