kalshi_weather_index

Pack: kalshi · Endpoint: https://gateway.pipeworx.io/kalshi/mcp

The multi-station city temperature index Kalshi settles temperature markets on, from Kalshi.

Tool description as the model sees it

Kalshi’s OWN city temperature index — the minute-resolution series that its hourly temperature markets settle against, from GET /live_data/weather/{city}. This is not a weather forecast and not a single station: it is the number Kalshi computes from a weighted multi-station panel, in Fahrenheit to 0.01, which is the only series a temperature contract actually resolves on. Each point carries contributors (how many stations reported) and status; a minute where the quorum failed is reported rather than interpolated. CITY IS AN INDEX ID, NOT A PLACE NAME, and Kalshi supports exactly thirteen (verified live 2026-09-16 from Kalshi’s own rejection message): miami, dfw, houston, phl-delaware-valley, puget-sound, sf-bay, greater-boston, southeast-michigan, kansas-city, minneapolis-st-paul, nyc, chicago, la-coastal. An unknown city is a clean error listing those. The series is city-keyed and independent of any event, so it exists even when no market is open. For the station weights and offsets behind the number, and every recalibration, use kalshi_weather_index_calibrations.

Parameters

NameTypeRequiredDescription
citystringyesIndex city id — one of: miami, dfw, houston, phl-delaware-valley, puget-sound, sf-bay, greater-boston, southeast-michigan, kansas-city, minneapolis-st-paul, nyc, chicago, la-coastal.
last_secnumbernoWindow length ending now, in seconds (default 3600). The series is per-minute, so a window under ~120s can legitimately return zero points — that is a real empty window, not a failure, and points says 0.
fromnumbernoWindow start, unix MILLISECONDS (Kalshi’s unit here, not seconds). Overrides last_sec when given with to.
tonumbernoWindow end, unix MILLISECONDS, inclusive. Defaults to now.
detailedbooleannoInclude Kalshi’s per-station audit readings on every point (much larger response).
max_pointsnumbernoNewest points to keep (default 500, max 5000). points_total reports the untrimmed count.

Example call

Arguments

{
  "city": "nyc",
  "last_sec": 900,
  "max_points": 5
}

curl

curl -X POST https://gateway.pipeworx.io/kalshi/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"kalshi_weather_index","arguments":{"city":"nyc","last_sec":900,"max_points":5}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('kalshi_weather_index', {
  "city": "nyc",
  "last_sec": 900,
  "max_points": 5
});

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "kalshi": {
      "url": "https://gateway.pipeworx.io/kalshi/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 16, 2026