Skip to main content
Glama

Steam MCP Server

MCP Server for the Steam Web API — access player profiles, game libraries, achievements, news, friend lists, and store search through Claude.

Overview

This Model Context Protocol (MCP) server connects Claude to the Steam Web API, providing 20 tools across 6 modules:

  • Player — profiles, levels, vanity URL resolution, bans, badges

  • Library — owned games, recently played, wishlist

  • Game Info — store details, news, live player counts, reviews

  • Achievements — player progress, global unlock percentages, game schema, per-game stats

  • Social — friends list, group memberships

  • Discovery — Steam store search, featured games & sales

Related MCP server: steam-mcp

Requirements

Installation

Just ask Claude to install this MCP server using the repo URL:

Install the MCP server from https://github.com/matheusslg/steam-mcp

Claude will handle cloning, building, and configuring it for you.

Quick Start (Manual)

# Clone
git clone https://github.com/matheusslg/steam-mcp.git
cd steam-mcp

# Install & build
npm install
npm run build

# Add to Claude Code
claude mcp add steam -e STEAM_API_KEY=your_key_here -- node /absolute/path/to/steam-mcp/dist/index.js

Or add it manually to your MCP config:

{
  "mcpServers": {
    "steam": {
      "command": "node",
      "args": ["/absolute/path/to/steam-mcp/dist/index.js"],
      "env": {
        "STEAM_API_KEY": "your_key_here",
        "STEAM_ID": "your_steam_id_here"
      }
    }
  }
}

Configuration

Variable

Required

Description

STEAM_API_KEY

Yes

Your Steam Web API key

STEAM_ID

No

Default 64-bit Steam ID (used when steam_id parameter is omitted)

Available Tools

Player

Tool

Description

get_player_summary

Profile info — display name, avatar, online status, current game, account age

get_steam_level

Account level for a player

resolve_vanity_url

Convert a custom profile URL to a 64-bit Steam ID

get_player_bans

Check VAC ban, game ban, community ban, and trade ban status

get_badges

Badge collection with XP breakdown, player level, and XP to next level

Library

Tool

Description

get_owned_games

Full game library with playtime — sortable by playtime, name, or recent

get_recently_played_games

Games played in the last two weeks with playtime breakdown

get_wishlist

A player's Steam wishlist (depends on privacy settings)

Game Info

Tool

Description

get_game_details

Store page data — price, genres, Metacritic, platforms, release date

get_game_news

Recent news articles for a game

get_player_count

Current number of online players for a game

get_game_reviews

Reviews with sentiment summary (score, positive/negative) and review text

Achievements

Tool

Description

get_player_achievements

A player's achievement progress for a specific game

get_global_achievement_percentages

Global unlock rates — how rare each achievement is

get_game_schema

Full list of stats and achievements with display names, descriptions, icons

get_user_stats_for_game

A player's per-game stats (kills, wins, etc.) — varies per game

Social

Tool

Description

get_friends_list

A player's friends list with friendship dates

get_user_groups

Steam group IDs a player belongs to

Discovery

Tool

Description

search_apps

Search the Steam store by name — returns App IDs, prices, and Metascores

get_featured_games

Featured store categories: sales, top sellers, new releases, coming soon

Usage Examples

Just ask Claude naturally — it will combine tools as needed.

Game Library Analysis

"How much is my Steam library worth?"
"Show me my shame list — games I own but have 0 hours played"
"What am I actually playing? Show me my last two weeks"

Achievement Hunting

"What are my rarest achievements? Find ones less than 5% of players have"
"Which games am I closest to 100% completion on?"
"Give me an achievement difficulty report for Elden Ring"

Social / Friends

"What are my friends playing right now?"
"Compare my game library with my friend's — what do we both own?"
"Rank my friends by Steam level"
"Who's the OG? Rank my friends by account creation date"

Game Intel

"Is Battlefield 2042 alive? Check the player count"
"Get me a news digest for the games I've played recently"
"Look up Celeste on Steam — price, reviews, the works"

