Skip to main content
Glama
GC108

steamforecast-mcp

by GC108

steamforecast-mcp

CI PyPI License: MIT

Model Context Protocol server for Steam Launch Forecaster. Exposes calibrated revenue cones (P10–P90, empirically validated 80% coverage per genre) to Claude, ChatGPT, and any MCP-aware AI agent as tool calls.

What it does

Five tools, all backed by the public steamforecast.app API:

Tool

What it does

get_forecast(appid)

Calibrated P10/P50/P90 revenue cone for a Steam game by appid

get_comps(appid, k)

Top-K nearest-neighbor comparable games (cosine sim over BGE embeddings)

boxleiter_estimate(review_count, price_cents)

Pure-compute Boxleiter rule-of-thumb sanity check

get_calibration_summary()

Latest published live coverage table (per-stratum)

get_methodology()

Pulls llms.txt — high-quality URL inventory for ingestion

get_forecast and get_comps make HTTPS calls to steamforecast.app. The other three are pure compute / static reference, so they work offline once the package is installed.

Install

pip install steamforecast-mcp

Configure your MCP client

Claude Desktop / Claude Code

Add to your MCP config (typically ~/.claude.json or ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "steamforecast": {
      "command": "steamforecast-mcp"
    }
  }
}

Or via the Claude Code CLI:

claude mcp add steamforecast -- steamforecast-mcp

Other MCP clients (Cursor, Cline, etc.)

Use the standard stdio MCP config; the executable is steamforecast-mcp and takes no arguments.

Quick usage

Once configured, ask your AI agent things like:

"Pull a calibrated revenue forecast for Hades on Steam (appid 1145360) and compare it to the Boxleiter rule of thumb. Are they consistent?"

The agent will call get_forecast(1145360), then call boxleiter_estimate(review_count, price_cents) with values from the forecast result, then surface the divergence to you.

"What's the live calibration coverage on the strategy_sim stratum?"

The agent calls get_calibration_summary() and reads the per_stratum table.

Why a separate server when the website exists?

Because LLMs and AI agents shouldn't have to scrape HTML to use a calibrated forecast. The MCP surface is structured (typed JSON), versioned, and rate-limit-aware, which is the right contract for tool-using models.

It also lets you build automations without manually copying numbers from the website into spreadsheets — e.g., a nightly Claude Code routine that pulls a forecast for every appid in a publisher's portfolio and writes a report.

Configuration

Env var

Purpose

Default

STEAMFORECAST_BASE_URL

Override the API base URL (useful for local dev / staging)

https://steamforecast.app

Development

git clone https://github.com/GC108/steamforecast-mcp
cd steamforecast-mcp
pip install -e ".[dev]"
pytest
ruff check .

License

MIT — see LICENSE.

Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/GC108/steamforecast-mcp'

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