You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update to version 0.2.0 of Steam Developer Tools plugin, introducing the steam-api-key-usage rule to guide users towards using MCP tools over raw API calls. Updated all skills to reference the companion Steam MCP server, enhancing documentation in CHANGELOG, README, and various skill files to reflect these changes. Adjusted plugin manifest for versioning consistency.
Copy file name to clipboardExpand all lines: .cursor-plugin/plugin.json
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
{
2
2
"name": "steam-cursor-plugin",
3
3
"displayName": "Steam Developer Tools",
4
-
"version": "0.1.0",
5
-
"description": "Integrates Steam and Steamworks APIs for game developers and power users. 14 skills covering store data, multiplayer networking, cloud saves, leaderboards, input, inventory, social features, profile lookups, and game comparisons - plus 3 rules for App ID validation, secrets detection, and Steam Deck compatibility.",
4
+
"version": "0.2.0",
5
+
"description": "Integrates Steam and Steamworks APIs for game developers and power users. 14 skills covering store data, multiplayer networking, cloud saves, leaderboards, input, inventory, social features, profile lookups, and game comparisons - plus 4 rules for App ID validation, secrets detection, Steam Deck compatibility, and MCP tool preference. Companion Steam MCP server provides 10 live API tools.",
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,21 @@ All notable changes to Steam Developer Tools will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.2.0] - 2026-03-27
9
+
10
+
### Added
11
+
12
+
-**steam-api-key-usage** rule: when the Steam MCP server is available, flags raw `curl`/`fetch` calls to Steam API endpoints and suggests the equivalent MCP tool
13
+
- Companion [Steam MCP Server](https://github.com/TMHSDigital/steam-mcp) referenced across all skills (server lives in separate repo)
14
+
15
+
### Changed
16
+
17
+
- All 14 skills updated: replaced `## MCP Integration (Future)` placeholder sections with concrete `## MCP Usage` sections referencing the companion Steam MCP server's actual tool signatures
18
+
- 6 skills with direct MCP replacements now include "Preferred" callouts in their Workflow sections directing users to MCP tools over `curl` commands: steam-store-lookup, steam-player-stats, steam-profile-lookup, steam-game-comparison, steam-workshop-helper, steam-leaderboards
19
+
-**steam-api-reference** skill now includes a full catalog of all 10 available MCP tools with parameter signatures and auth requirements
20
+
- Plugin description updated to reflect MCP support and 4 rules
21
+
- Version bumped to 0.2.0
22
+
8
23
## [0.1.0] - 2026-03-26
9
24
10
25
### Added
@@ -28,4 +43,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
Copy file name to clipboardExpand all lines: CLAUDE.md
+22-4Lines changed: 22 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,11 +4,11 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
4
4
5
5
## Project Overview
6
6
7
-
**Steam Developer Tools** is a Cursor IDE plugin (v0.1.0) that integrates Steam and Steamworks APIs for game developers and power users. It provides AI-assisted workflows for querying Steam store data, managing Steamworks configurations, building multiplayer networking, implementing cloud saves, leaderboards, input, inventory/economy, social features, looking up API docs, fetching player statistics, integrating Workshop UGC, designing achievements, looking up player profiles, and comparing games.
7
+
**Steam Developer Tools** is a Cursor IDE plugin (v0.2.0) that integrates Steam and Steamworks APIs for game developers and power users. It provides AI-assisted workflows for querying Steam store data, managing Steamworks configurations, building multiplayer networking, implementing cloud saves, leaderboards, input, inventory/economy, social features, looking up API docs, fetching player statistics, integrating Workshop UGC, designing achievements, looking up player profiles, and comparing games.
8
8
9
-
This is currently a **static, documentation-only plugin** - no build system, no npm, no compiled code. All plugin logic is expressed in Markdown skill files and MDC rule files.
9
+
This plugin uses Markdown skill files and MDC rule files for AI guidance, paired with the companion [Steam MCP Server](https://github.com/TMHSDigital/steam-mcp) (separate repo) which provides 10 read-only API tools for live data access. No build system, no npm, no compiled codein this repo.
10
10
11
-
The project is on a themed release roadmap toward v1.0.0 (see `ROADMAP.md`). The next major milestone (v0.2.0 "Live Data") introduces a Steam MCP server (separate repo: [steam-mcp](https://github.com/TMHSDigital/steam-mcp)) with read-only API tools. Subsequent releases add analytics/market research skills (v0.3.0), CI/CD automation (v0.4.0), community/monetization skills (v0.5.0), QA rules (v0.6.0), MCP write operations (v0.7.0), and polish (v0.8.0). Target at v1.0.0: 30 skills, 9 rules, 20 MCP tools.
11
+
The project is on a themed release roadmap toward v1.0.0 (see `ROADMAP.md`). The next major milestone (v0.3.0 "Insights") adds analytics and market research skills. Subsequent releases add CI/CD automation (v0.4.0), community/monetization skills (v0.5.0), QA rules (v0.6.0), MCP write operations (v0.7.0), and polish (v0.8.0). Target at v1.0.0: 30 skills, 9 rules, 20 MCP tools.
12
12
13
13
## Plugin Architecture
14
14
@@ -39,13 +39,31 @@ Each `SKILL.md` uses YAML frontmatter followed by markdown sections: **Trigger**
|`steam-game-comparison`| Side-by-side comparison of price, reviews, player counts, genres |
41
41
42
-
### Rules (3 total)
42
+
### Rules (4 total)
43
43
44
44
| Rule | Scope | Purpose |
45
45
|------|-------|---------|
46
46
|`steam-appid-validation.mdc`|`steam_appid.txt`, `*.vdf`, steamcmd configs | Enforces App ID consistency; warns if `480` (SpaceWar test) is used in production |
47
47
|`steamworks-secrets.mdc`| Global (all files) | Flags Steam API keys (32-char hex), ssfn files, publisher credentials, DRM keys |
|`steam-api-key-usage.mdc`|`*.sh`, `*.ps1`, `*.py`, `*.js`, `*.ts`, `*.yml`, `*.yaml`| Flags raw curl/fetch to Steam APIs when MCP tools are available; suggests equivalent MCP tool |
50
+
51
+
### Companion MCP Server
52
+
53
+
The [Steam MCP Server](https://github.com/TMHSDigital/steam-mcp) provides 10 read-only tools. Skills reference these tools in their `## MCP Usage` sections. When the MCP server is configured in Cursor, skills prefer MCP tool calls over shell `curl` commands.
54
+
55
+
| MCP Tool | Auth | Maps to |
56
+
|----------|------|---------|
57
+
|`steam.getAppDetails({ appid })`| None | Store API `appdetails`|
58
+
|`steam.searchApps({ term })`| None | Store API `storesearch`|
Query Steam store data, manage Steamworks app configurations, build multiplayer networking, implement cloud saves, design achievements, compare games, and look up player profiles - all from within Cursor's AI chat. 14 skills and 3 rules covering the full Steam & Steamworks ecosystem.
23
+
Query Steam store data, manage Steamworks app configurations, build multiplayer networking, implement cloud saves, design achievements, compare games, and look up player profiles - all from within Cursor's AI chat. 14 skills and 4 rules covering the full Steam & Steamworks ecosystem, with 10 live MCP tools via the companion [Steam MCP Server](https://github.com/TMHSDigital/steam-mcp).
24
24
25
25
> **No API key required** for most features. Store lookups, player counts, global achievement stats, and app searches all work out of the box.
|**App ID Validation**| Checks that Steam App IDs are consistent across your project (`steam_appid.txt`, VDF files, source code) and warns if `steam_appid.txt` is missing. |
53
53
|**Steamworks Secrets**| Prevents committing API keys, partner credentials, and auth tokens. Flags sensitive patterns and suggests secure alternatives. |
54
54
|**Steam Deck Compatibility**| Flags common Deck compat issues in game code: hardcoded resolutions, mouse-only input, anti-cheat blockers, Windows-only paths, and missing controller support. |
55
+
|**MCP Tool Preference**| When the Steam MCP server is configured, flags raw `curl`/`fetch` calls to Steam APIs and suggests the equivalent MCP tool. |
55
56
56
57
## Companion: Steam MCP Server
57
58
58
-
The [Steam MCP Server](https://github.com/TMHSDigital/steam-mcp) is the companion project that provides live, structured API tools for this plugin. It exposes Steam store data, player stats, achievements, workshop items, and more as MCP tools that AI-powered IDEs can call directly.
59
-
60
-
> **Status:** In development - coming in v0.2.0 of this plugin.
59
+
The [Steam MCP Server](https://github.com/TMHSDigital/steam-mcp) is the companion project that provides live, structured API tools for this plugin. It exposes Steam store data, player stats, achievements, workshop items, and more as MCP tools that Cursor can call directly.
60
+
61
+
### Setup
62
+
63
+
Add the Steam MCP server to your Cursor MCP configuration (`.cursor/mcp.json`):
64
+
65
+
```json
66
+
{
67
+
"mcpServers": {
68
+
"steam": {
69
+
"command": "npx",
70
+
"args": ["-y", "steam-mcp"],
71
+
"env": {
72
+
"STEAM_API_KEY": "your_key_here"
73
+
}
74
+
}
75
+
}
76
+
}
77
+
```
78
+
79
+
The `STEAM_API_KEY` is only required for tools that access user-specific data (player summaries, owned games, workshop queries, leaderboards, vanity URL resolution). Store lookups, player counts, achievement stats, and workshop item details work without a key.
80
+
81
+
### Available Tools
82
+
83
+
| Tool | Auth | Description |
84
+
|------|------|-------------|
85
+
|`steam.getAppDetails`| None | Store data (price, reviews, tags, platforms) |
86
+
|`steam.searchApps`| None | Search the Steam store by name |
87
+
|`steam.getPlayerCount`| None | Current concurrent players |
88
+
|`steam.getAchievementStats`| None | Global achievement unlock percentages |
description: When the Steam MCP server is available, guide users to prefer MCP tool calls over raw curl/fetch commands to Steam APIs. Flag direct HTTP calls to Steam endpoints and suggest the equivalent MCP tool.
3
+
alwaysApply: false
4
+
globs:
5
+
- "**/*.sh"
6
+
- "**/*.ps1"
7
+
- "**/*.py"
8
+
- "**/*.js"
9
+
- "**/*.ts"
10
+
- "**/*.yml"
11
+
- "**/*.yaml"
12
+
---
13
+
14
+
# Prefer Steam MCP Tools Over Raw API Calls
15
+
16
+
When editing or reviewing files that make HTTP requests to Steam APIs, suggest using the [Steam MCP server](https://github.com/TMHSDigital/steam-mcp) tools instead. MCP tools handle authentication, error handling, rate limiting, and response parsing automatically.
17
+
18
+
## Patterns to Flag
19
+
20
+
Flag any `curl`, `fetch`, `requests.get`, `Invoke-WebRequest`, or similar HTTP calls to these Steam API domains:
21
+
22
+
- `api.steampowered.com`
23
+
- `store.steampowered.com/api/`
24
+
- `partner.steam-api.com` (note: MCP only covers read-only endpoints, not partner write operations)
25
+
26
+
## MCP Tool Equivalents
27
+
28
+
When a flagged call matches one of these endpoints, suggest the MCP tool:
29
+
30
+
| Endpoint Pattern | MCP Tool |
31
+
|-----------------|----------|
32
+
| `/api/storesearch/` | `steam.searchApps({ term })` |
> "This file makes a direct HTTP call to a Steam API endpoint. If the Steam MCP server is configured, consider using `{mcp_tool}` instead -- it handles authentication, timeouts, and error responses automatically."
48
+
49
+
## Exceptions
50
+
51
+
Do not flag these cases:
52
+
- Calls to Steam API endpoints that have no MCP tool equivalent (e.g., `GetPlayerAchievements`, `GetUserStatsForGame`, `GetNewsForApp`, `ISteamMicroTxn`)
53
+
- Code inside the MCP server itself (the `steam-mcp` project)
54
+
- Documentation or comments explaining the raw API
55
+
- Test files that intentionally test raw API behavior
Copy file name to clipboardExpand all lines: skills/steam-achievement-designer/SKILL.md
+10-2Lines changed: 10 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -152,6 +152,14 @@ Always call `StoreStats()` after setting achievements to persist them to Steam s
152
152
4. Provides C++ unlock code snippets for each
153
153
5. Notes icon requirements and suggests consistent naming for icon files
154
154
155
-
## MCP Integration (Future)
155
+
## MCP Usage
156
156
157
-
A Steam MCP server could expose `steam.getAchievementSchema({ appid })` to fetch existing achievement definitions. The design guidance, VDF generation, and code examples remain the same.
157
+
When the [Steam MCP server](https://github.com/TMHSDigital/steam-mcp) is configured, you can fetch existing achievement data to inform new designs:
158
+
159
+
| Step | MCP Tool | Auth | Purpose |
160
+
|------|----------|------|---------|
161
+
| Get existing achievements |`steam.getAchievementStats({ appid })`| None | Fetch global unlock percentages to see what players actually unlock |
162
+
163
+
This is useful for reviewing an existing game's achievement distribution before designing new ones, or for auditing unlock rates on your own game.
164
+
165
+
The design guidance, VDF/JSON generation, naming conventions, icon requirements, and SDK unlock code remain the same regardless of MCP availability.
Copy file name to clipboardExpand all lines: skills/steam-api-reference/SKILL.md
+28-2Lines changed: 28 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,6 +97,32 @@ Users should store their API key in an environment variable (`STEAM_API_KEY`) an
97
97
3. Shows a `curl` example and explains the response structure
98
98
4. Notes: "For per-player achievements you need the player's Steam ID and an API key. For global unlock percentages, no key is needed."
99
99
100
-
## MCP Integration (Future)
100
+
## MCP Usage
101
101
102
-
When a Steam MCP server is available, it should expose tools like `steam.getApiDocs({ interface, method })` to return structured endpoint information. The formatting and example generation logic remains the same.
102
+
The [Steam MCP server](https://github.com/TMHSDigital/steam-mcp) provides 10 tools that call Steam APIs directly, eliminating the need for manual `curl` commands for common operations.
103
+
104
+
### Available MCP Tools
105
+
106
+
**No API key required:**
107
+
108
+
| Tool | Description |
109
+
|------|-------------|
110
+
|`steam.getAppDetails({ appid, cc?, l? })`| Store data: price, reviews, tags, platforms, system requirements |
111
+
|`steam.searchApps({ term, cc?, l? })`| Search the Steam store by name |
112
+
|`steam.getPlayerCount({ appid })`| Current concurrent player count |
113
+
|`steam.getAchievementStats({ appid })`| Global achievement unlock percentages |
|`steam.resolveVanityURL({ vanityurl, url_type? })`| Convert vanity URL to 64-bit Steam ID |
125
+
126
+
When an MCP tool exists for a given endpoint, prefer it over raw `curl` calls. For endpoints not covered by MCP tools (per-player achievements, user stats, news, microtransactions), continue using the Web API directly.
127
+
128
+
The Steamworks SDK documentation and example generation logic remain the same regardless of MCP availability.
Copy file name to clipboardExpand all lines: skills/steam-cloud-saves/SKILL.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -144,6 +144,8 @@ When a cloud conflict occurs (local and remote versions differ):
144
144
4. Sets quota recommendation (100MB / 100 files is plenty for a roguelike)
145
145
5. Notes: "Auto-Cloud works without any code changes. Steam syncs the files before launch and after exit."
146
146
147
-
## MCP Integration (Future)
147
+
## MCP Usage
148
148
149
-
A Steam MCP server could expose `steam.listCloudFiles({ appid })` and `steam.getCloudQuota({ appid })` via the `ICloudService` Web API. The SDK integration patterns remain documentation-only.
149
+
Steam Cloud uses the in-process Steamworks SDK API (`ISteamRemoteStorage`) for reading and writing save files. Auto-Cloud is configured through the Steamworks Partner site or VDF files. Neither has a publicly available Web API equivalent for the core operations.
150
+
151
+
This skill remains documentation-only regardless of whether the [Steam MCP server](https://github.com/TMHSDigital/steam-mcp) is available.
0 commit comments