Bans & Trust

"Is this player legit? Check their VAC ban history"
"How many bans does player X have?"

Wishlist & Reviews

"What's on my Steam wishlist?"
"Show me the reviews for Elden Ring — what are people saying?"
"What's the review score for Cyberpunk 2077?"

Store & Sales

"What's on sale on Steam right now?"
"Show me the top sellers and new releases on Steam"

Game Stats

"Show me my Counter-Strike stats — kills, deaths, wins"
"What are all the possible achievements for Hades?"

Fun Stats

"Roast my Steam profile — age, level, games owned vs played, hours wasted"
"What games define my friend group? Most commonly owned games across all my friends"
"Give me my Counter-Strike addiction report"

Project Structure

steam-mcp/
├── src/
│   ├── index.ts              # Server entry point
│   ├── config.ts             # Environment config & Steam ID resolution
│   ├── types.ts              # Steam API response interfaces
│   ├── api/
│   │   ├── client.ts         # HTTP client with retry logic
│   │   └── endpoints.ts      # Steam API endpoint constants
│   └── tools/
│       ├── player.ts         # get_player_summary, get_steam_level, resolve_vanity_url, get_player_bans, get_badges
│       ├── library.ts        # get_owned_games, get_recently_played_games, get_wishlist
│       ├── game-info.ts      # get_game_details, get_game_news, get_player_count, get_game_reviews
│       ├── achievements.ts   # get_player_achievements, get_global_achievement_percentages, get_game_schema, get_user_stats_for_game
│       ├── social.ts         # get_friends_list, get_user_groups
│       └── discovery.ts      # search_apps, get_featured_games
├── package.json
├── tsconfig.json
├── LICENSE
└── README.md

Development

npm run build       # Compile TypeScript
npm run dev         # Watch mode
npm run start       # Run the server
npm run clean       # Remove dist/

License

MIT

Available Tools

20 tools
get_badgesGet BadgesA

Get a player's badge collection with XP breakdown, player level, and XP needed for next level.

ParametersJSON Schema
NameRequiredDescriptionDefault
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var if not provided.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It mentions fallback to env var for steam_id, which is helpful, but does not disclose if read-only, rate limits, or auth requirements.

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?

Single sentence, entirely front-loaded with key actions and outputs, no extraneous information.

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?

With no output schema, description adequately enumerates return data: badge collection, XP, player level, XP needed. Covers fallback behavior. Sufficient for a simple tool.

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 covers steam_id with description. Description adds value by explaining fallback to env var, which the schema does not mention.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it retrieves badge collection with XP details. Differentiates from sibling tools by specificity to badges, but does not explicitly name alternatives.

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

Usage Guidelines3/5

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

Implied when badge data is needed, but no explicit when-to-use or when-not-to-use guidance compared to siblings.

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

get_friends_listGet Friends ListA

Get a player's Steam friends list with friendship dates. Requires public profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var.

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It adds 'with friendship dates' and 'requires public profile,' but lacks details about behavior when profile is private, rate limits, or response format.

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?

A single sentence conveys the core purpose and a key requirement with no wasted words.

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 no output schema, the description mentions returning friends list with dates, but does not specify format (e.g., list of objects, fields). Still adequate for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% coverage for steam_id with a description, and the description adds context that it falls back to STEAM_ID env var, significantly enhancing usability beyond the 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 clearly states the tool retrieves a player's Steam friends list with friendship dates, which is specific and distinguishes it from sibling tools like get_player_bans or get_player_summary.

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 notes 'Requires public profile,' providing a clear precondition. It does not explicitly state when to use this over alternatives, but the name and context imply its purpose.

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

get_game_detailsGet Game DetailsA

Get detailed info about a Steam game: price, description, genres, Metacritic score, platforms, release date, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesSteam App ID of the game.
country_codeNoTwo-letter country code for pricing (e.g., 'US', 'BR'). Default: US.US

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided; description implies a read operation but does not disclose behaviors like error handling, rate limits, or authentication requirements.

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?

