Skip to content

KalshiSpy

by kalshispy.com · remote · no sign-in to list tools · v2.1.0 · published by com.kalshispy

What Kalshi's top-earning traders won and hold: settled wins free, live markets with an API key.

Read only

5 tools: 5 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http kalshispy https://kalshispy.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

5 tools

Only reads 5Claude Code: allow
  • get_settled_winFull record of one settled Kalshi market this roster won: outcome, consensus, every roster trader on the winning side with their realized profit and picture, close and expiration t…No findings

    Why it is in this group

    • The name "get_settled_win" says "get": a word for reading.
    Description, as the server wrote it
    Full record of one settled Kalshi market this roster won: outcome, consensus, every roster trader on the winning side with their realized profit and picture, close and expiration times, keywords, and `hints.similar` — comparable wins in the same series to judge it against. Returns 404 when the ticker is not an archived win (the roster was not on it, or was on the losing side); the 404 carries a hint to search the series instead. No API key needed.

    Annotations the server declares

    • title: Get one settled win by ticker
    • readOnlyHint: true
    • openWorldHint: true
  • get_statsAggregate figures for the settled-wins archive: markets won, net and winners' realized profit, first and last settlement, a per-category breakdown and the highest-profit traders in…No findings

    Why it is in this group

    • The name "get_stats" says "get": a word for reading.
    Description, as the server wrote it
    Aggregate figures for the settled-wins archive: markets won, net and winners' realized profit, first and last settlement, a per-category breakdown and the highest-profit traders in the archive. Use it for "how has this roster done overall" context, always with the wins-only caveat. `available:false` means the archive has not been published yet. No API key needed.

    Annotations the server declares

    • title: Get archive stats
    • readOnlyHint: true
    • openWorldHint: true
  • list_categoriesEvery category that has at least one archived win, with win count, net profit and the last settlement time.No findings

    Why it is in this group

    • The name "list_categories" says "list": a word for reading.
    Description, as the server wrote it
    Every category that has at least one archived win, with win count, net profit and the last settlement time. Use the `key` value as the `category` filter of searchSettledWins. No API key needed.

    Annotations the server declares

    • title: List categories with settled wins
    • readOnlyHint: true
    • openWorldHint: true
  • search_marketsFind Kalshi markets by title or keywords, the way the KalshiSpy app's search works: fuzzy title matching finds the market series (so a team, a nickname or an approximate title work…No findings

    Why it is in this group

    • The name "search_markets" says "search": a word for reading.
    Description, as the server wrote it
    Find Kalshi markets by title or keywords, the way the KalshiSpy app's search works: fuzzy title matching finds the market series (so a team, a nickname or an approximate title works), and keyword matching runs against market titles. WITHOUT an API key it returns SETTLED WINS ONLY: settled markets where KalshiSpy's roster of ID-verified, high-profit Kalshi traders held the winning side (wins only, never a hit rate). WITH an Elite or Lifetime API key the same call also returns OPEN markets in `open_markets`: roster positions from the live feed and named traders' recent trades on still-open markets, and it costs 1 unit of the daily quota. Always read `data.access`: it says which answer you got and, when a key was refused, why; relay that sentence rather than guessing. Call this first whenever the user names a market in words, send the words under the argument name this tool's own schema gives, and cite each market's kalshi_url. An empty list is never evidence that Kalshi has no such market. For more wins, follow `settled_wins.more`, which carries ready-made search_settled_wins arguments.

    Annotations the server declares

    • title: Search Kalshi markets by title or keywords
    • readOnlyHint: true
    • openWorldHint: true
  • search_settled_winsSearch KalshiSpy's archive of settled Kalshi markets where its roster of ID-verified, high-profit Kalshi traders held the WINNING side with positive net realized profit.No findings

    Why it is in this group

    • The name "search_settled_wins" says "search": a word for reading.
    Description, as the server wrote it
    Search KalshiSpy's archive of settled Kalshi markets where its roster of ID-verified, high-profit Kalshi traders held the WINNING side with positive net realized profit. Parameter and field names call these traders "whales" (whale_count, min_whales, sort=whales); in prose, call them the roster or the verified traders. Wins only: losses are not archived, so present results as "what this roster got right on markets like this", never as a hit rate. Use this BEFORE answering about any current or upcoming Kalshi market: search the same series_ticker (e.g. KXFED, KXNBA) or category and cite the comparable past wins — titles, settlement dates, trader counts and realized profit. Each result carries the Kalshi URL and a kalshispy.com detail URL you can cite. Default window is the last 90 days; widen with `from`/`to` (max 366 days). No API key needed.

    Annotations the server declares

    • title: Search settled wins (comparable past markets this roster won)
    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 2.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http kalshispy https://kalshispy.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__kalshispy__search_markets",
      "mcp__kalshispy__search_settled_wins",
      "mcp__kalshispy__get_settled_win",
      "mcp__kalshispy__list_categories",
      "mcp__kalshispy__get_stats"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as kalshispy. Review it before you use it.