Skip to main content
Glama

Get Artist

get_artist
Read-onlyIdempotent

Get artist details including biography, country, founding date, and complete release list. Requires artist ID from search_artists.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesMusicBrainz artist ID (UUID).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesMusicBrainz artist ID
nameYesArtist name
typeNoArtist type (e.g., Person, Group)
countryNoCountry code
releasesYesList of releases by artist
life_spanNoArtist life span information

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "id": "b10bbbfc-cf9e-42e0-be17-e2c3e1d2600d"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "country": {
      +      "description": "Country code",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "id": {
      +      "description": "MusicBrainz artist ID",
      +      "type": "string"
      +    },
      +    "life_span": {
      +      "description": "Artist life span information",
      +      "properties": {
      +        "begin": {
      +          "description": "Birth/formation date (YYYY-MM-DD)",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "end": {
      +          "description": "Death/dissolution date (YYYY-MM-DD)",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "ended": {
      +          "description": "Whether the artist's life span has ended",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "name": {
      +      "description": "Artist name",
      +      "type": "string"
      +    },
      +    "releases": {
      +      "description": "List of releases by artist",
      +      "items": {
      +        "properties": {
      +          "date": {
      +            "description": "Release date (YYYY-MM-DD)",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "description": "MusicBrainz release ID",
      +            "type": "string"
      +          },
      +          "status": {
      +            "description": "Release status",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "title": {
      +            "description": "Release title",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "title"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "type": {
      +      "description": "Artist type (e.g., Person, Group)",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "name",
      +    "releases"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • removedInput schema / examples
      Removed value: -[
      -  {
      -    "id": 1234
      -  }
      -]
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "artwork_ids": {
      -      "description": "IDs of artworks by this artist",
      -      "items": {
      -        "type": "number"
      -      },
      -      "type": "array"
      -    },
      -    "birth_date": {
      -      "description": "Birth year or date",
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "death_date": {
      -      "description": "Death year or date",
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "description": {
      -      "description": "Artist biography or description",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "id": {
      -      "description": "Artist ID",
      -      "type": "number"
      -    },
      -    "name": {
      -      "description": "Artist name",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "id",
      -    "name",
      -    "artwork_ids"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "artwork_ids": {
      +      "description": "IDs of artworks by this artist",
      +      "items": {
      +        "type": "number"
      +      },
      +      "type": "array"
      +    },
      +    "birth_date": {
      +      "description": "Birth year or date",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "death_date": {
      +      "description": "Death year or date",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "description": {
      +      "description": "Artist biography or description",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "id": {
      +      "description": "Artist ID",
      +      "type": "number"
      +    },
      +    "name": {
      +      "description": "Artist name",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "name",
      +    "artwork_ids"
      +  ],
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "id": 1234
      +  }
      +]
  5. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds minimal behavioral context beyond that, such as the 'complete release list' hinting at potentially large responses, but it does not describe pagination or error behavior. This adds some value but is not rich.

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?

Two sentences, front-loaded with the action and content, followed by a necessary prerequisite. There is zero redundant phrasing, and every word adds value. The structure is optimal for quick parsing.

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?

With only one parameter, an output schema present, and comprehensive annotations, the description covers all essential context for a simple get-by-id tool. The only slight shortfall is not naming close siblings (e.g., get_release) to prevent misuse, but the purpose is sufficiently distinct.

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?

The schema already provides 100% coverage with a description for the id parameter ('MusicBrainz artist ID (UUID)'). The description adds contextual provenance by stating the ID comes from search_artists, which helps the agent understand how to obtain it. This goes beyond the schema's static definition.

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 clearly states the verb 'Get' and resource 'artist details', enumerating specific contents (biography, country, founding date, complete release list). This distinguishes it from sibling tools like get_release and search_artists. The explicit reference to requiring an artist ID from search_artists further disambiguates its role.

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

Usage Guidelines4/5

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

The description specifies a clear prerequisite: an artist ID must come from search_artists, implying this tool is for retrieval after an ID is known. It does not explicitly state when not to use it or name alternatives, but the workflow hint provides actionable guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.8/5.0
Disambiguation3/5

Many tools are crisply separated (memory CRUD, subscription lifecycle, single-entity vs compare vs profile), but several broad entry points overlap: ask_pipeworx, ask_pipeworx_beta, and ask_pipeworx_grounded are very close variants, and discover_tools/suggest_questions/ask_pipeworx all serve discovery/routing. Descriptions help, but an agent can still easily select one of the duplicate or adjacent tools instead of the intended one.

Naming Consistency3/5

All names are readable snake_case and there are coherent families (polymarket_*, ask_pipeworx_*, search_*, get_*), but there is no consistent verb_noun convention: noun-phrase names like recent_alerts and pipeworx_trending coexist with single verbs like remember and forget and domain-prefixed nouns like polymarket_edges. Mixed, but still reasonably navigable.

Tool Count2/5

At 35 tools, the surface is well past the comfortable 3-15 tool scope and even beyond the 16-25 heavy range unless the server has one explicit mega-purpose. The set also sprawls across music lookup, Pipeworx research, prediction markets, npm checks, LLM visibility, memory, and subscriptions, so no single coherent job emerges.

Completeness4/5

For the dominant read-only research workflow, the set is remarkably complete: discover tools, grounded and ungrounded asking, deep research, entity resolution, profiles, recent changes, comparisons, claim verification, search_within, plus full memory and subscription lifecycles. Minor gaps include the shallow music side relative to the rest of the server and the absence of an explicit source catalog.