Single sentence with front-loaded key information; every word adds value.

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?

Lists many returned fields, but ends with 'and more' without specifying the full response shape; no output schema exists to compensate.

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 provides 100% coverage for both parameters; description lists some returned fields but adds no new parameter meaning beyond 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?

Clearly states 'Get detailed info about a Steam game' and lists specific data fields, distinguishing it from siblings like 'get_featured_games' and 'get_game_news'.

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

Usage Guidelines3/5

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

Implies use for fetching game details but lacks explicit guidance on when to use or avoid this tool compared to alternatives.

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

get_game_newsGet Game NewsB

Get recent news articles for a Steam game.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of news items to return (1-20). Default: 5.
app_idYesSteam App ID of the game.
max_lengthNoMax character length for each news body. Default: 500.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It does not disclose any behavioral traits such as authentication needs, rate limits, error handling, or behavior for invalid app_ids.

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 a single concise sentence with no unnecessary words. However, it could be slightly expanded to include more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters, no output schema, and no annotations, the description is insufficient. It lacks details about return format, sorting, the meaning of 'recent', and how errors are handled.

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 the schema already documents all parameters. The description adds no extra meaning beyond what the schema provides, meeting the baseline of 3.

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', the resource 'recent news articles', and the scope 'for a Steam game', making it distinct from siblings like get_game_details or get_game_reviews.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives, no mention of prerequisites or contexts where it should not be used. It simply states what it does without usage direction.

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

get_game_reviewsGet Game ReviewsA

Get reviews for a Steam game with sentiment summary (score, positive/negative counts) and individual review text.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of reviews to return (1-100). Default: 10.
app_idYesSteam App ID of the game.
filterNoFilter reviews: 'recent', 'updated', or 'all'. Default: all.all

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the data returned (score, counts, text) but omits behavioral traits such as read-only nature, authentication requirements, rate limits, or pagination behavior. The description is adequate but not comprehensive.

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?

The description is a single well-structured sentence that front-loads the action and key output details. No unnecessary words or repetition.

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 the tool has 3 parameters, no output schema, and no annotations, the description covers the core functionality and return type well. It could be improved by mentioning that count controls the number of reviews and noting the read-only nature, but it is largely sufficient for agent understanding.

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% with detailed parameter descriptions (app_id, count with min/max, filter with enum). The description adds contextual meaning by explaining the output format, but it does not elaborate on parameter values or how they affect results beyond the schema. Baseline 3 is appropriate since schema already documents parameters thoroughly.

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 tool retrieves reviews for a Steam game and specifies the output includes a sentiment summary (score, positive/negative counts) and individual review text. This verb+resource combination is distinct from sibling tools like get_game_details or get_game_news.

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

Usage Guidelines3/5

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

The description implies the tool should be used when needing reviews with sentiment analysis, but it does not explicitly state when to use it versus alternatives like get_game_details. No exclusionary criteria or alternative recommendations are provided.

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

get_game_schemaGet Game SchemaA

Get the full list of stats and achievements for a game, including display names, descriptions, and icons.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesSteam App ID of the game.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations; description indicates read-only operation without stating so explicitly. Lacks disclosure of side effects, error handling, or authentication needs. Adequate for a simple retrieval but not detailed.

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?

Single sentence, 18 words, no redundancy. Front-loaded with key action and resource. Efficient and clear.

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?

For a simple tool with one parameter and no output schema, description covers essential output content (stats, achievements, details). Could add note about scope (full game schema vs player-specific). Mostly complete.

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?

Single parameter app_id is well-documented in schema with 100% coverage. Description adds no extra semantics beyond confirming 'game' context. Baseline score of 3 applies.

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?

Description clearly states verb 'Get' and specific resource 'full list of stats and achievements', including details like display names, descriptions, and icons. Distinguishes from siblings like get_player_achievements and get_global_achievement_percentages.

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

Usage Guidelines3/5

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

