MCP Server Kalshi について
Claude Code などのエージェント環境から Kalshi 予測市場を操作するための MCP サーバーで、市場の閲覧、データ調査、決済ルールの確認、取引の実行に対応しています。MCP ツール経由で市場アクセスと取引を行いたい利用者に向いています。既定ではデモ(サンドボックス)環境に接続し、注文系ツールは confirm が true でない場合プレビューのみを返します。
主な機能
- 01市場、イベント、シリーズの照会ツール
- 02板情報、ローソク足、約定履歴の調査ツール
- 03決済ルールと契約 PDF のテキスト抽出
- 04取引所ステータスと取引時間の確認
- 05ポートフォリオの残高、ポジション、約定の照会
- 06注文の発注、取消、変更、数量減少ツール
活用シーン
- 01取引前の板情報と価格履歴の調査
- 02決済条件を確認するための決済ルールの読解
- 03アカウントの残高、ポジション、約定の確認
- 04デモ環境での取引ワークフローの検証
MCP 対応
MCP クライアントに対して、Kalshi の市場、ルール、ポートフォリオ、注文関連のツールを提供する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx mcp-server-kalshiKALSHI_ENVdemo (sandbox) or prod (real money)KALSHI_API_KEYシークレットKalshi API key ID; required only for portfolio/order toolsKALSHI_PRIVATE_KEY_PATHシークレットPath to your RSA private key .pem; required for authenticated toolsBASE_URLOptional explicit REST base override (must include /trade-api/v2)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Server Kalshi
Claude Code やその他のエージェントハーネスに Kalshi への一級のインターフェースを提供する MCP サーバーです。エンドツーエンドの取引のために構築されています。マーケットを閲覧し、調査し、正確な決済ルールを読み(コントラクト条項の PDF の取得を含む)、取引を実行する——これらすべてを MCP ツールを通じて行えます。
ハイライト
- 探索 —
list_markets、get_market、list_events、get_event、list_series、get_series。(Kalshi にはフリーテキスト検索がないため、list_marketsのフィルターが検索の役割を果たします。) - 調査 —
get_market_orderbook、get_market_candlesticks、get_market_trades。 - 詳細なルール —
get_market_rulesはマーケットのrules_primary/rules_secondary、 早期クローズ条件、決済ソース、シリーズの禁止事項を統合します。fetch_rules_pdfは実際の法的契約 PDF をダウンロードしてテキストを抽出するため、エージェントがそれを読むことができます。 - 取引所 —
get_exchange_status、get_exchange_schedule(マーケットが開いているか、およびその取引時間)。 - ポートフォリオ —
get_balance、get_positions、get_fills、get_settlements。 - 取引 —
create_order、cancel_order、amend_order、decrease_order、 さらにlist_orders/get_order。
デフォルトで安全
- 明示的に
KALSHI_ENV=prodを設定しない限り、このサーバーは Kalshi の デモ(サンドボックス) 環境を対象とします。 - 注文を出すツール(
create_order、amend_order)にはconfirm=trueが必要です。これがない場合、 これらのツールは プレビュー ——人間が読める要約と正確なペイロード——を返し、何も発注しません。 - 認証情報は 任意 です。すべてのマーケット/ルールツールは未認証で動作します。ポートフォリオ と注文のツールにのみ API キー + RSA 秘密鍵が必要です。
直感的な注文モデル
Kalshi の V2 注文 API はすべてを YES レッグから見てクォートします(bid/ask は固定小数点ドル)。
このサーバーは代わりに自然なモデル——action(buy/sell)+ side(yes/no)+ 整数の
セント 価格——を公開し、それを変換します(buy-NO ⇄ sell-YES の価格反転を含む)。
設定
| 変数 | デフォルト | 目的 |
|---|---|---|
KALSHI_ENV | demo | demo(サンドボックス)または prod(実際の資金)。ベース URL を導出します。 |
KALSHI_API_KEY | (なし) | Kalshi API キー ID。認証が必要なツールにのみ必要です。 |
KALSHI_PRIVATE_KEY_PATH | (なし) | RSA 秘密鍵 .pem へのパス。認証が必要なツールに必要です。 |
BASE_URL | (導出) | オプションの明示的な REST ベースの上書き(/trade-api/v2 を含める必要があります)。 |
.env-example を参照してください。API 認証情報は
docs.kalshi.com/getting_started/api_keys
で取得でき、デモアカウントは
デモ環境ガイドから取得できます。
Claude Desktop (uvx)
"mcpServers": {
"kalshi": {
"command": "uvx",
"args": ["mcp-server-kalshi"],
"env": {
"KALSHI_ENV": "demo",
"KALSHI_API_KEY": "<YOUR KALSHI API KEY>",
"KALSHI_PRIVATE_KEY_PATH": "PATH TO YOUR RSA KEY FILE"
}
}
}
Claude Desktop (Docker)
"mcpServers": {
"kalshi": {
"command": "docker",
"args": ["run", "--rm", "-i",
"--mount", "type=bind,src=/Users/username,dst=/Users/username",
"-e", "KALSHI_ENV", "-e", "KALSHI_API_KEY", "-e", "KALSHI_PRIVATE_KEY_PATH",
"mcp-server-kalshi"],
"env": {
"KALSHI_ENV": "demo",
"KALSHI_API_KEY": "<YOUR KALSHI API KEY>",
"KALSHI_PRIVATE_KEY_PATH": "PATH TO YOUR RSA KEY FILE"
}
}
}
ローカル開発
.envファイルを作成します(.env-exampleを参照)。- 依存関係をインストールします:
uv sync(開発ツールには--extra devを追加)。Python 3.10+ が必要です。 - 実行します:
uv run start。 - テストします:
uv run pytest。
MCP Inspector
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-server-kalshi run start
テストとコード品質
uv sync --extra dev # install dev tools (ruff, mypy, pytest, ...)
uv run pytest # run the test suite
uv run pytest --cov # tests with a coverage report
uv run ruff check src tests # lint
uv run black src tests # format (add --check to verify only)
uv run mypy # type check
uv run pre-commit install # (once) run ruff + black on every commit
テストは純粋/オフラインです。注文の変換と confirm ゲート、HTTP クライアント
(注入された httpx.MockTransport 経由)、MCP ツールレジストリ、設定、PDF 抽出を、実際の Kalshi API に触れることなく
検証します。CI(.github/workflows/ci.yml)は、すべての push/PR で Python 3.10~3.13 にわたって ruff + black + mypy +
pytest を実行し、リリースは同じスイートでゲートされます。
認証
リクエストは RSA-PSS(MGF1-SHA256、最大ソルト)で署名されます。認証された各リクエストは
KALSHI-ACCESS-KEY、KALSHI-ACCESS-TIMESTAMP、KALSHI-ACCESS-SIGNATURE を送信し、署名対象の
メッセージは timestamp_ms + METHOD + path です(path には /trade-api/v2 が含まれ、クエリ
文字列は除外されます)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。