Skip to main content
Glama

player_skins

Retrieve a player's owned skins, including active flag and public card name, with optional filters by skin and active status.

Instructions

Read owned skins with their upstream active flag and public card name by card_detail_id. Missing names have an explicit status. Optional skin and active selectors filter this player's inventory locally before start_index continuation; skin matches the exact upstream name. Results fit within 256 KiB or use local continuation. Fetches the inventory and looks up public card names through the shared 24-hour definition cache (one additional GET on a cold cache). Does not auto-fetch continuation pages. Required inputs reflect tool policy as well as measured upstream requirements. Other declared filters are forwarded as supplied; their effectiveness is not implied by the schema. The array response is limited to complete rows within 256 KiB. Local filters run before pagination. Use start_index from nextPosition in metadata to continue the same filtered query; each invocation fetches the current inventory. Oversized records are refused without partial fields.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
skinNo
activeNo
usernameYes
start_indexNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.0.4
    • addedInput schema / properties / active
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / skin
      Added value: +{
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / start_index
      Added value: +{
      +  "default": 0,
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  2. First observedv0.0.0

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly. It discloses that the tool does not auto-fetch continuation pages, fetches the current inventory on each invocation, uses a shared 24-hour definition cache that may cause an extra GET on a cold cache, limits responses to 256 KiB, refuses oversized records without partial fields, and runs local filters before pagination. This is rich, useful behavioral disclosure far beyond what structured metadata provides.

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

Conciseness3/5

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

The description is dense and front-loaded with the core purpose, but it becomes repetitive around the response-size and pagination behavior: 'Results fit within 256 KiB or use local continuation,' 'The array response is limited to complete rows within 256 KiB,' and 'Oversized records are refused without partial fields' all restate similar limits. Every sentence has value, but trimming the redundancy would improve structure.

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?

Given there is no output schema and no annotations, the description covers the essential invocation context: response constituents, filtering behavior, pagination semantics, cache behavior, and failure handling for oversized records. Some details remain vague, such as the exact status representation for missing names and the meaning of 'by card_detail_id', but the description is sufficiently complete for an agent to use the tool correctly in most cases.

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 0%, so the description must compensate, and it largely does. It explains that 'skin' matches the exact upstream namechery, 'active' filters the player's inventory, and 'start_index' is the continuation cursor from nextPosition. The required 'username' parameter is only implied through 'this player's inventory', not explicitly defined, leaving some ambiguity. Overall, the description adds substantial parameter meaning beyond the bare schema.

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 specific verb and resource: 'Read owned skins with their upstream active flag and public card name by card_detail_id.' This clearly identifies the tool's purpose and scope, and the 'owned skins' framing differentiates it from generic skin/card metadata tools. The phrase 'by card_detail_id' could be clearer since that is not a schema parameter, but the overall purpose is unambiguous.

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 gives clear operational context: optional filters select from the player's inventory, local filters run before pagination, and start_index from nextPosition in metadata should be used for continuation. It also warns that other declared filters are forwarded as supplied without guaranteed effectiveness. It does not name alternative sibling tools or explicitly state when not to use this tool, but the usage guidance is strong.

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