Implies usage for retrieving achievements/stats, but no explicit guidance on when to use vs alternatives like get_game_details or get_player_achievements. No exclusions or prerequisites stated.

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

get_global_achievement_percentagesGet Global Achievement PercentagesA

Get the global unlock percentage for each achievement in a game — how rare each achievement is across all players.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesSteam App ID of the game.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'get' implying a read operation, but does not disclose that it is non-destructive, requires no special permissions, or any rate limits. The behavioral context is minimal.

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 a single 18-word sentence that efficiently communicates the tool's purpose without redundancy. It is front-loaded with the action and resource.

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?

For a simple tool with one parameter and no output schema, the description adequately explains that the result contains unlock percentages for each achievement. It could be slightly more explicit about the return format (e.g., array of objects), but it's sufficient.

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 coverage is 100% for the single parameter 'app_id'. The description adds no additional meaning beyond the schema's 'Steam App ID of the game'. Baseline 3 applies.

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 the resource 'global unlock percentage for each achievement in a game'. It distinguishes from siblings by focusing on global percentages across all players, unlike get_player_achievements which is per-player.

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

Usage Guidelines3/5

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

The description implies use when wanting global achievement rarity, but provides no explicit when-not-to-use or alternatives. Siblings like get_game_schema list achievements differently, but no comparison is made.

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

get_owned_gamesGet Owned GamesA

Get a player's full Steam game library with playtime stats. Can sort by playtime or recently played.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax games to return (1-500). Default: 50.
sort_byNoSort order: 'playtime' (most played), 'name' (A-Z), or 'recent' (last played). Default: playtime.playtime
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var.

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided; description lacks behavioral context such as authentication requirements, rate limits, or fallback behavior for steam_id (though schema includes default).

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 concise sentences front-loading purpose and sorting capability, with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Incomplete coverage: lacks details on authentication, output format, or edge cases; sufficient for basic use but not comprehensive.

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 coverage is 100% with clear descriptions. Description adds sorting options but little beyond 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 clearly states the tool retrieves a player's full Steam game library with playtime stats, using specific verb 'get' and differentiated from siblings like get_recently_played_games.

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 implies usage for full library vs recently played, but does not explicitly state when to use alternatives or exclusion criteria.

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

get_player_achievementsGet Player AchievementsA

Get a player's achievement progress for a specific game, including which achievements are unlocked and when.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesSteam App ID of the game.
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var.

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool reads achievement progress and returns unlock status and timestamps, indicating a read-only operation. However, it does not mention authentication requirements, rate limits, or whether the player's profile must be public.

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?

The description is a single, clear sentence with no redundant words or fluff. It efficiently conveys the core functionality.

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 the tool's simplicity and the presence of sibling tools, the description covers the main aspects. However, it lacks details about response format, potential prerequisites (e.g., public profile), or data freshness. Without an output schema, these details would be helpful for context.

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?

The input schema already describes both parameters (app_id and steam_id) with 100% coverage. The description adds minimal value beyond restating that it's for a specific game and player. Baseline of 3 is appropriate as the description does not significantly enhance understanding of parameter meaning.

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 specifies the verb 'get' and the resource 'a player's achievement progress for a specific game', including the type of data returned (unlocked achievements and timestamps). It effectively distinguishes from sibling tools like get_global_achievement_percentages.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool over alternatives or when not to use it. While the purpose implies usage for individual achievement progress, no guidance is given for choosing among similar sibling tools like get_user_stats_for_game or get_global_achievement_percentages.

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

get_player_bansGet Player BansA

Check a player's ban status — VAC bans, game bans, community ban, trade ban.

ParametersJSON Schema
NameRequiredDescriptionDefault
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var if not provided.

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the types of bans checked but omits behavioral details like error handling for invalid steam_ids, rate limits, or whether authentication is needed. The fallback to an environment variable is mentioned in the parameter description but not in the main tool description.

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?

The description is a single, clear sentence with no unnecessary words. It conveys the tool's purpose efficiently.

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?

For a low-complexity tool with one optional parameter and no output schema, the description adequately explains the core functionality and ban types. Could be improved by noting potential errors or privacy requirements, but overall sufficient.

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 description coverage is 100% (one parameter: steam_id). The description adds the fallback behavior (uses STEAM_ID env var if not provided), which enhances understanding beyond the schema. This justifies a score above baseline 3.

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 uses the specific verb 'Check' and the resource 'player's ban status', listing the types of bans (VAC, game, community, trade). This clearly distinguishes it from sibling tools, none of which relate to bans.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives, but given no other ban-related tools exist in the sibling list, the context implies it's the sole option for ban checks. However, the description does not mention prerequisites such as requiring the player's profile to be public or any fallback behavior beyond the environment variable.

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

get_player_countGet Current Player CountA

Get the number of players currently online for a specific Steam game.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesSteam App ID of the game.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It indicates a read-only operation returning a count, but does not disclose the response format, what happens for invalid app_id, or any side effects. Minimal transparency for a simple tool.

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?

The description is a single 13-word sentence that clearly states the action and resource. It is front-loaded with the verb and contains no redundant information.

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?

For a tool with one parameter and no output schema, the description is mostly complete. It explains the core functionality, but could specify that the return is a single integer count or note potential error handling. Minor gaps.

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 coverage is 100% with app_id described as 'Steam App ID of the game.' The description adds no extra meaning beyond what the schema already provides. Baseline score of 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?

The description explicitly states 'Get the number of players currently online for a specific Steam game.' It uses a specific verb 'Get' and resource 'number of players currently online', and it clearly distinguishes from sibling tools that deal with other game data like achievements or reviews.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor are there any prerequisites or limitations mentioned. The description lacks context about rate limits, caching behavior, or error scenarios.

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

get_player_summaryGet Player SummaryA

Get a Steam player's profile info: display name, avatar, online status, currently playing game, account creation date, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var if not provided.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description lacks behavioral details such as read-only nature, error handling, authentication requirements, or rate limits. The description only lists output fields without disclosing any behavioral traits.

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?

The description is a single sentence of 20 words, front-loaded with the core purpose, and contains no extraneous information. Every word contributes to conveying the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter tool with no output schema, the description adequately outlines the returned data types. However, missing details about error conditions, authentication, and rate limits leave some gaps for an agent relying solely on this description.

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 coverage is 100% with a clear description of the steam_id parameter including fallback behavior. The tool description adds no additional parameter information beyond the schema, so it meets the baseline but does not enhance 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?

The description clearly states it retrieves a Steam player's profile info and lists specific fields (display name, avatar, online status, etc.), making the purpose specific and distinct from sibling tools like get_friends_list or get_player_achievements.

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

Usage Guidelines3/5

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

The description does not provide guidance on when to use this tool versus alternatives. While the purpose is clear, there is no explicit mention of when not to use it or which sibling tools to prefer for specific needs.

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

get_recently_played_gamesGet Recently Played GamesA

Get games a player has played in the last two weeks, with playtime breakdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided; description only mentions timeframe and playtime breakdown. Missing details on return format, auth requirements (beyond Steam ID), rate limits, or whether games are only those with playtime >0.

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?

Single sentence of 14 words, front-loaded with key information, no wasted words. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 1 param and no output schema, description is adequate but lacks hint about return format (e.g., list of games). Does not clarify if timeframe is fixed or relative.

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%, but description adds value by explaining the parameter is a 64-bit Steam ID and noting the fallback to STEAM_ID env var, which helps agents understand optional behavior.

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?

Description clearly states the resource (games a player has played), timeframe (last two weeks), and output (playtime breakdown). It distinguishes from siblings like get_owned_games and get_player_achievements.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. With 19 sibling tools, the description should indicate different use cases, e.g., comparing with get_owned_games.

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

get_steam_levelGet Steam LevelC

Get a player's Steam account level.

ParametersJSON Schema
NameRequiredDescriptionDefault
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var if not provided.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only states the basic action, omitting details like authentication requirements, rate limits, or potential errors.

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 a single sentence, which is concise and front-loaded. It could be slightly expanded without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, yet the description does not clarify the return format, data structure, or error states. Incomplete for a tool with no output schema.

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 coverage is 100% with a clear parameter description (fallback to env var). The tool description adds no extra value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets a player's Steam account level, which matches the name and title. However, it does not differentiate from sibling tools, many of which also retrieve player-specific data.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_player_summary. Lacks context about prerequisites or typical use cases.

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

get_user_groupsGet User GroupsA

Get a list of Steam group IDs a player belongs to. Requires public profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var.

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the return type (list of group IDs) and a prerequisite (public profile). However, it does not mention side effects, error handling, or rate limits. The description is adequate for a simple read operation but lacks depth.

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?

The description is extremely concise—one sentence plus a short phrase with no redundant information. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description hints at the return format ('list of Steam group IDs') but lacks details on error handling or pagination. For a simple tool with one optional param, it is moderately complete but could improve.

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?

The input schema covers 100% of parameters and already describes the steam_id parameter and its fallback behavior. The tool description does not add additional semantic meaning beyond 'Get a list...'. 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?

The description clearly states the verb 'Get' and the resource 'list of Steam group IDs a player belongs to'. It also notes a prerequisite (public profile), which distinguishes it from sibling tools like get_friends_list or get_player_summary.

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

Usage Guidelines3/5

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

The description provides a usage condition ('Requires public profile') but does not explicitly state when to use this tool versus alternatives or when not to use it. The context of many sibling tools implies differentiation, but no explicit guidance is given.

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

get_user_stats_for_gameGet User Stats for GameB

Get a player's individual game stats (kills, deaths, wins, etc.). Stats vary per game.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesSteam App ID of the game.
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits, but it only states what the tool does (get stats) without mentioning if stats are real-time, cached, or require authentication. Return format is not described.

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?

Single sentence, no filler, but could be slightly more structured by separating purpose from parameter context. Nevertheless, it is concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks detail on what specific stats are returned, how to interpret them, or any potential errors. Given high schema coverage but no output schema, the description should compensate but does so minimally.

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 covers 100% of parameters with clear descriptions. The tool description adds 'Stats vary per game' but no additional semantic meaning beyond schema. 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?

The description clearly states the tool retrieves a player's individual game stats, providing specific examples (kills, deaths, wins). It distinguishes from siblings like get_player_achievements which focus on achievements rather than performance stats.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like get_player_achievements or get_game_details. The description does not specify prerequisites, limitations, or scenarios where it is appropriate.

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

get_wishlistGet WishlistB

Get a player's Steam wishlist. Depends on the user's privacy settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
steam_idNo64-bit Steam ID. Falls back to STEAM_ID env var.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It adds that the tool is affected by privacy settings, which is a useful behavioral trait, but does not disclose other aspects such as rate limits, required authentication, or error behavior.

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?

The description is extremely concise, consisting of only two sentences with no extraneous information. Every word serves a clear purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema), the description is partially complete. It explains the tool's purpose and a key constraint, but fails to describe the return structure or any error conditions.

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 coverage is 100% and the parameter documentation in the schema already explains the steam_id field and its fallback. The description adds no additional meaning beyond what the schema provides, so it scores at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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 the resource 'player's Steam wishlist'. It unambiguously identifies the tool's function, but does not explicitly differentiate it from sibling tools like get_owned_games or get_game_details.

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

Usage Guidelines2/5

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

The description only mentions that the tool 'depends on the user's privacy settings', which hints at a limitation but does not provide explicit when-to-use guidance or contrast with alternative tools from the sibling list.

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

resolve_vanity_urlResolve Vanity URLA

Convert a Steam custom URL (vanity name) to a 64-bit Steam ID. For example, 'gabelogannewell' => '76561197960287930'.

