ClaudeとCursor向けのKalshi + Polymarket MCP
ClaudeとCursorは、DinoのネイティブなModel Context Protocolサーバーを通じてKalshiとPolymarketを確認できます。この接続は、マッチング済みmarketをツールとして公開します。エージェントはmarket名を安定したDinoのidに解決し、その価格比較の背後にある解決の開示内容を読み取れます。
このガイドでは、無料のDinoキーでMCPクライアントを接続します。サーバーは読み取り専用です。marketデータと確定済みのOpportunityを返しますが、取引はすべて自分のvenueアカウント内にとどまります。
キーを作成し、ソースコードの外に保管する
無料APIキーを作成し、このサーバーブロックをClaude DesktopまたはCursorに追加します。どちらのクライアントも mcp-remote を使って、ローカルのMCPプロセスをDinoのStreamable HTTPエンドポイントに橋渡しできます。プライベートなローカルクライアント設定にあるプレースホルダーを置き換えます。
{
"mcpServers": {
"dino-markets": {
"command": "npx",
"args": [
"mcp-remote",
"https://api.dino.markets/v2/mcp/",
"--header",
"Authorization:Bearer ${DINO_API_KEY}"
],
"env": {
"DINO_API_KEY": "sk_live_..."
}
}
}
}
env ブロックは、ローカルの mcp-remote プロセスに DINO_API_KEY を渡します。header引数はその値を読み取ります。このクライアント設定にはシークレットが含まれるため、リポジトリや共有フォルダーには置かず、自分のユーザーアカウントだけにアクセスを制限してください。
/v2/mcp/ の末尾のスラッシュは重要です。厳格なクライアントでは、スラッシュなしのURLからのリダイレクトで失敗することがあるためです。設定を保存したらクライアントを再起動してください。キーが写るスクリーンショットは避けてください。
具体的な質問でツールを確認する
サーバーがクライアントのツールリストに表示されたら、1つの明確な操作に対応する質問をしてみます。次のプロンプトは、エージェントにタイトルからmarketの同一性を推測させることなく、発見と詳細取得のフローを試すものです。
- "Dinoで利用できるmarketのカテゴリと有効なフィルターを一覧表示して。"
- "KalshiとPolymarket全体で、オープン中のBTC閾値marketを探して。"
- "最初の結果を開いて、outcomeの構成と解決のリスクを要約して。"
- "確定済みの野球のOpportunityを探して、最初の結果の背後にある完全なMarketを確認して。"
期待されるツールの経路は回答の中に表れます。カテゴリの発見は list_categories を呼び出します。名前やトピックでの検索は find_markets を呼び出します。完全な規約情報は get_market から得られます。確定済みのOpportunityは find_arbitrage から得られ、返された market_id を使って get_market を呼び出すのが適切です。
価格の前にエージェントに規約を読ませる
有用なvenue間リサーチのプロンプトは、エージェントにどのチェックを行うべきかを伝えます。marketが両venueに存在する場合は、次の形を使います。
[topic]に一致するmarketを探してください。選択したidに対してget_marketを使ってください。
価格について述べる前に、次を報告してください。
- マッチング済みMarketのoutcomeのキーと名前
- すべてのoutcomeについて両venueに価格があるかどうか
- settlementのparityと開示されている各リスク
- パーセンテージポイントでの価格差(priced_atとともに)
spreadは観測された差として扱ってください。find_arbitrageが返した場合にのみ、
確定済みOpportunityと呼んでください。
この順序が重要なのは、2つの掲載が同じ見出しを共有していても、締め切り、データソース、outcomeの区分け、境界の文言が異なる場合があるためです。DinoのMarket詳細は、こうした違いを settlement.risks[] に保持します。signal フィールドは、ペアが完全なparityとリスクのゲートを通過しない限り spread のままです。
MCPサーバーの境界を把握する
MCPサーバーは、Dinoのマッチング済みカタログと公開のOpportunityリソースを読み取ります。venueアカウントや資金へのアクセスはなく、発注もできません。これは開発者向けデータであり、投資助言や取引助言ではありません。watch_markets はWebSocketチケットと、Dinoのプランで許可されたチャンネルを返します。そのストリームを消費する処理は、依然としてWebSocketクライアントか公式SDKのいずれかが担います。
ドキュメント化されたMCPツールはすべてFreeで利用できます。チャンネルへのアクセスはプランによって異なります。Freeはキュレーションされた sample と status チャンネルを受け取り、有料プランは markets:* ストリーム全体を受け取ります。完全な引数についてはMCPツールリファレンスを、サーバーが使用する確信度と解決のゲートについてはマッチングガイドを参照してください。
無料キーを作成して、サーバーに接続します。まずは上のカテゴリのプロンプトから始めてください。
ブログの他の記事
PythonでKalshiとPolymarketを監視する
マッチング済みのKalshiとPolymarket marketを監視するPythonプログラムを構築します。遅延RESTスナップショットを、リアルタイム更新で拡張します。
KalshiとPolymarketを安全に比較する
観測された価格ごとに解決のリスクと契約の違いを添えて、KalshiとPolymarketの契約を比較します。
機関投資家の資金は予測市場に到達した。コモディティが試金石になる
ICEとTradewebはPolymarketとKalshiを支援している。コモディティの流動性が、機関向けインフラが実際の取引フローにつながるかを示す。