SteamGPT
by steamgpt.net · remote · no sign-in to list tools · v1.2.0 · published by net.steamgpt
Steam profiles, SteamID conversion, bans, FACEIT stats, friends and comparisons. Free, no API key.
9 tools: 8 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things8Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http steamgpt https://steamgpt.net/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnsteam_convert
The server marks "steam_convert" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "steam_convert" says "convert": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Changes things 8Claude Code: ask
steam_bansSteam ban status of a player: VACBanned, NumberOfVACBans, NumberOfGameBans, DaysSinceLastBan, CommunityBanned, EconomyBan - fields exactly as Steam reports them.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Steam ban status of a player: VACBanned, NumberOfVACBans, NumberOfGameBans, DaysSinceLastBan, CommunityBanned, EconomyBan - fields exactly as Steam reports them. First thing to check when reviewing a cheating report. Unresolvable ids or an unavailable upstream return an error result, never guessed data.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
steam_batchUp to 100 Steam profiles in one call.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Up to 100 Steam profiles in one call. When you need several players, ALWAYS use this instead of per-player calls - one batch of 100 costs one request. Accepts any SteamID format as STRINGS - steamid64, STEAM_1:0:x, STEAM_0:0:x, [U:1:x], hex, steam:hex, a 32-bit account id or a /profiles/ link. Never send them as JSON numbers (a 17-digit number loses precision and points at another account) and note that vanity names are not supported here - resolve those with steam_identity first. Players unknown to the platform come back in not_found - fetch those with steam_profile. include can add FACEIT (one query for the batch) and Steam bans (one upstream call for the batch) - the cheapest way to review a full match roster.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
steam_convertSteamID converter: turns one identifier into EVERY other form, instantly.1 finding
Why it is in this group
- The name "steam_convert" says "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "steam_convert" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "steam_convert" says "convert": a word for a change.
Description, as the server wrote it SteamID converter: turns one identifier into EVERY other form, instantly. Accepts steamid64, STEAM_1:0:x, STEAM_0:0:x, [U:1:x], hex (110000...), steam:hex (FiveM), a 32-bit account id or a steamcommunity.com/profiles/ link. Returns steamid64 (dec and hex), SteamID, legacy STEAM_0 form, SteamID3, account id, steam:hex and the profile URL. CHEAPEST TOOL - prefer it over steam_identity whenever you only need format conversion. Vanity names (steamcommunity.com/id/name) are not a computable format: use steam_identity for those.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
steam_faceitFACEIT player object (nickname, country, per-game skill level and ELO) plus known FACEIT bans.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it FACEIT player object (nickname, country, per-game skill level and ELO) plus known FACEIT bans. Players without a FACEIT account return an error result saying so - absence of FACEIT data is reported explicitly, never silently.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
steam_friendsKnown friends of a player from the platform's snapshot of the public Steam friend graph (cache only, no live Steam call; the snapshot can be partial).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Known friends of a player from the platform's snapshot of the public Steam friend graph (cache only, no live Steam call; the snapshot can be partial). detail picks token cost: short - steamid64 array, medium - steamid64 + personaname, full - raw Steam objects. Use short unless you need names.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
steam_identityPure identifier resolver: steamid64, SteamID (STEAM_1:0:x), SteamID3 ([U:1:x]), steam hex, vanity name and profile URL.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Pure identifier resolver: steamid64, SteamID (STEAM_1:0:x), SteamID3 ([U:1:x]), steam hex, vanity name and profile URL. No profile data - fewest tokens. If the id cannot be resolved, returns an error result with a machine-readable message - never a partial guess.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
steam_profileSteam summary only (raw GetPlayerSummaries object + SteamID conversions).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Steam summary only (raw GetPlayerSummaries object + SteamID conversions). Cheapest profile tool; data no older than 48 hours, unknown profiles are fetched live from Steam. Private profiles return the public subset of fields (not an error); unresolvable ids return an error result.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
steam_summarySteam player overview in one call.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Steam player overview in one call. presets: include=[] equals full; for competitive checks pass include ["faceit","bans"]. Responses carry provenance.fresh and sources/partial - branch on them. Overview: Steam summary, Steam ban status (VAC/game/community), SteamID conversions, FACEIT stats and the first 100 friends. include LIMITS the response to the blocks you list: omit it for everything, ["steam"] for the Steam block only (cheapest), ["bans"] for a ban check only, ["faceit","bans"] to drop the friend list. friends_limit caps the friend list (default 100).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 1Claude Code: allow
steam_compareTwo players side by side: identity, account age, visibility, Steam bans, FACEIT and shared friends (compared over the full friend lists).No findings
Why it is in this group
- The name "steam_compare" says "compare": a word for reading.
Description, as the server wrote it Two players side by side: identity, account age, visibility, Steam bans, FACEIT and shared friends (compared over the full friend lists). HEAVIEST tool - it builds two summaries plus both friend graphs; for a single player prefer steam_summary.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http steamgpt https://steamgpt.net/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__steamgpt__steam_compare"
],
"ask": [
"mcp__steamgpt__steam_summary",
"mcp__steamgpt__steam_bans",
"mcp__steamgpt__steam_profile",
"mcp__steamgpt__steam_convert",
"mcp__steamgpt__steam_identity",
"mcp__steamgpt__steam_friends",
"mcp__steamgpt__steam_faceit",
"mcp__steamgpt__steam_batch"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as steamgpt. Review it before you use it.