Koskamo

SpotCheck MCP

SpotCheck MCP allows AI agents to analyze Spotify playlists for bot-farm patterns using public data. It provides a 0-100 bot-risk score, identifies signals like follower-to-listening ratios, and helps artists triage artificial streaming warnings by drafting replies to distributors.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

SpotCheck MCP logo, by Chris SchofieldCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-08Published by Chris Schofield
MCP endpoint (Streamable HTTP)
https://spotcheck.cc/api/mcp
Vendor documentation

What its tools do

7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

7 of 7 have a description · 0 of 7 declare behavior hints · 5 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Check a Spotify playlist for bot-farm patterns
  • Scan warning playlists from Spotify for Artists
  • Draft a reply to a distributor warning
  • Analyze playlist follower and track metrics

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
spotcheck 1.0.0
MCP protocol negotiated in check
2024-11-05
Tools
7 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Tools

7 advertised

check_playlist
Advertised by the server during the last successful anonymous check.

Analyses a Spotify playlist for inorganic follower inflation and bot activity. Returns a 0-100 risk score, risk level (low, medium, high, editorial), heuristic factor breakdown (follower/track ratios, generic naming patterns, sudden follower spikes), and historical snapshot trends.

check_playlist input schema
{
  "type": "object",
  "required": [
    "playlist"
  ],
  "properties": {
    "playlist": {
      "type": "string",
      "description": "Spotify playlist URL (e.g. \"https://open.spotify.com/playlist/1PmwMQY86pJuAm7veFt3u2\"), URI, or 22-character playlist ID."
    }
  }
}
check_playlist annotations
{
  "tags": [
    "spotify",
    "playlist",
    "bot-detection",
    "validation"
  ],
  "readOnly": true,
  "isConsequential": false
}
get_curator_contacts
Advertised by the server during the last successful anonymous check.

Extracts public submission contact channels (emails, Instagram, X/Twitter, TikTok handles, and submission links) from a Spotify playlist description, along with researched curator pitch guidance when available.

get_curator_contacts input schema
{
  "type": "object",
  "required": [
    "playlist"
  ],
  "properties": {
    "playlist": {
      "type": "string",
      "description": "Spotify playlist URL, URI, or 22-character playlist ID."
    }
  }
}
get_curator_contacts annotations
{
  "tags": [
    "spotify",
    "curator",
    "contacts",
    "promotion",
    "email"
  ],
  "readOnly": true,
  "isConsequential": false
}
list_monitors
Advertised by the server during the last successful anonymous check.

Lists all playlists currently tracked under 24/7 cloud monitoring for the authenticated account, including 24-hour and 7-day follower deltas, anomaly flags, and latest snapshot timestamps.

list_monitors input schema
{
  "type": "object",
  "properties": {}
}
list_monitors annotations
{
  "tags": [
    "spotify",
    "monitoring",
    "cloud-tracking"
  ],
  "readOnly": true,
  "isConsequential": false
}
add_monitor
Advertised by the server during the last successful anonymous check.

Enrolls a Spotify playlist in automated cloud monitoring for daily follower snapshots, growth trend analysis, and inorganic spike alerts. Allows up to 25 monitored playlists per Premium account.

add_monitor input schema
{
  "type": "object",
  "required": [
    "playlist"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Optional custom display label for the monitor."
    },
    "playlist": {
      "type": "string",
      "description": "Spotify playlist URL, URI, or 22-character playlist ID to monitor."
    },
    "track_id": {
      "type": "string",
      "description": "Optional 22-character Spotify track ID to track placement status alerts for."
    }
  }
}
add_monitor annotations
{
  "tags": [
    "spotify",
    "monitoring",
    "cloud-tracking",
    "mutation"
  ],
  "readOnly": false,
  "isConsequential": true
}
remove_monitor
Advertised by the server during the last successful anonymous check.

Stops automated monitoring and alert tracking for a Spotify playlist.

remove_monitor input schema
{
  "type": "object",
  "required": [
    "playlist"
  ],
  "properties": {
    "playlist": {
      "type": "string",
      "description": "Spotify playlist URL, URI, or 22-character playlist ID to remove."
    }
  }
}
remove_monitor annotations
{
  "tags": [
    "spotify",
    "monitoring",
    "mutation"
  ],
  "readOnly": false,
  "isConsequential": true
}
get_account_status
Advertised by the server during the last successful anonymous check.

Returns the authenticated user account status, subscription tier (Free, Pro £4.99, Premium £14.99), remaining free check allowances, and enabled features.

get_account_status input schema
{
  "type": "object",
  "properties": {}
}
get_account_status annotations
{
  "tags": [
    "account",
    "status",
    "entitlements"
  ],
  "readOnly": true,
  "isConsequential": false
}
scan_warning_playlists
Advertised by the server during the last successful anonymous check.

Scores every Spotify playlist an artist pastes after a distributor flags a track for artificial streaming (the full list from Spotify for Artists). Returns each playlist ranked by bot-risk score with skip reasons for invalid or unavailable links. Free accounts get up to 2 scans a day with only the worst flagged playlist unlocked; Pro and Premium are unlimited with the full ranked report. Requires a signed-in account (anonymous callers are not supported). Supply artistName, trackName and distributor to also receive drafted reply text once the report is unlocked.

scan_warning_playlists input schema
{
  "type": "object",
  "required": [
    "links"
  ],
  "properties": {
    "links": {
      "type": "string",
      "description": "Spotify playlist links, URIs or ids, one per line (also accepts comma or space separated), as pasted from Spotify for Artists. Up to 50."
    },
    "trackName": {
      "type": "string",
      "description": "The flagged track name, to fill into drafts."
    },
    "artistName": {
      "type": "string",
      "description": "Artist name to fill into the drafted distributor reply and removal requests."
    },
    "distributor": {
      "type": "string",
      "description": "Distributor name, to address the drafted reply to."
    }
  }
}
scan_warning_playlists annotations
{
  "tags": [
    "spotify",
    "playlist",
    "bot-detection",
    "warning-scan",
    "curator-outreach"
  ],
  "readOnly": true,
  "isConsequential": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-09: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
642 ms
95th percentile latency
642 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 642 ms · metadata changed · 7 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http spotcheck-mcp https://spotcheck.cc/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add spotcheck-mcp --url https://spotcheck.cc/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable spotcheck-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "spotcheck-mcp": {
      "url": "https://spotcheck.cc/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "spotcheck-mcp": {
      "type": "streamableHttp",
      "url": "https://spotcheck.cc/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start spotcheck-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "spotcheck-mcp": {
      "type": "http",
      "url": "https://spotcheck.cc/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http spotcheck-mcp https://spotcheck.cc/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://spotcheck.cc/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "spotcheck-mcp": {
      "serverUrl": "https://spotcheck.cc/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like SpotCheck MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.