Skip to main content
Glama

Find friends who own a game

find_friends_who_own
Read-only

Find which Steam friends own specific games by appid and see their playtime hours. Checks each friend's full library to catch unplayed or rarely-played copies.

Instructions

Check which of a player's Steam friends own one or more games by appid, with each owner's playtime_hours — 'which of my friends have Portal 2 and how long have they played'. Checks each friend's FULL library, unlike get_owned_games whose own list stops at 50 games by playtime by default — so a friend's rarely-played or unplayed copy is never missed (its playtime_hours may still be low or 0). For the PLAYER'S OWN ownership instead of a friend's, use get_owned_games's check_appids. Requires STEAM_API_KEY and the player's OWN friends list to be public — otherwise the whole call returns found:false, which also covers a SteamID64 with no account behind it; read reason. A friend's individually private library is a different, per-friend case: that friend is listed in private_friends (can't be checked) rather than silently counted as a non-owner. Likewise, a friend whose own library lookup failed (e.g. rate-limited) lands in unavailable_friends with a reason instead of failing the whole call — every other friend's result still comes through. Each of owners, private_friends and unavailable_friends is capped at 100 entries (a sibling _total field appears only when it was actually truncated). On a big account only 200 friends are looked up at all (one Steam call per friend would otherwise run past an MCP client's request timeout), and they are the most-recently-added ones — the same ordering and the same prefix get_friend_list shows, so 'the friends checked' is a set you can actually name — compare friends_checked against total_friends, and treat a friend missing from all three lists as unchecked, not as a non-owner. Get appids from search_games.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appidsYesSteam appids to check (1-10). An appid that doesn't exist is not an error — it comes back with an empty `owners` list, indistinguishable from 'no friend owns it'. Confirm it with get_game first if that matters.
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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.14.0
    • changedInput schema / properties / appids / description
      Previous value: -"Steam appids to check (1-10)."New value: +"Steam appids to check (1-10). An appid that doesn't exist is not an error — it comes back with an empty `owners` list, indistinguishable from 'no friend owns it'. Confirm it with get_game first if that matters."
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "reason": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "reason"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "friends_checked": {
      -        "description": "How many of `total_friends` were actually looked up. Lower than total_friends on a very large friend list, where checking every one would exceed an MCP client's request timeout — the unchecked friends are simply absent from all three lists below, so treat a gap here as 'not checked', never as 'doesn't own it'.",
      -        "type": "number"
      -      },
      -      "matches": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "appid": {
      -              "type": "number"
      -            },
      -            "owners": {
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "name": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "playtime_hours": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "steamid": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "steamid",
      -                  "name",
      -                  "playtime_hours"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "owners_total": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "appid",
      -            "owners"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "private_friends": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "steamid": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "steamid",
      -            "name"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "private_friends_total": {
      -        "type": "number"
      -      },
      -      "total_friends": {
      -        "type": "number"
      -      },
      -      "unavailable_friends": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "reason": {
      -              "type": "string"
      -            },
      -            "steamid": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "steamid",
      -            "name",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "unavailable_friends_total": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "total_friends",
      -      "friends_checked",
      -      "matches",
      -      "private_friends",
      -      "unavailable_friends"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "reason": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "reason"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "friends_checked": {
      +        "description": "How many of `total_friends` were actually looked up. Lower than total_friends on a very large friend list, where checking every one would exceed an MCP client's request timeout — the unchecked friends are simply absent from all three lists below, so treat a gap here as 'not checked', never as 'doesn't own it'.",
      +        "type": "number"
      +      },
      +      "matches": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "appid": {
      +              "type": "number"
      +            },
      +            "owners": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "name": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "playtime_hours": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "steamid": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "steamid",
      +                  "name",
      +                  "playtime_hours"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "owners_total": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "appid",
      +            "owners"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "private_friends": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "steamid": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "steamid",
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "private_friends_total": {
      +        "type": "number"
      +      },
      +      "total_friends": {
      +        "type": "number"
      +      },
      +      "unavailable_friends": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "reason": {
      +              "type": "string"
      +            },
      +            "steamid": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "steamid",
      +            "name",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "unavailable_friends_total": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "total_friends",
      +      "friends_checked",
      +      "matches",
      +      "private_friends",
      +      "unavailable_friends"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changedv0.13.1
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "reason": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "reason"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "matches": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "appid": {
      -              "type": "number"
      -            },
      -            "owners": {
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "name": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "playtime_hours": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "steamid": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "steamid",
      -                  "name",
      -                  "playtime_hours"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "owners_total": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "appid",
      -            "owners"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "private_friends": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "steamid": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "steamid",
      -            "name"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "private_friends_total": {
      -        "type": "number"
      -      },
      -      "total_friends": {
      -        "type": "number"
      -      },
      -      "unavailable_friends": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "reason": {
      -              "type": "string"
      -            },
      -            "steamid": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "steamid",
      -            "name",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "unavailable_friends_total": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "total_friends",
      -      "matches",
      -      "private_friends",
      -      "unavailable_friends"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "reason": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "reason"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "friends_checked": {
      +        "description": "How many of `total_friends` were actually looked up. Lower than total_friends on a very large friend list, where checking every one would exceed an MCP client's request timeout — the unchecked friends are simply absent from all three lists below, so treat a gap here as 'not checked', never as 'doesn't own it'.",
      +        "type": "number"
      +      },
      +      "matches": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "appid": {
      +              "type": "number"
      +            },
      +            "owners": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "name": {
      +                    "anyOf": [
      +                      {
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "playtime_hours": {
      +                    "anyOf": [
      +                      {
      +                        "type": "number"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "steamid": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "steamid",
      +                  "name",
      +                  "playtime_hours"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "owners_total": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "appid",
      +            "owners"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "private_friends": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "steamid": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "steamid",
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "private_friends_total": {
      +        "type": "number"
      +      },
      +      "total_friends": {
      +        "type": "number"
      +      },
      +      "unavailable_friends": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "reason": {
      +              "type": "string"
      +            },
      +            "steamid": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "steamid",
      +            "name",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "unavailable_friends_total": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "total_friends",
      +      "friends_checked",
      +      "matches",
      +      "private_friends",
      +      "unavailable_friends"
      +    ],
      +    "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"
      -      },
      -      "reason": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "reason"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "matches": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "appid": {
      -              "type": "number"
      -            },
      -            "owners": {
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "name": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "playtime_hours": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "steamid": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "steamid",
      -                  "name",
      -                  "playtime_hours"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "owners_total": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "appid",
      -            "owners"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "private_friends": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "steamid": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "steamid",
      -            "name"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "private_friends_total": {
      -        "type": "number"
      -      },
      -      "total_friends": {
      -        "type": "number"
      -      },
      -      "unavailable_friends": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "reason": {
      -              "type": "string"
      -            },
      -            "steamid": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "steamid",
      -            "name",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "unavailable_friends_total": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "total_friends",
      -      "matches",
      -      "private_friends",
      -      "unavailable_friends"
      -    ],
      -    "type": "object"
      -  }
      -]
    • addedOutput schema / oneOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "reason": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "reason"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "matches": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "appid": {
      +              "type": "number"
      +            },
      +            "owners": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "name": {
      +                    "anyOf": [
      +                      {
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "playtime_hours": {
      +                    "anyOf": [
      +                      {
      +                        "type": "number"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "steamid": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "steamid",
      +                  "name",
      +                  "playtime_hours"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "owners_total": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "appid",
      +            "owners"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "private_friends": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "steamid": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "steamid",
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "private_friends_total": {
      +        "type": "number"
      +      },
      +      "total_friends": {
      +        "type": "number"
      +      },
      +      "unavailable_friends": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "reason": {
      +              "type": "string"
      +            },
      +            "steamid": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "steamid",
      +            "name",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "unavailable_friends_total": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "total_friends",
      +      "matches",
      +      "private_friends",
      +      "unavailable_friends"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Addedv0.10.4
  5. Removedv0.10.4
  6. Addedv0.10.2
  7. Removedv0.8.0
  8. Addedv0.6.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations provide readOnlyHint=true, but the description adds substantial behavioral context beyond that: full-library checking, the 200-friend cap, per-friend failure handling into private_friends/unavailable_friends, 100-entry caps with _total fields, and the found:false behavior for insufficient permissions. 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.

Conciseness4/5

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

The description is long, but front-loaded with the core function in the first sentence and every subsequent sentence covers a real edge case needed to use the tool correctly. The density is justified by the tool's complexity, though a slightly tighter structure would improve scannability.

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 tool with this complexity, the description covers all relevant context: authentication requirements, public/private friend list semantics, failure modes, truncation indicators, ordering, interpretation of missing friends, and cross-references to sibling tools. An output schema exists, so the description's avoidance of detailed return-value documentation is appropriate.

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% – both appids and steamid have detailed schema descriptions, including effects of nonexistent appids and how to resolve vanity URLs. The description reinforces that appids are game IDs and references search_games, but adds no parameter meaning beyond what the schema already provides. Baseline 3 is appropriate.

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?

Opens with a specific verb and resource: 'Check which of a player's Steam friends own one or more games by appid, with each owner's playtime_hours.' It names the exact scope (friends' libraries) and immediately distinguishes itself from get_owned_games, making sibling differentiation explicit.

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 gives explicit when-to-use and when-not-to-use guidance: 'Unlike get_owned_games...' and 'For the PLAYER'S OWN ownership instead of a friend's, use get_owned_games's check_appids.' It also points to search_games for appid lookup and resolve_vanity_url for SteamID conversion, leaving no ambiguity about alternatives.

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