kalshi_macro
Pack: kalshi · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/kalshi_macro for the schema, then POST the same URL with its arguments for the data.
Kalshi’s macroeconomic indicator markets (CPI, Fed rate, jobs) and their live prices.
Tool description as the model sees it
Friendly-name shortcut for the most-asked Kalshi macro series: “Fed” (FOMC rate buckets), “BTC” (Bitcoin price ranges), “ETH” (Ethereum), “CPI” (monthly inflation), “GDP” (quarterly growth), “SP500” (S&P 500 EOY close), “Recession” (NBER recession calls). Returns the soonest-expiring open event for that series with all child markets + implied probabilities, so agents can ask about macro odds without knowing Kalshi’s ticker scheme.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
topic | string | yes | Fed | BTC | ETH | CPI | GDP | SP500 | Recession |
Example call
Arguments
{
"topic": "Fed"
}
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_macro","arguments":{"topic":"Fed"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('kalshi_macro', {
"topic": "Fed"
});
More examples
{
"topic": "SP500"
}
Response shape
Full JSON Schema
{
"oneOf": [
{
"type": "object",
"properties": {
"error": {
"type": "string",
"enum": [
"unknown_topic"
],
"description": "Error type"
},
"topic": {
"type": "string",
"description": "Requested topic"
},
"known_topics": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of valid topics"
},
"message": {
"type": "string",
"description": "Error message with suggestions"
}
},
"required": [
"error",
"topic",
"known_topics",
"message"
]
},
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Requested topic"
},
"series_ticker": {
"type": "string",
"description": "Kalshi series ticker"
},
"found": {
"type": "boolean",
"enum": [
false
],
"description": "No open events found"
},
"message": {
"type": "string",
"description": "Explanation message"
}
},
"required": [
"topic",
"series_ticker",
"found",
"message"
]
},
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Requested topic"
},
"series_ticker": {
"type": "string",
"description": "Kalshi series ticker"
},
"event": {
"type": "object",
"properties": {
"event_ticker": {
"type": [
"string",
"null"
],
"description": "Event ticker"
},
"series_ticker": {
"type": [
"string",
"null"
],
"description": "Series ticker"
},
"title": {
"type": [
"string",
"null"
],
"description": "Event title"
},
"sub_title": {
"type": [
"string",
"null"
],
"description": "Event subtitle"
},
"category": {
"type": [
"string",
"null"
],
"description": "Event category"
},
"mutually_exclusive": {
"type": [
"boolean",
"null"
],
"description": "Markets are mutually exclusive"
},
"strike_date": {
"type": [
"string",
"null"
],
"description": "Strike/resolution date"
},
"strike_period": {
"type": [
"string",
"null"
],
"description": "Strike period"
}
}
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ticker": {
"type": [
"string",
"null"
],
"description": "Market ticker"
},
"event_ticker": {
"type": [
"string",
"null"
],
"description": "Parent event ticker"
},
"title": {
"type": [
"string",
"null"
],
"description": "Market title"
},
"subtitle": {
"type": [
"string",
"null"
],
"description": "Market subtitle"
},
"status": {
"type": [
"string",
"null"
],
"description": "open|closed|settled"
},
"yes_ask_cents": {
"type": [
"number",
"null"
],
"description": "Ask price in cents"
},
"yes_bid_cents": {
"type": [
"number",
"null"
],
"description": "Bid price in cents"
},
"no_ask_cents": {
"type": [
"number",
"null"
],
"description": "NO ask price in cents"
},
"last_price_cents": {
"type": [
"number",
"null"
],
"description": "Last trade price in cents"
},
"implied_yes_prob": {
"type": [
"number",
"null"
],
"description": "Implied YES probability (0-1)"
},
"volume": {
"type": [
"number",
"null"
],
"description": "Total volume"
},
"volume_24h": {
"type": [
"number",
"null"
],
"description": "24-hour volume"
},
"open_interest": {
"type": [
"number",
"null"
],
"description": "Open interest"
},
"close_time": {
"type": [
"string",
"null"
],
"description": "Market close/expiration time"
},
"category": {
"type": [
"string",
"null"
],
"description": "Market category"
}
}
},
"description": "Child markets of soonest-expiring event"
},
"other_open_events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event_ticker": {
"type": [
"string",
"null"
],
"description": "Event ticker"
},
"series_ticker": {
"type": [
"string",
"null"
],
"description": "Series ticker"
},
"title": {
"type": [
"string",
"null"
],
"description": "Event title"
},
"sub_title": {
"type": [
"string",
"null"
],
"description": "Event subtitle"
},
"category": {
"type": [
"string",
"null"
],
"description": "Event category"
},
"mutually_exclusive": {
"type": [
"boolean",
"null"
],
"description": "Markets are mutually exclusive"
},
"strike_date": {
"type": [
"string",
"null"
],
"description": "Strike/resolution date"
},
"strike_period": {
"type": [
"string",
"null"
],
"description": "Strike period"
}
}
},
"description": "Later open events for same series"
},
"note": {
"type": "string",
"description": "Explanation of returned data"
}
},
"required": [
"topic",
"series_ticker",
"event",
"markets",
"other_open_events",
"note"
]
}
]
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the kalshi pack
{
"mcpServers": {
"kalshi": {
"url": "https://gateway.pipeworx.io/kalshi/mcp"
}
}
}
See Getting Started for client-specific install steps.