Skip to main content
Glama

Astra: create and edit playlists

astra_playlist

Create and edit Astra playlists: rename playlists, add or remove tracks, and move tracks to reorder them.

Instructions

Create a playlist in Astra, rename one, or add / remove / reorder its tracks. "create" needs name. "rename" needs ref and name. "add-tracks" needs ref and trackRefs. "remove-track" needs ref and trackRef. "move-track" needs ref, trackRef, and position. Get playlist refs from astra_search with types ["playlist"], and track refs from astra_search with types ["track"]. Refs are opaque signed strings from astra_search (or from the current track / queue). Pass them through verbatim — never parse, edit, or invent one. A ref can go stale and return 404.

Limits: only locally owned normal playlists are editable — mirrored (Jellyfin or Subsonic) and dynamic playlists reject edits with playlist_not_writable. Astra has no playlist deletion endpoint, so playlists cannot be deleted through this server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refNoRequired for every action except "create": the playlist ref.
nameNoRequired for "create" and "rename": the playlist name, 1-200 characters.
actionYesThe playlist operation to perform.
positionNoRequired for "move-track": the 0-based index to move the track to.
trackRefNoRequired for "remove-track" and "move-track": the track ref to act on.
trackRefsNoRequired for "add-tracks": track refs to append, in order. More than 100 are sent in batches automatically.
Behavior5/5

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

The annotations only signal mutating, open-world, non-idempotent behavior. The description goes far beyond by disclosing that refs are opaque signed strings that must be passed verbatim, that stale refs yield 404, that only locally owned normal playlists are editable, and that deletion is impossible. This is rich behavioral context with no contradictions.

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?

The description is front-loaded with a clear first-sentence summary, then efficiently lists required parameters per action, followed by essential cross-tool references and failure modes. Every sentence is informational and earns its place; there is no filler or redundant explanation.

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

Completeness5/5

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

Given the tool's complexity (six parameters, five actions, no output schema, sparse annotations), the description covers all necessary operational context: how to source refs, what causes 404, what playlist types reject edits, and the absence of deletion. It is sufficiently complete for an agent to invoke correctly without further clarification.

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

Parameters5/5

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

While the schema already covers all parameters (100% coverage), the description adds crucial per-action requirements ('create needs name', 'rename needs ref and name', etc.), the automatic batching of >100 trackRefs, and the rule to never parse or edit refs. These semantics are not present in the schema and significantly improve correct invocation.

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 opens with a precise and specific verb-resource pairing: 'Create a playlist in Astra, rename one, or add / remove / reorder its tracks.' It enumerates all supported actions and clearly distinguishes this playlist-focused tool from sibling queue-editing tools like astra_queue_edit.

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

Usage Guidelines5/5

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

The description explicitly tells the agent where to obtain refs (astra_search), explicitly excludes mirrored/dynamic playlists with a concrete error code, and explicitly states that playlist deletion is not available. These are direct when-to-use and when-not-to-use directives with an alternative source, exceeding the minimum guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Boof2015/astra-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server