Skip to main content
Glama

Get a player's ban status

get_player_bans
Read-only

Check a player's VAC, game, community, and trade bans by SteamID64. Avoid trading with banned users, even when profiles are private.

Instructions

Check a player's VAC, game, community and economy (trade) ban status by SteamID64 — 'is this player banned', useful before trading or adding a friend. Ban status is always public — this works even when the rest of the profile is private. days_since_last_ban is null for a player who has never been banned — Steam sends 0 there, which would otherwise read as 'banned today'. Requires STEAM_API_KEY.

Input Schema

NameRequiredDescriptionDefault
steamidNo17-digit SteamID64. Omit to use the STEAM_ID configured on the server. Convert a vanity/custom URL name with resolve_vanity_url first.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.14.0
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "reason": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "reason"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "community_banned": {
      -        "type": "boolean"
      -      },
      -      "days_since_last_ban": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "economy_ban": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "found": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "game_ban_count": {
      -        "type": "number"
      -      },
      -      "steamid": {
      -        "type": "string"
      -      },
      -      "vac_ban_count": {
      -        "type": "number"
      -      },
      -      "vac_banned": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "vac_banned",
      -      "vac_ban_count",
      -      "game_ban_count",
      -      "community_banned",
      -      "economy_ban",
      -      "days_since_last_ban"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "reason": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "reason"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "community_banned": {
      +        "type": "boolean"
      +      },
      +      "days_since_last_ban": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "economy_ban": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "found": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "game_ban_count": {
      +        "type": "number"
      +      },
      +      "steamid": {
      +        "type": "string"
      +      },
      +      "vac_ban_count": {
      +        "type": "number"
      +      },
      +      "vac_banned": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "vac_banned",
      +      "vac_ban_count",
      +      "game_ban_count",
      +      "community_banned",
      +      "economy_ban",
      +      "days_since_last_ban"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changedv0.13.1
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": false,
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "found"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "community_banned": {
      -        "type": "boolean"
      -      },
      -      "days_since_last_ban": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "economy_ban": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "found": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "game_ban_count": {
      -        "type": "number"
      -      },
      -      "steamid": {
      -        "type": "string"
      -      },
      -      "vac_ban_count": {
      -        "type": "number"
      -      },
      -      "vac_banned": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "vac_banned",
      -      "vac_ban_count",
      -      "game_ban_count",
      -      "community_banned",
      -      "economy_ban",
      -      "days_since_last_ban"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "reason": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "reason"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "community_banned": {
      +        "type": "boolean"
      +      },
      +      "days_since_last_ban": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "economy_ban": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "found": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "game_ban_count": {
      +        "type": "number"
      +      },
      +      "steamid": {
      +        "type": "string"
      +      },
      +      "vac_ban_count": {
      +        "type": "number"
      +      },
      +      "vac_banned": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "vac_banned",
      +      "vac_ban_count",
      +      "game_ban_count",
      +      "community_banned",
      +      "economy_ban",
      +      "days_since_last_ban"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed3 schema fields changedv0.12.1
    • addedInput schema / additionalProperties
      Added value: +false
    • removedOutput schema / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": false,
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "found"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "community_banned": {
      -        "type": "boolean"
      -      },
      -      "days_since_last_ban": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "economy_ban": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "found": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "game_ban_count": {
      -        "type": "number"
      -      },
      -      "steamid": {
      -        "type": "string"
      -      },
      -      "vac_ban_count": {
      -        "type": "number"
      -      },
      -      "vac_banned": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "vac_banned",
      -      "vac_ban_count",
      -      "game_ban_count",
      -      "community_banned",
      -      "economy_ban",
      -      "days_since_last_ban"
      -    ],
      -    "type": "object"
      -  }
      -]
    • addedOutput schema / oneOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": false,
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "found"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "community_banned": {
      +        "type": "boolean"
      +      },
      +      "days_since_last_ban": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "economy_ban": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "found": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "game_ban_count": {
      +        "type": "number"
      +      },
      +      "steamid": {
      +        "type": "string"
      +      },
      +      "vac_ban_count": {
      +        "type": "number"
      +      },
      +      "vac_banned": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "vac_banned",
      +      "vac_ban_count",
      +      "game_ban_count",
      +      "community_banned",
      +      "economy_ban",
      +      "days_since_last_ban"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Addedv0.10.2
  5. Removedv0.8.0
  6. Addedv0.7.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, but the description adds valuable behavioral details: ban status is always public regardless of profile privacy, and the null-vs-0 nuance for days_since_last_ban (which prevents misinterpreting 'never banned' as 'banned today'). It also discloses the STEAM_API_KEY requirement. These go well beyond the annotations and significantly improve correct interpretation.

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 with zero fluff. The primary purpose is front-loaded, the public-status clarification follows naturally, and the critical output nuance is placed last. Every clause contributes new information; no redundancy with the schema or annotations.

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 presence of an output schema (so return values need no explanation), the description covers all necessary invocation details: purpose, parameter guidance, environmental requirement (API key), and a data-interpretation quirk. Nothing an agent needs to correctly select and use this tool is missing.

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% (the steamid parameter is fully documented), so baseline is 3. The description adds extra meaning by explaining the optionality (omit to use configured STEAM_ID) and by directing users to resolve_vanity_url for vanity names. This enriches the schema's plain pattern/type 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 opens with a specific verb 'Check' and explicitly lists the resource: 'VAC, game, community and economy (trade) ban status by SteamID64'. It also states the practical use case ('useful before trading or adding a friend'), which clearly distinguishes this from other player-related siblings like get_player_summary. No ambiguity about what the tool does.

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?

Provides clear usage context: 'useful before trading or adding a friend' and notes that ban status works even when profiles are private. The schema adds an explicit routing instruction to 'Convert a vanity/custom URL name with resolve_vanity_url first'. However, it does not explicitly name other alternatives or state when NOT to use this tool, so not a 5.

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