Skip to main content
Glama

export_followed_artists

Export your followed Spotify artists to local JSON or CSV files. Get artist names, URIs, and genres for backup or analysis.

Instructions

Export your followed artists to a local directory as JSON or CSV. Fields: uri, name, genres. The file's exported_at is the export time, not a per-artist follow date (Spotify does not expose followed_at).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoOutput format: json or csvjson
output_dirNoLocal directory to write into, confined to the output root (default ~/.spotify-mcp/portability, set SPOTIFY_MCP_PORTABILITY_DIR to move it)
response_formatNo'concise' = human prose, 'detailed' = more fields in prose, 'json' = raw API objectconcise

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.1.2
    • changedInput schema / properties / output_dir / description
      Previous value: -"Local directory to write files into (default: ~/.spotify-mcp/portability)"New value: +"Local directory to write into, confined to the output root (default ~/.spotify-mcp/portability, set SPOTIFY_MCP_PORTABILITY_DIR to move it)"
  2. Changed2 schema fields changedv1.31.0
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
  3. Addedv1.26.1

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide only destructiveHint: false, so the description carries the behavioral burden. It discloses the file-writing side effect ('to a local directory'), the output field set, and — most valuably — that exported_at is the export time, not a follow date, because Spotify does not expose followed_at. This preempts a likely misinterpretation of the produced data, and none of it contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with the core purpose front-loaded in the first sentence and zero wasted words. The field list and the exported_at caveat each earn their place; the caveat preempts a data-interpretation error rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool (3 optional params, no output schema, non-destructive), the description plus schema cover purpose, destination, response mode (via response_format), field semantics, and the exported_at caveat. Minor gaps remain around overwrite behavior and directory creation, but nothing an agent needs to invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: all three parameters (format, output_dir, response_format) are documented with defaults, enums, and meaning, so the baseline is 3. The description adds marginal value by enumerating the exported fields (uri, name, genres), which clarifies what the chosen format will contain, but it doesn't deepen the meaning of any individual parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Export'), names the exact resource ('your followed artists'), the destination ('a local directory'), formats (JSON or CSV), and even the exported fields. Among the large sibling set of export_* tools, this uniquely targets followed artists, and it is clearly distinguishable from get_followed_artists by the explicit file-persistence behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the phrasing signals it is for creating a local file of followed artists. There is no explicit when/when-not guidance, and with retrieval siblings like get_followed_artists and broader exports like export_library_json in the sibling set, an agent gets no direct routing help. The exported_at caveat is informative but not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools