Skip to content

GC108/steamforecast-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Related

About

MCP server for Steam Launch Forecaster — calibrated revenue cones for indie Steam game launches, exposed as MCP tools to Claude / AI agents.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages