# Steam Scouting MCP

> Steam Performance & Scouting Intelligence provides professional e-sports scouting capabilities. Use this server to pull raw player metrics, audit achievement rarity against global standards, and check technical stats like kills or class playtime for any Steam user. It's a dedicated analytics layer built for competitive gaming data.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** esports-scouting, performance-metrics, technical-telemetry, player-benchmarking, gaming-achievements

## Description

You're building an e-sports scouting layer with this server. Your AI client can act like a pro analyst, pulling raw player metrics and auditing competitive profiles across Steam games. You won't find fluff here; just pure data access for deep dives into gameplay performance.

**Player Performance Deep Dive:**
You can use `get_user_game_stats` to grab granular statistics—things like kill counts, objectives completed, or how much time a user spent playing a specific class in a game. You'll also get the basic profile info for one or more players using `get_player_profile`, which pulls general Steam data and current account level via `get_steam_level`. For recent activity tracking, `get_recently_played_games` lists every title a player has actually logged into over the last two weeks. To see what they own, you've got `get_owned_games`, which gives you an inventory of all their games and how much time they've put into each one.

**Achievement and Status Auditing:**
To check if a player is legit for competition, you can use `get_player_bans` to confirm the account status against VAC bans, community restrictions, or any other official ban records. You'll also get all their earned badges and recognitions by calling `get_player_badges`. When it comes to achievements, you first call `get_player_achievements` to see exactly what they’ve unlocked in a specific game. Then, you can cross-reference that data with the global market using `get_global_achievement_percentages`, which tells you what percentage of all players have earned every single achievement in that title. This helps you quantify how rare their skill is.

**Networking and Schema Checks:**
If a user's profile is public, you can pull their entire Steam friend list using `get_friend_list`. For developers building custom tools around this data, `get_game_schema` fetches the full data structure and all achievement definitions for any given game. You'll also get an immediate rundown of every title a player has ever played through by calling `get_player_achievements` to confirm their unlock status in that specific title.

## Tools

### get_friend_list
Retrieves the Steam friend list for a user, provided their profile is public.

### get_game_schema
Fetches the full data structure and achievement schema definitions for a specific game.

### get_global_achievement_percentages
Gets the global percentage of players who have unlocked every achievement in a specified game.

### get_owned_games
Lists all games owned by a player, including their total playtime for each title.

### get_player_achievements
Retrieves the specific unlock status of achievements for a user within a given game.

### get_player_badges
Lists all community badges and earned recognitions for a player's profile.

### get_player_bans
Checks the account status against VAC, community, and economy ban records to confirm integrity.

### get_player_profile
Gathers general Steam profile information for one or more specified players.

### get_recently_played_games
Lists the games a player has actively played within the last two weeks.

### get_steam_level
Retrieves the current Steam account level of the specified user.

### get_user_game_stats
Grabs raw gameplay statistics, including kills and objectives, for a specific user in a defined game.

## Prompt Examples

**Prompt:** 
```
Audit the technical performance of player '7656119803...' in Deadlock.
```

**Response:** 
```
Retrieving technical scouts... I've fetched the stats for Deadlock. This player has an average soul-per-minute of 450 and a 65% winrate with 'Hero X'. I also have the breakdown of their damage contribution. Would you like to see their last 5 match outcomes?
```

**Prompt:** 
```
Check for active VAC bans on SteamID '7656119803...'.
```

**Response:** 
```
Running integrity check... The account '7656119803...' is currently in good standing. No active VAC, community, or trade bans were detected. I have the full ban history report. Shall I also check their account level and badges?
```

**Prompt:** 
```
Compare the achievement rarity for 'Elden Ring' between my account and global stats.
```

**Response:** 
```
Inspecting achievements... You have unlocked 'Achievement A', which only 2.5% of players globally possess. However, you are missing 'Achievement B', which 15% have already completed. Would you like the full technical list of missing achievements?
```

## Capabilities

### Pull Raw Gameplay Statistics
Fetch raw metrics—like kills, objectives, and playtime per class—for a specific user in a game.

### Audit Account Integrity Status
Check if an account has active VAC bans, community restrictions, or other official ban statuses.

### Determine Achievement Rarity and Status
List a user's unlocked achievements and compare them to the global percentage of players who have earned that achievement.

### Retrieve Player Profile History
Get basic profile information, including Steam level and recent activity history for one or more users.

### List Community Badges and Friends
Retrieve all badges earned by a player or list their current friend contacts (if the profile is public).

## Use Cases

