mcpField
M
MCP Server Kalshi

MCP Server Kalshi

ローカル
github.com/9crusher金融データ326 週間前に更新

MCP Server Kalshi について

Claude Code などのエージェント環境から Kalshi 予測市場を操作するための MCP サーバーで、市場の閲覧、データ調査、決済ルールの確認、取引の実行に対応しています。MCP ツール経由で市場アクセスと取引を行いたい利用者に向いています。既定ではデモ(サンドボックス)環境に接続し、注文系ツールは confirm が true でない場合プレビューのみを返します。

主な機能

  1. 01市場、イベント、シリーズの照会ツール
  2. 02板情報、ローソク足、約定履歴の調査ツール
  3. 03決済ルールと契約 PDF のテキスト抽出
  4. 04取引所ステータスと取引時間の確認
  5. 05ポートフォリオの残高、ポジション、約定の照会
  6. 06注文の発注、取消、変更、数量減少ツール

活用シーン

  1. 01取引前の板情報と価格履歴の調査
  2. 02決済条件を確認するための決済ルールの読解
  3. 03アカウントの残高、ポジション、約定の確認
  4. 04デモ環境での取引ワークフローの検証

MCP 対応

MCP クライアントに対して、Kalshi の市場、ルール、ポートフォリオ、注文関連のツールを提供する MCP サーバーです。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"kalshi": {
"command": "uvx",
"args": [
"mcp-server-kalshi"
],
"env": {
"KALSHI_ENV": "<KALSHI_ENV>",
"KALSHI_API_KEY": "<KALSHI_API_KEY>",
"KALSHI_PRIVATE_KEY_PATH": "<KALSHI_PRIVATE_KEY_PATH>",
"BASE_URL": "<BASE_URL>"
}
}
}
}
起動コマンドuvx mcp-server-kalshi
設定が必要な環境変数
KALSHI_ENVdemo (sandbox) or prod (real money)
KALSHI_API_KEYシークレットKalshi API key ID; required only for portfolio/order tools
KALSHI_PRIVATE_KEY_PATHシークレットPath to your RSA private key .pem; required for authenticated tools
BASE_URLOptional explicit REST base override (must include /trade-api/v2)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-server-kalshi0.2.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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_ENVdemodemo(サンドボックス)または 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"
    }
  }
}

ローカル開発

  1. .env ファイルを作成します(.env-example を参照)。
  2. 依存関係をインストールします: uv sync(開発ツールには --extra dev を追加)。Python 3.10+ が必要です。
  3. 実行します: uv run start。
  4. テストします: 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 が含まれ、クエリ 文字列は除外されます)。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。