Skip to main content
Glama

Get Player

get_player
Read-onlyIdempotent

Direct lookup of a single NBA player by BallDontLie ID. ⚠️ TIER-GATED: the /players/{id} endpoint requires the ALL-STAR tier ($9.99/mo) or higher; free-tier _apiKey gets a 403 with "No approval received". search_players covers the same player metadata (name/position/height/weight/team) on the free tier, so prefer that unless you already have a paid BallDontLie key.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": 114
    },
    "name": "get_player"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesBallDontLie player ID
_apiKeyYesBallDontLie API key

Output Schema

NameRequiredDescriptionDefault
idYesPlayer ID
nameYesFull name (first + last)
teamYesCurrent team information
heightYesPlayer height
weightYesPlayer weight
collegeYesCollege attended
countryYesCountry of origin
positionYesPlayer position
draft_yearYesYear drafted
draft_roundYesDraft round
draft_numberYesDraft pick number
jersey_numberYesJersey number

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "_apiKey": "your-nba-api-key",
      -    "id": 114
      -  }
      -]New value: +[
      +  {
      +    "id": 114
      +  }
      +]
  2. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "_apiKey": "your-nba-api-key",
      +    "id": 114
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "college": {
      +      "description": "College attended",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "country": {
      +      "description": "Country of origin",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "draft_number": {
      +      "description": "Draft pick number",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "draft_round": {
      +      "description": "Draft round",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "draft_year": {
      +      "description": "Year drafted",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "height": {
      +      "description": "Player height",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "id": {
      +      "description": "Player ID",
      +      "type": "number"
      +    },
      +    "jersey_number": {
      +      "description": "Jersey number",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "name": {
      +      "description": "Full name (first + last)",
      +      "type": "string"
      +    },
      +    "position": {
      +      "description": "Player position",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "team": {
      +      "description": "Current team information",
      +      "properties": {
      +        "abbreviation": {
      +          "description": "Team abbreviation",
      +          "type": "string"
      +        },
      +        "city": {
      +          "description": "Team city",
      +          "type": "string"
      +        },
      +        "conference": {
      +          "description": "Conference (East/West)",
      +          "type": "string"
      +        },
      +        "division": {
      +          "description": "Division name",
      +          "type": "string"
      +        },
      +        "full_name": {
      +          "description": "Full team name",
      +          "type": "string"
      +        },
      +        "id": {
      +          "description": "Team ID",
      +          "type": "number"
      +        },
      +        "name": {
      +          "description": "Team name",
      +          "type": "string"
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "weight": {
      +      "description": "Player weight",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "name",
      +    "position",
      +    "height",
      +    "weight",
      +    "jersey_number",
      +    "college",
      +    "country",
      +    "draft_year",
      +    "draft_round",
      +    "draft_number",
      +    "team"
      +  ],
      +  "type": "object"
      +}
  3. Changed2 schema fields changed
    • removedInput schema / examples
      Removed value: -[
      -  {
      -    "_apiKey": "your-nba-api-key",
      -    "id": 114
      -  }
      -]
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "college": {
      -      "description": "College attended",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "country": {
      -      "description": "Country of origin",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "draft_number": {
      -      "description": "Draft pick number",
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "draft_round": {
      -      "description": "Draft round",
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "draft_year": {
      -      "description": "Year drafted",
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "height": {
      -      "description": "Player height",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "id": {
      -      "description": "Player ID",
      -      "type": "number"
      -    },
      -    "jersey_number": {
      -      "description": "Jersey number",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "name": {
      -      "description": "Full name (first + last)",
      -      "type": "string"
      -    },
      -    "position": {
      -      "description": "Player position",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "team": {
      -      "description": "Current team information",
      -      "properties": {
      -        "abbreviation": {
      -          "description": "Team abbreviation",
      -          "type": "string"
      -        },
      -        "city": {
      -          "description": "Team city",
      -          "type": "string"
      -        },
      -        "conference": {
      -          "description": "Conference (East/West)",
      -          "type": "string"
      -        },
      -        "division": {
      -          "description": "Division name",
      -          "type": "string"
      -        },
      -        "full_name": {
      -          "description": "Full team name",
      -          "type": "string"
      -        },
      -        "id": {
      -          "description": "Team ID",
      -          "type": "number"
      -        },
      -        "name": {
      -          "description": "Team name",
      -          "type": "string"
      -        }
      -      },
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "weight": {
      -      "description": "Player weight",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "required": [
      -    "id",
      -    "name",
      -    "position",
      -    "height",
      -    "weight",
      -    "jersey_number",
      -    "college",
      -    "country",
      -    "draft_year",
      -    "draft_round",
      -    "draft_number",
      -    "team"
      -  ],
      -  "type": "object"
      -}New value: +null
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "college": {
      +      "description": "College attended",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "country": {
      +      "description": "Country of origin",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "draft_number": {
      +      "description": "Draft pick number",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "draft_round": {
      +      "description": "Draft round",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "draft_year": {
      +      "description": "Year drafted",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "height": {
      +      "description": "Player height",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "id": {
      +      "description": "Player ID",
      +      "type": "number"
      +    },
      +    "jersey_number": {
      +      "description": "Jersey number",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "name": {
      +      "description": "Full name (first + last)",
      +      "type": "string"
      +    },
      +    "position": {
      +      "description": "Player position",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "team": {
      +      "description": "Current team information",
      +      "properties": {
      +        "abbreviation": {
      +          "description": "Team abbreviation",
      +          "type": "string"
      +        },
      +        "city": {
      +          "description": "Team city",
      +          "type": "string"
      +        },
      +        "conference": {
      +          "description": "Conference (East/West)",
      +          "type": "string"
      +        },
      +        "division": {
      +          "description": "Division name",
      +          "type": "string"
      +        },
      +        "full_name": {
      +          "description": "Full team name",
      +          "type": "string"
      +        },
      +        "id": {
      +          "description": "Team ID",
      +          "type": "number"
      +        },
      +        "name": {
      +          "description": "Team name",
      +          "type": "string"
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "weight": {
      +      "description": "Player weight",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "name",
      +    "position",
      +    "height",
      +    "weight",
      +    "jersey_number",
      +    "college",
      +    "country",
      +    "draft_year",
      +    "draft_round",
      +    "draft_number",
      +    "team"
      +  ],
      +  "type": "object"
      +}
  5. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "_apiKey": "your-nba-api-key",
      +    "id": 114
      +  }
      +]
  6. Changed2 schema fields changed
    • addedInput schema / properties / _apiKey
      Added value: +{
      +  "description": "BallDontLie API key",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "id"
      -]New value: +[
      +  "id",
      +  "_apiKey"
      +]
  7. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing the tier requirement (ALL-STAR, $9.99/mo) and the exact failure mode a free-tier key hits. It does not describe the response shape or rate limits, but the output schema covers returns.

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, front-loaded with the action, then the gating constraint, then the routing advice. The warning marker draws attention to the highest-risk fact with no wasted wording.

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 two-parameter read tool with full schema coverage, an output schema, and annotations, the description supplies the one missing piece an agent needs - the paid-tier requirement and its workaround. Nothing material is absent.

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%, so both id and _apiKey are already documented; the description adds no format, range, or lookup-disambiguation detail beyond what the schema states. The mention that search_players returns the same metadata is useful context but not parameter semantics.

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?

States a specific verb and resource - "Direct lookup of a single NBA player by BallDontLie ID" - and immediately names the sibling it competes with (search_players). An agent can distinguish this from search_players without opening either schema.

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?

Gives an explicit decision rule: prefer search_players unless you already have a paid BallDontLie key, and explains exactly why (free-tier _apiKey gets a 403). Both the when and the when-not are stated, along with the alternative.

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.