Commodities Markets Desk

Kalshi gold, silver, oil and crypto: live 15-minute markets, perps liquidation, and model edges.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
85%
Naming quality
85%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,716Tokens (tool definitions)
~1.9 KBTypical response size
Significant attention impact (2.12% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "commodities": {
      "url": "https://predictionmarketspicks.com/api/mcp-commodities/mcp"
    }
  }
}

Remote endpoints

https://predictionmarketspicks.com/api/mcp-commodities/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢fifteen_min_board(series, asset_class, open_only, limit)

Kalshi's 15-minute up-or-down markets, live: every trading series (bitcoin, ETH, XRP, SOL, gold, silver, WTI oil, natural gas, copper, platinum, palladium, EUR/USD, GBP/USD, USD/JPY, Coin Race and more) with whether a window is open, the YES price (two-sided mid), the window's close time, Kalshi's target price, what the series settles on, and the share of the last 96 windows that settled up. Pass `series` for one market ("eth", "KXETH15M", "natural gas") or `asset_class` to filter. Also lists the pre-launch S&P 500, Nasdaq 100 and Treasury-yield series. Free, no key. Use for "what is the ETH 15 minute market doing", "which Kalshi 15-minute markets are open", "KXBTC15M price now", "how does the Kalshi gold 15-minute market settle".

Input Schema

{
  "type": "object",
  "properties": {
    "series": {
      "description": "One series: ticker (KXETH15M) or asset (\"eth\", \"gold\", \"euro\").",
      "type": "string",
      "maxLength": 40
    },
    "asset_class": {
      "description": "crypto · commodity · currency · all (default all).",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "string",
          "enum": [
            "crypto",
            "commodity",
            "currency",
            "all"
          ]
        }
      ]
    },
    "open_only": {
      "description": "Only series with a window open right now (default false).",
      "type": "boolean"
    },
    "limit": {
      "default": 30,
      "description": "Max rows (default 30).",
      "type": "integer",
      "minimum": 1,
      "maximum": 40
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢perps_board(asset, limit)

Every Kalshi perpetual future, live: price, 24h volume, open interest, Kalshi's max leverage (long and short at a $1,000 position), funding cadence, and what funding has cost a long since launch (annualized, plus the share of windows that paid nothing). Pass `asset` for one perp ("btc", "gold", "silver", "ETH"). Free, no key. Use for "Kalshi perps funding rate", "how much leverage on Kalshi gold perps", "list Kalshi perps", "what does holding a Kalshi BTC perp cost".

Input Schema

{
  "type": "object",
  "properties": {
    "asset": {
      "description": "One perp: symbol or name (\"btc\", \"gold\", \"XAG\").",
      "type": "string",
      "maxLength": 30
    },
    "limit": {
      "default": 25,
      "description": "Max rows (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢perp_liquidation(asset, side, leverage, margin, entry, ...)

Estimate where a Kalshi perp position liquidates, from Kalshi’s published risk parameters calibrated against Kalshi’s app: liquidation price and the % move to it (vs the 100÷leverage rule, which Kalshi’s maintenance margin makes far too generous — a 5x bitcoin long is about 8% from liquidation, not 20%), plus round-trip fees and expected funding over the hold. Kalshi caps leverage by size and side; the estimate says when it applied the cap. An ESTIMATE — Kalshi's app shows the exact figure once a position is open. Assets: btc, eth, sol, xrp, doge, hype, link, gold, silver, platinum, palladium. Free, no key. Use for "where does a 5x bitcoin long liquidate on Kalshi", "Kalshi gold perp 10x liquidation price", "how far can silver move before my Kalshi short is liquidated".

Input Schema

{
  "type": "object",
  "properties": {
    "asset": {
      "description": "The perp. One of: btc · eth · sol · xrp · doge · hype · link · gold · silver · platinum · palladium.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "string",
          "enum": [
            "btc",
            "eth",
            "sol",
            "xrp",
            "doge",
            "hype",
            "link",
            "gold",
            "silver",
            "platinum",
            "palladium"
          ]
        }
      ]
    },
    "side": {
      "description": "Direction. One of: long · short.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "string",
          "enum": [
            "long",
            "short"
          ]
        }
      ]
    },
    "leverage": {
      "description": "Leverage, e.g. 5 or \"5x\". Capped at Kalshi’s maximum for the size and side.",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    },
    "margin": {
      "description": "Margin in dollars (default 1000). Accepts a number or a numeric string (\"+150\", \"62%\", \"2.5\").",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    },
    "entry": {
      "description": "Entry price (default: the live price). Accepts a number or a numeric string (\"+150\", \"62%\", \"2.5\").",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    },
    "hold_days": {
      "default": 7,
      "description": "Days held, for the funding estimate (default 7).",
      "type": "number",
      "minimum": 0,
      "maximum": 365
    }
  },
  "required": [
    "asset",
    "side",
    "leverage"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢commodity_edge(commodity, tickers)

Get today's highest-conviction gold, silver, WTI oil or bitcoin trade signal from the PMP edge model — the Kalshi daily gold (KXGOLDD), daily silver (KXSILVERD), daily WTI (KXWTI) or hourly bitcoin (KXBTCD) strike with the largest model edge, as a trade ticket: entry side and price, resolve criterion, model probability, edge in percentage points, confidence tier, and quarter-Kelly sizing. Pro key required. Use for "gold edge today", "silver edge today", "oil trade signal", "bitcoin trade signal", "is there a commodity edge". Pass tickers[] to check specific Kalshi markets — e.g. paste your Kalshi Pro screener watchlist (returns the signal only if it matches the strike PMP is modeling).

Input Schema

{
  "type": "object",
  "properties": {
    "commodity": {
      "description": "Which commodity edge to read. One of: silver · bitcoin · gold · oil.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "string",
          "enum": [
            "silver",
            "bitcoin",
            "gold",
            "oil"
          ]
        }
      ]
    },
    "tickers": {
      "description": "Optional Kalshi ticker watchlist (up to 25) — e.g. paste the tickers from your Kalshi Pro screener or Canvas to get PMP's edge on exactly those markets. Full market or 3-segment event tickers both work. Tickers PMP doesn't model are returned as not_covered (never a fabricated edge).",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "commodity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢market_pulse(topic)

The US macro-health composite (0–100) and regime plus the six category scores (growth, labor, inflation, rates, liquidity, sentiment). The composite and the regime call are free without a key, always, along with 2 category scores; one email returns 4 and Pro returns all six. Use for "how is the US economy", "macro regime", "risk-on or risk-off". (NFL edges moved to the dedicated nfl_edge tool.)

Input Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "default": "macro",
      "description": "macro = US macro-health composite (the only topic — NFL is now the nfl_edge tool).",
      "type": "string",
      "enum": [
        "macro"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢convert_probability(value, format)

Convert between implied probability, American odds, and decimal odds. Give one value and its format and get all three back (American odds carry no commas, e.g. +441 or -200). Use for "what is +150 as a probability", "convert 62% to American odds", "decimal to implied odds".

Input Schema

{
  "type": "object",
  "properties": {
    "value": {
      "description": "The numeric value to convert. Accepts a number or a numeric string (\"+150\", \"62%\", \"2.5\").",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    },
    "format": {
      "description": "Format of `value`: probability (0–100 %), american (e.g. -200 / +150), or decimal (e.g. 2.5). One of: probability · american · decimal.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "string",
          "enum": [
            "probability",
            "american",
            "decimal"
          ]
        }
      ]
    }
  },
  "required": [
    "value",
    "format"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢calculate_ev(marketPrice, yourProbability)

Calculate the expected-value edge on a Kalshi or Polymarket prediction-market contract. Given the current market price (in cents, i.e. the implied probability) and your own probability estimate, returns the % edge and a BUY / SELL / SKIP signal with a plain-English read. Use for "is this contract mispriced", "what is my edge", "should I take this position". From the PredictionMarketsPicks desk, which publishes a settled per-engine record — every signal graded against the market that priced it, wins and losses both: predictionmarketspicks.com/track-record.

Input Schema

{
  "type": "object",
  "properties": {
    "marketPrice": {
      "description": "Current contract price in cents (1–99), equal to the implied probability in %. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%.",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    },
    "yourProbability": {
      "description": "Your own estimate of the true probability the contract resolves YES, in % (0–100). Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%.",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    }
  },
  "required": [
    "marketPrice",
    "yourProbability"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢kelly_size(winProbability, marketPrice, bankroll, fraction)

Compute the optimal Kelly position size for a prediction-market contract. Given your win probability, the market price (which sets the payout), your bankroll, and a Kelly fraction (full / half / quarter / eighth), returns the dollar stake and a risk rating. Use for "how much should I stake", "what is my position size", "Kelly sizing for this trade".

Input Schema

{
  "type": "object",
  "properties": {
    "winProbability": {
      "description": "Your probability the contract resolves YES, in % (0–100). Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%.",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    },
    "marketPrice": {
      "description": "Contract price in cents (1–99). Sets the payout ratio. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%.",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    },
    "bankroll": {
      "description": "Total bankroll in dollars (e.g. 1000). Optional — omit it and the result is the % of bankroll to stake, without a dollar figure. Accepts a number or a numeric string (\"1000\", \"$1,000\").",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    },
    "fraction": {
      "default": "half",
      "description": "Kelly fraction to apply. Half-Kelly is the common sharp-money default.",
      "type": "string",
      "enum": [
        "full",
        "half",
        "quarter",
        "eighth"
      ]
    }
  },
  "required": [
    "winProbability",
    "marketPrice"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools