# Kalshi Kernel MCP server

> Provides a safety-focused interface for Kalshi event contracts and perpetual markets, supporting both paper trading and live order execution.

- Repository: https://github.com/copyleftdev/kalshi-kernel
- Page: https://hostedmcp.org/servers/copyleftdev/kalshi-kernel
- Transport: stdio
- Stars: 0
- License: Apache-2.0
- Latest version: 0.1.1

## Install

### Claude Code

```sh
claude mcp add --env 'KALSHI_API_KEY_ID=<YOUR_KALSHI_API_KEY_ID>' kalshi-kernel -- docker run -i --rm ghcr.io/copyleftdev/kalshi-kernel:0.1.1
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "kalshi-kernel": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/copyleftdev/kalshi-kernel:0.1.1"
      ],
      "env": {
        "KALSHI_API_KEY_ID": "<YOUR_KALSHI_API_KEY_ID>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "kalshi-kernel": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/copyleftdev/kalshi-kernel:0.1.1"
      ],
      "env": {
        "KALSHI_API_KEY_ID": "<YOUR_KALSHI_API_KEY_ID>"
      }
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"kalshi-kernel","type":"stdio","command":"docker","args":["run","-i","--rm","ghcr.io/copyleftdev/kalshi-kernel:0.1.1"],"env":{"KALSHI_API_KEY_ID":"<YOUR_KALSHI_API_KEY_ID>"}}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "kalshi-kernel": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/copyleftdev/kalshi-kernel:0.1.1"
      ],
      "env": {
        "KALSHI_API_KEY_ID": "<YOUR_KALSHI_API_KEY_ID>"
      }
    }
  }
}
```

### Codex

```sh
codex mcp add kalshi-kernel --env 'KALSHI_API_KEY_ID=<YOUR_KALSHI_API_KEY_ID>' -- docker run -i --rm ghcr.io/copyleftdev/kalshi-kernel:0.1.1
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.kalshi-kernel]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/copyleftdev/kalshi-kernel:0.1.1"]

[mcp_servers.kalshi-kernel.env]
KALSHI_API_KEY_ID = "<YOUR_KALSHI_API_KEY_ID>"
```

### Gemini CLI

```sh
gemini mcp add -s user -e 'KALSHI_API_KEY_ID=<YOUR_KALSHI_API_KEY_ID>' kalshi-kernel docker -- run -i --rm ghcr.io/copyleftdev/kalshi-kernel:0.1.1
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "kalshi-kernel": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/copyleftdev/kalshi-kernel:0.1.1"
      ],
      "env": {
        "KALSHI_API_KEY_ID": "<YOUR_KALSHI_API_KEY_ID>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `KALSHI_API_KEY_ID` | no | yes | Kalshi API key identifier; used only in live mode |
| `KALSHI_KERNEL_MODE` | no | no | Immutable execution mode; paper is the safe default |
| `KALSHI_LIVE_TRADING_ACK` | no | no | Explicit live-risk acknowledgement documented by this project |
| `KALSHI_MAX_DAILY_NOTIONAL_DOLLARS` | no | no |  |
| `KALSHI_MAX_DAILY_ORDERS` | no | no |  |
| `KALSHI_MAX_ORDER_NOTIONAL_DOLLARS` | no | no |  |
| `KALSHI_PRIVATE_KEY_PATH` | no | no | Path to a mounted Kalshi private key; used only in live mode |

## Tools (12)

- `kernel_status`
- `search_markets`
- `get_market`
- `get_orderbook`
- `get_candles`
- `get_trades`
- `get_last`
- `arm_live_trading`
- `get_portfolio`
- `place_order`
- `amend_order`
- `cancel_order`

## FAQ

### Is this server ready for live trading?

No, this is a pre-release project that is not ready for trading. The current main branch adds live adapters, but users should treat it as development software.

### How does paper mode work?

Paper mode uses an in-memory simulated ledger that starts with $100.00 by default and resets when the process exits.

### Can I trade perpetual markets in live mode?

No, live account reads and writes currently only support event contracts; perpetual account operations are unavailable.
