get_weather_signalsLABSCO SUMMARY
It shows the forecast under the signal.
The distinguishing move is that the calibration is not hidden: get_forecast returns the bias-adjusted forecast and list_cities returns the calibration parameters, so an edge number can be traced back to the forecast and the station observation that produced it. Coverage is deliberately narrow — five cities — and the market and weather feeds are all public APIs.
What it is
An MCP server for Kalshi weather markets. It calibrates National Weather Service daily high-temperature forecasts per city, reads current Kalshi prices, and returns per-bucket probability, edge and net expected value — so the model gets a signal rather than a raw forecast.
What you get
- Calibrated signals for one city's Kalshi weather markets —
get_weather_signals - The same scan across every supported city at once —
get_all_signals - The bias-adjusted forecast behind a signal, so the input is inspectable —
get_forecast - The latest METAR observation from the station a market settles against —
get_station_observation - The supported cities and their calibration parameters —
list_cities; the cities arenyc,chicago,denver,miamiandla - Three transports from one binary:
--transport stdio,--transport sse --port 8050,--transport streamable-http --port 8050
Requirements
It is not on PyPI, so the README's pip install line fails; install it from a clone with pip install ., after which the documented Claude Desktop entry runs it as python -m weather_edge_mcp. Data comes from the National Weather Service forecast API, the Aviation Weather METAR API and the Kalshi public market API. An optional FastAPI surface can be started separately with uvicorn on port 8080, and the README notes stdio mode stays side-effect free.
Setup effort
Build from source — git clone https://github.com/RJW34/weather-edge-mcp
USE CASES
Deciding whether a weather market is mispriced
Read the per-bucket probability and edge for one city rather than comparing a forecast to a price by hand.
Scanning for the best opportunity today
Run the full scan across supported cities and sort by expected value.
Checking the forecast a signal was built on
Pull the bias-adjusted forecast and the settlement station's latest observation before acting.
Understanding why one city behaves differently
Read the calibration parameters that the server applies per city.
5 tools
Listed in project docs. Your client may show a different list.
get_all_signalsget_forecastget_station_observationlist_citiesBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
python on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/RJW34/weather-edge-mcp
cd weather-edge-mcp
pip install .Then point your client at it — the block under MCP Clients runs the installed module with python -m weather_edge_mcp
MCP Clients
Claude Desktop
{
"mcpServers": {
"weather-edge": {
"command": "python",
"args": [
"-m",
"weather_edge_mcp"
]
}
}
}