MCP tools, access, and rate limits
Every plan's MCP client can discover all 34 ordinary artist.tools tools; your plan decides which of them run. Free runs 10 tools, Artist runs 17, and Industry and Developer run all 34. Rate limits are enforced per account, not per connected client.
Tool catalog
The exact catalog is visible inside artist.tools and through MCP tool discovery, so compatible clients can see each tool's inputs, filters, and limits automatically. Tools that write data are marked Write, and tools that delete data are marked Deletes data.
Free: 10 tools
Free covers account context, documentation search, saved dashboard entities, entity folders, and notes. You can change existing folders but not create new ones. Free does not include general playlist search or contact data.
who_am_isearch_documentationlist_dashboard_entitieslist_entity_foldersrename_entity_folderdelete_entity_folderadd_entity_to_folderremove_entity_from_folderlist_entity_notesset_entity_note
Artist: adds 7 tools (17 total)
Artist adds entity resolution and detail, playlist search, track credits, artist discography, playlist Discovered On, and folder creation.
resolve_entityget_entitysearch_playlistsget_track_creditsget_artist_discographyget_playlist_discovered_oncreate_entity_folder
Industry: adds 17 tools (34 total)
Industry adds the remaining search, keyword, rankings, Press Mentions, and entity Activity tools.
search_artistssearch_trackssearch_curatorsget_keywordsearch_keywordsget_spotify_autocomplete_suggestionsget_google_rankingsget_press_mentionsget_playlist_spotify_rankingsget_entity_activitylist_keyword_folderscreate_keyword_folderrename_keyword_folderdelete_keyword_folderadd_keyword_to_folderremove_keyword_from_folderset_keyword_saved
Developer: the same 34 tools, higher limits
Developer has the same ordinary tool set as Industry. It is not an extra tool catalog; its advantage is higher MCP rate limits.
Access requirements
The server checks your plan on every tool call, so a plan change takes effect on the next call without reconnecting. A call outside your plan returns a plan_required error naming the required plan, for example: get_keyword requires Industry Access. The OAuth connection remains active. The error also reports your current plan, the required plan, and an upgrade link, and it is not retryable. The who_am_i tool reports which tools your current plan can run and which are restricted.
Separate administrator tools sit outside the 34 ordinary tools and are not part of any plan's catalog. They require a current administrator account and explicit administrator approval on the OAuth connection. See Connect artist.tools to an MCP client for how approval appears on a connection.
Rate limits
Global limits apply per account across all of that account's connected clients.
Plan | Per minute | Per day | Concurrent calls |
|---|---|---|---|
Free | 30 | 2,500 | 1 |
Artist | 120 | 10,000 | 4 |
Industry | 120 | 10,000 | 4 |
Developer | 240 | 20,000 | 8 |
Each tool also has its own profile. The table shows the Artist and Industry baseline. Free runs at one-quarter of these values and Developer at twice, rounded down with a minimum of one; the plan scaling applies to the per-minute, per-day, and concurrency values alike.
Profile | Per minute | Per day | Concurrent calls |
|---|---|---|---|
Search | 60 | 5,000 | 2 |
Workspace reads | 60 | 5,000 | 4 |
Workspace writes | 30 | 1,000 | 2 |
Entity reads | 20 | 1,000 | 2 |
Track credits | 5 | 250 | 1 |
Provider enrichment | 2 | 100 | 1 |
Deep enrichment | 2 | 10 | 1 |
get_playlist_spotify_rankings uses the Search limits normally and the Provider enrichment limits when you call it with refresh=true. A refresh requires a single exact_keyword and a market; bulk ranking refreshes are not allowed.
Each successful call consumes both the global minute and day buckets and the selected tool profile's minute and day buckets. When a limit is reached, the response is a rate_limit_exceeded error that tells the client when to retry: it includes a retryAfterSeconds value and a retryAt timestamp. When concurrency is exhausted, the response is a concurrency_limit_exceeded error with the same retry fields.