### Pre-Drafting Player Analysis
Coach needs to vet a prospect. Instead of reading old forum posts, the agent runs `get_player_bans` and `get_user_game_stats`. If the stats show high kills but also poor objective completion, the coach knows where they need to focus training. The process is immediate.

### Checking for Skill Gaps
A streamer wants to improve their game. They run `get_player_achievements` and cross-reference it with `get_global_achievement_percentages`. Finding that they are missing a highly rare achievement (only 2% of players have it) gives them a clear, quantitative goal.

### Tournament Eligibility Verification
An organizer must confirm all participants can compete. They use `get_player_badges` and check for any bans via `get_player_bans`. This single flow confirms both their community standing and competitive eligibility, preventing manual errors.

### Tracking Player Momentum
A journalist wants to write an article on a player's slump. They run `get_recently_played_games` first. If the list is short or limited to one title, it suggests low activity, giving them immediate angle material.

## Benefits

- **Deep Performance Metrics:** Use `get_user_game_stats` to get raw data like kills, objectives, and class-specific playtime. This is way more specific than just seeing a high win rate; it tells you *how* they won the match.
- **Instant Integrity Checks:** Don't waste time manually checking forums for bans. `get_player_bans` immediately verifies VAC, community, and trade ban status in one call. Essential for competitive setup.
- **Contextualized Achievement Analysis:** Instead of just listing achievements, use `get_global_achievement_percentages` alongside `get_player_achievements`. This tells you if a player's skill is truly rare or if everyone has it.
- **Player Trend Spotting:** Use `get_recently_played_games` to quickly see what titles a user has been focusing on in the last couple of weeks, helping build a narrative around their current form.
- **Full Profile Picture:** Get a comprehensive snapshot with `get_player_profile`. This includes not just basic info but also things like their Steam level and badge collection (`get_player_badges`).

## How It Works

The bottom line is that it turns complex, multi-step API calls into simple instructions given to your agent.

1. You input a SteamID or username, specifying the game and the data points you need (e.g., 'Show stats for Player X in Game Y').
2. The agent routes your request to the appropriate tool—like `get_user_game_stats` or `get_player_achievements`—and executes it against Steam's API.
3. You receive a structured payload containing raw, actionable data points, which your AI client then summarizes into plain English for you.

## Frequently Asked Questions

**How do I check if a player is banned using get_player_bans?**
You run `get_player_bans` and provide the SteamID. The tool checks for active VAC, community, or trade bans, giving you immediate confirmation of their account integrity status.

**Can I use get_user_game_stats to track performance across multiple games?**
No, `get_user_game_stats` requires a specific game ID. You should first use `get_owned_games` to list all titles and then run the stat tool for each one you want to analyze.

**Does get_player_achievements tell me what other players have?**
No, `get_player_achievements` only shows *your* specific unlocks. To compare your achievement rarity against the general player base, you must use `get_global_achievement_percentages`.

**What's the difference between get_player_profile and get_steam_level?**
`get_player_profile` provides a broad set of data (badges, general info). `get_steam_level` is highly specific; it just gives you the current numerical level of the account.

**What do I need to run get_friend_list?**
The user profile must be public for `get_friend_list` to work. The tool retrieves your friend list only if Steam's API allows it based on privacy settings.

**How do I use get_game_schema to see what stats are available for a title?**
It returns the complete blueprint of all possible in-game metrics and achievements. This means you get the exact structure needed before writing code, so you know precisely what data fields—like specific kill counts or objectives—the system can report.

**What's the best way to run reports for many players using get_player_achievements?**
You should batch your requests and implement exponential backoff when calling this tool. Don't spam it; check the API rate limits first, then structure calls to handle throttling gracefully.

**Can I use get_owned_games to help me run stats for multiple games?**
Yes, you must call get_owned_games first to retrieve a list of all game IDs. You then loop through those IDs, using each one individually in the get_user_game_stats tool to build a comprehensive report.

**Can my AI automatically analyze technical stats for a specific game like Deadlock?**
Yes! By using tools like `get_user_game_stats` and `get_game_schema`, your agent can retrieve the full list of technical counters (souls, damage, objectives) recorded by the Steam backend for that specific title.

**How do I check if a player has any active bans before inviting them to a tournament?**
Use the `get_player_bans` tool. Your agent will instantly retrieve the official status for VAC bans, community bans, and economy bans, ensuring the integrity of your competitive event.

**Does the integration allow comparing performance between two different players?**
Yes. The `get_user_game_stats` action retrieves data for multiple SteamIDs and compiles a side-by-side comparison of their technical metrics, allowing the agent to identify who has higher efficiency in specific areas.