ParametersJSON Schema
NameRequiredDescriptionDefault
vanity_urlYesThe custom URL portion of a Steam profile (e.g., 'gabelogannewell' from steamcommunity.com/id/gabelogannewell).

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must bear the full burden of behavioral disclosure. It correctly describes the conversion operation but does not mention potential behaviors such as error handling for invalid vanity URLs, rate limits, or response format. For a simple resolver, this is minimally adequate.

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?

The description is extremely concise: one sentence stating the purpose followed by an illustrative example. Every word serves a purpose, and the structure is front-loaded with the core action. No unnecessary information.

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 the tool's simplicity (single required parameter, no output schema), the description adequately covers its purpose and provides an example. It does not address error scenarios or edge cases, but for a straightforward conversion tool, the information is largely sufficient.

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?

The input schema has 100% description coverage for the single parameter 'vanity_url', providing a clear explanation of what the value should be. The tool description does not add extra semantic detail beyond the example, so the baseline score of 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?

The description clearly states the tool's purpose: converting a Steam custom URL to a 64-bit Steam ID. The verb 'Convert' and the specific resources (vanity URL to Steam ID) make it distinct from sibling tools, which focus on retrieving game or user data.

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 provides a concrete example ('gabelogannewell' => '76561197960287930'), which clarifies how to use the tool. However, it does not explicitly state when to use this tool versus alternatives or when not to use it. Given the unique conversion purpose, it is implicitly clear, but explicit guidance would improve the score.

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

search_appsSearch Steam AppsA

Search the Steam store by game name. Returns matching apps with App IDs, prices, and Metascores.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoMax results to return (1-50). Default: 10.
queryYesSearch term (game name or keyword).

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided. Description lacks behavioral traits: no mention of read-only nature, rate limits, auth requirements, or side effects. Minimal beyond stating function.

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 concise sentences; first states action, second states output. No fluff or redundancy.

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 two parameters with schema coverage, no output schema, and simple search functionality, description adequately covers purpose and return values. Could mention scope (name-only search) but still complete.

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 covers both parameters with descriptions (100% coverage). Description adds context that query is game name and lists return fields, but does not add parameter semantics beyond 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?

Clearly states verb 'Search' and resource 'Steam store by game name', and specifies return fields (App IDs, prices, Metascores). Distinguishes from sibling 'get_*' tools.

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

Usage Guidelines3/5

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

Implied usage: use to search by game name. No explicit when-not-to-use or alternatives mentioned, but context with other get_* tools provides some differentiation.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 20 tool updatesv1.0.0
    • First observedget_badges
    • First observedget_featured_games
    • First observedget_friends_list
    • First observedget_game_details
    • First observedget_game_news
    • First observedget_game_reviews
    • First observedget_game_schema
    • First observedget_global_achievement_percentages
    • First observedget_owned_games
    • First observedget_player_achievements
    • First observedget_player_bans
    • First observedget_player_count
    • First observedget_player_summary
    • First observedget_recently_played_games
    • First observedget_steam_level
    • First observedget_user_groups
    • First observedget_user_stats_for_game
    • First observedget_wishlist
    • First observedresolve_vanity_url
    • First observedsearch_apps

TDQS

A3.7/5.0

Scored across 20 tools

Disambiguation5/5

Each tool targets a distinct aspect of Steam data: player profiles, game details, achievements, store, etc. There is no meaningful overlap; even similar tools like get_owned_games and get_recently_played_games have clearly different purposes.

Naming Consistency5/5

All tools follow a consistent get_<noun> pattern using snake_case, making it easy to infer the resource each operates on.

Tool Count5/5

20 tools provide comprehensive coverage of Steam's data surface without being overwhelming. Each tool earns its place by serving a specific, well-defined need.

Completeness4/5

The tool set covers major Steam interactions: player info, game details, achievements, reviews, store search, and news. Minor gaps exist, such as lack of DLC or trading queries, but core workflows are well covered.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matheusslg/steam-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server