Skip to main content
Glama
chrischall

setlist-mcp

by chrischall

Extract a setlist ID from a setlist.fm URL

setlist_id_from_url
Read-onlyIdempotent

Extract the setlist ID from a setlist.fm setlist URL. Handles http/https, with/without www, and extra URL parts, returning the ID for use in other tools.

Instructions

Parse the setlist ID out of a setlist.fm setlist URL so you can paste a link instead of hunting for the ID. Returns {setlistId} (the trailing hex token before .html), ready to feed into setlist_get_setlist / setlist_mark_attended. Scoped to /setlist/ pages — artist (/setlists/) and venue (/venue/) URLs are rejected. Tolerates http/https, with/without www, trailing slash, query/fragment, and a missing .html. Pure local parsing — no network call. Errors if no ID can be parsed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesA setlist.fm setlist URL, e.g. https://www.setlist.fm/setlist/.../...-4ba8a766.html
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds substantial behavioral detail: tolerates various URL formats (http/https, www, trailing slash, query/fragment, missing .html), pure local parsing, and error condition if no ID parsed. No contradiction with 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?

Four sentences, each earning its place. The first sentence immediately conveys the core purpose. No redundant information. Efficiently structured with front-loaded key action.

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?

For a simple parsing tool with one parameter, complete annotations, and no output schema, the description fully covers purpose, usage, parameters, behavior, and return format ('Returns {setlistId}'). No gaps remain.

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

Parameters4/5

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

Schema coverage is 100% with a single 'url' parameter described. The description adds value by providing an example URL format and specifying tolerances (http/https, with/without www, etc.), going beyond the schema's basic description.

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 explicitly states the tool parses a setlist ID from a setlist.fm URL and returns it as {setlistId}. It clearly distinguishes from sibling tools which likely expect an ID directly, not a URL.

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 provides explicit when-to-use: 'paste a link instead of hunting for the ID' and identifies downstream tools (setlist_get_setlist / setlist_mark_attended). It also specifies what URLs are rejected (artist/venue) and that it is pure local parsing with no network call, giving clear usage boundaries.

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/chrischall/setlist-mcp'

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