kalshi_milestones
Pack: kalshi · Endpoint: https://gateway.pipeworx.io/kalshi/mcp
Real-world occurrences Kalshi tracks — games, elections — and the events tied to each, from Kalshi.
Tool description as the model sees it
Kalshi’s own index of the real-world OCCURRENCES its markets hang off — games, elections, hearings, launches — from GET /milestones. Each milestone carries a title, type (e.g. baseball_game, football_game, tennis_tournament_singles, election), category, start and end dates, source ids, and — the reason to use this — primary_event_tickers and related_event_tickers, which are Kalshi’s OWN statement of which markets belong to the occurrence. That is the alternative to matching event titles by string, which is how you accidentally group two different games. Filter by category (“Sports”, “Elections”, …), type, competition, related_event_ticker (reverse lookup: which milestone is this event part of?) or minimum_start_date; page with cursor. A milestone id is also the key for kalshi_game_stats.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
category | string | no | Kalshi category, exact words, e.g. “Sports” | “Elections” | “Economics” | “Politics”. |
type | string | no | Milestone type, e.g. “baseball_game”, “football_game”, “basketball_game”, “tennis_tournament_singles”, “soccer_tournament_multi_leg”. |
competition | string | no | Competition filter, e.g. “NFL”, “NBA” (Kalshi’s own spelling; many milestones carry none). |
related_event_ticker | string | no | Reverse lookup — return milestones linked to this event ticker. |
minimum_start_date | string | no | RFC3339 timestamp; only milestones starting at or after it. Kalshi’s default page is dominated by historical milestones, so pass this to see current ones. |
limit | number | no | 1-200 (default 50). Kalshi requires this parameter; we always send it. |
cursor | string | no | Pagination cursor from a previous response. |
Example call
Arguments
{
"category": "Sports",
"minimum_start_date": "2026-09-14T00:00:00Z",
"limit": 3
}
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_milestones","arguments":{"category":"Sports","minimum_start_date":"2026-09-14T00:00:00Z","limit":3}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('kalshi_milestones', {
"category": "Sports",
"minimum_start_date": "2026-09-14T00:00:00Z",
"limit": 3
});
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.