Polymarket Agent MCP について
Polymarket の予測市場を取引・分析する MCP サーバーで、MCP 対応クライアント向けです。市場探索、取引、コピー取引のバックテスト、リスク管理、ポートフォリオ最適化を備え、初期設定はプレビュー取引です。
主な機能
- 01予測市場の検索と分析
- 02注文・一括取引・注文管理
- 03トレーダー探索とコピー取引の検証
- 04ポジションと損切り・利確の管理
- 05リスク評価とポートフォリオ最適化
- 06裁定機会とスマートマネーフローの探索
活用シーン
- 01注目市場の発見と価格比較
- 02トレーダー分析とコピー戦略の検証
- 03ポジションの決済条件設定とリスク確認
- 04裁定機会の特定とポートフォリオ管理
MCP 対応
Claude Code や Cursor などのクライアントに、市場探索・分析・取引・ポートフォリオ管理の 48 種類のツールを提供します。STDIO と HTTP に対応します。単一テナント設計のため、公開環境ではトークン認証とアクセス制限が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y polymarket-agent-mcpCOPY_MODEExecution mode: 'preview' simulates trades in a local SQLite DB (default, safe for inspection); 'live' places real orders on Polymarket and requires all POLY_* credentials.POLY_PRIVATE_KEYシークレットPolygon wallet private key used to sign CLOB orders. Required only when COPY_MODE=live. Never logged, persisted, or transmitted outside signed order bodies.POLY_API_KEYシークレットPolymarket CLOB API key. Required only when COPY_MODE=live.POLY_API_SECRETシークレットPolymarket CLOB API secret. Required only when COPY_MODE=live.POLY_API_PASSPHRASEシークレットPolymarket CLOB API passphrase. Required only when COPY_MODE=live.POLY_FUNDER_ADDRESSPolymarket funder wallet address (proxy wallet) used for live trading.DAILY_BUDGETMaximum USDC the agent may spend per day. Used by BudgetManager to cap copy-trading exposure.MIN_CONVICTIONMinimum conviction score (0–100) required before a copy trade is executed.CHAIN_IDEVM chain ID for Polymarket (137 = Polygon mainnet).DB_PATHOptional override for the SQLite database path. Defaults to a package-local file.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Polymarket エージェント MCP サーバー
AI を通じて、Polymarket の予測市場で取引、分析、自動化を実現します。
Polymarket 向けの最も包括的な MCP サーバーです。直接取引、市場の検索、スマートマネーの追跡、コピー取引、バックテスト、リスク管理、ポートフォリオ最適化を網羅する 48 個のツールを備えています。Claude Code、Cursor、または MCP 対応の任意のクライアントで利用できます。
ツールの概要
| カテゴリー | 数 | 主な機能 |
|---|---|---|
| 検索 | 9 | 検索、トレンド、注目、イベント、関連市場、スマートマネーの流れ |
| 分析 | 8 | AI による機会スコアリング、確信度評価、価格履歴、市場の品質、上位保有者、比較 |
| 取引 | 8 | 購入、売却、一括注文、指値注文、注文管理、安全上限 |
| コピー取引 | 5 | トレーダーの監視、自動監視、自動リバランス、バックテスト |
| ポートフォリオ | 10 | ポジション、損益、残高、リスク評価、SL/TP、最適化、市場アラート |
| ユーティリティ | 8 | ダッシュボード、設定、取引履歴、ウォッチリスト、エージェントのログ記録 |
クイックスタート
npm でインストール
npm install -g polymarket-agent-mcp
Docker
docker compose up
Claude Code の設定
~/.claude/settings.json に追加します。
{
"mcpServers": {
"polymarket": {
"command": "npx",
"args": ["polymarket-agent-mcp"]
}
}
}
使用例
AI アシスタントに自然な言葉で話しかけるだけです。
「今日のトレンド市場は何ですか?」
「ビットコインの予測市場を検索して」
「この市場で 5 ドル分購入して」
「このトレーダーを評価して。コピーすべき?」
「1 回の取引を 10 ドルとして、このトレーダーのバックテストを実行して」
「スマートマネーの流れを表示して。上位のトレーダーは何を買っていますか?」
「BTC ポジションのストップロスを 0.30 に設定して」
「バランス型の戦略でポートフォリオを最適化して」
「裁定取引の機会をスキャンして」
「この 2 つの市場を並べて比較して」
48 個すべてのツール
ディスカバリー
| ツール | 説明 |
|---|---|
markets.search | キーワード(bitcoin、election、UFC など)でマーケットを検索します |
traders.discover | 損益と取引量に基づいてトップトレーダーを探します |
markets.discover | 終了日とカテゴリーでマーケットを探します |
markets.trending | 24時間/7日/30日の取引量が多いトップマーケットを表示します |
markets.featured | カテゴリー(politics、sports、crypto など)別に、最も流動性の高いマーケットを表示します |
wta.discover | スティンクビッド価格のWTAテニスマーケットを表示します |
flow.discover | スマートマネーのシグナル — 複数のトップトレーダーが同じマーケットを購入しています |
markets.related | トピックまたはマーケットに関連するマーケットを探します |
markets.events | イベントに属するすべてのマーケットを閲覧します |
分析
| ツール | 説明 |
|---|---|
markets.analyze | AI を活用した BUY/SELL/HOLD の推奨 |
traders.analyze | トレーダーの詳細なプロフィール、勝率、損益 |
traders.score | 5つの評価軸に基づく確信度スコア(0~100) |
markets.check | マーケットの品質 — スプレッド、板の厚さ、価格帯 |
markets.price | リアルタイムの買値/売値/スプレッド |
markets.price_history | スパークライン付きの過去の価格(1時間~1か月) |
markets.holders | マーケットで最大のポジションを保有するユーザー |
markets.compare | 2~5件のマーケットを並べて比較します |
取引
| ツール | 説明 |
|---|---|
orders.buy | 任意のマーケットでシェアを購入します |
orders.sell | 保有中のポジションを売却します |
orders.batch | 最大10件の注文を一度に実行します |
wta.bid | 割引価格で指値注文を出します |
orders.cancel | すべての未約定注文をキャンセルします |
orders.list | 保留中の指値注文を表示します |
orders.status | 特定の注文のステータスを確認します |
config.go_live | プレビューモードからライブモードに切り替えます |
コピー取引
| ツール | 説明 |
|---|---|
watchlist.add | トレーダーをウォッチリストに追加/削除します |
monitor.start | 自動コピー取引ループを開始します |
monitor.stop | 監視を停止します |
watchlist.rebalance | パフォーマンスの低いトレーダーを削除します |
traders.backtest | トレーダーの過去の取引をコピーするシミュレーションを実行します |
ポートフォリオとリスク
| ツール | 説明 |
|---|---|
portfolio.balance | アカウント残高、予算、損益 |
portfolio.get | トレーダーごとの損益を含む、複数ウォレットの概要 |
positions.list | 保有中/決済済みのポジション |
positions.close | ポジションを手動で決済します |
positions.set_exit_rules | 損切りと利益確定の水準を設定します |
positions.check_exits | 決済に向けてポジションを確認します |
portfolio.risk | ポートフォリオのリスクスコアと警告 |
portfolio.optimize | AI を活用した最適化(保守的/バランス型/積極的) |
markets.watch | 価格アラート付きのマーケットウォッチリスト |
markets.watch_price | リアルタイムの WebSocket 価格サブスクリプション |
markets.arbitrage | YES+NO の価格差を検出します |
設定
| ツール | 説明 |
|---|---|
config.set | ボットの設定を更新します |
config.safety_limits | 注文サイズの上限、エクスポージャー上限、スプレッド許容値 |
dashboard.get | ターミナル形式のダッシュボード |
trades.history | フィルター付きの取引履歴 |
watchlist.list | 監視中のウォレットを表示します |
agent.log_cycle | ダッシュボード用にエージェントのサイクルを記録します |
traders.positions | トレーダーの保有中ポジションを表示します |
アーキテクチャ
Claude Code / Cursor / AI Client
|
| MCP Protocol (stdio)
v
+------------------+
| MCP Server | 48 tools registered
| (index.ts) |
+--------+---------+
|
+----+----+
| |
Tools Services
| |
v v
+-------+ +------------+
| Zod | | Backtester |
| Input | | Scorer |
| Valid. | | SmartFlow |
+-------+ | Filter |
| Tracker |
| Executor |
+-----+------+
|
+-------+-------+
| | |
Data Gamma CLOB
API API API
HTTP トランスポートとデプロイ
サーバーは2つのトランスポートモードに対応しています。
| モード | 有効化方法 | 用途 |
|---|---|---|
| stdio(デフォルト) | npx polymarket-agent-mcp | Claude Code、Cursor、ローカル MCP クライアント |
| HTTP | --http フラグまたは PORT 環境変数 | セルフホスト Docker、プライベート VPS、単一ユーザー向けリモート |
デプロイモデル — まずお読みください
このサーバーはシングルテナントでの使用を想定して設計されています。各クライアントは、専用の SQLite データベース(copytrader.db)、ウォッチリスト、1日の予算、取引履歴、監視ループを備えた独自のインスタンスを実行します。ほとんどのユーザーには stdio モードを推奨します。npx polymarket-agent-mcp を実行するか、上記の Claude Code 設定を使用すると、完全に分離されたローカル専用のインスタンスを利用できます。
⚠️ HTTP インスタンスをパブリックに公開しないでください。 このサーバーにはユーザーごとの分離機能がありません。ウォッチリスト、ポジション、予算、バックグラウンドの監視ループは、接続するすべてのクライアント間で共有されます。HTTP でパブリックにデプロイすると、マルチテナントの SaaS ではなく、実質的に共有ワークスペースになります。ライブ取引を有効にした場合、パブリックエンドポイントを通じて、どの呼び出し元からでも Polymarket ウォレットの資金を使い切られる可能性があります。必ず HTTP ベアラートークンの環境変数を設定し(PERMISSIONS.md を参照)、エンドポイントをファイアウォール、VPN、または認証プロキシの内側に配置してください。
HTTP モードでの起動
# Flag
node dist/index.js --http
# Or set PORT (defaults to 3000)
PORT=8080 node dist/index.js
エンドポイント
| パス | メソッド | 説明 |
|---|---|---|
/mcp | POST | MCP プロトコルエンドポイント(ストリーミング可能な HTTP トランスポート) |
/health | GET | ヘルスチェック — { status, version, db } を返します |
/.well-known/mcp/server-card.json | GET | MCP ディスカバリーカード(ツール、権限、データの取り扱い) |
/ | GET | バージョンとエンドポイント一覧を含むサーバー情報 |
認証
HTTP トランスポートでは、環境変数によって有効化される任意のベアラートークンを使用できます。環境変数の正確な名前は PERMISSIONS.md に記載されています。設定されている場合、クライアントは /mcp へのリクエストに Authorization: Bearer <token> を含める必要があります。未設定の場合、エンドポイントは公開状態となるため、ローカルネットワークまたはプライベートネットワークでのみ使用してください。
Docker でのデプロイ
リリースごとに、ビルド済みのマルチアーキテクチャイメージが GHCR に公開されます。
docker pull ghcr.io/demwick/polymarket-agent-mcp:1.7.0
または、同梱の Dockerfile を使って独自にビルドできます。
docker build -t polymarket-mcp .
docker run -p 3000:3000 -v mcp-data:/app/data \
-e DAILY_BUDGET=50 \
polymarket-mcp
# To require bearer-token auth on /mcp, also pass the HTTP bearer env var
# listed in PERMISSIONS.md (e.g. `-e <VAR>=my-secret-key`).
DB_PATH(デフォルトは /app/data/copytrader.db)で、SQLite データを永続化する場所を指定します。再起動後もデータを保持するには、ボリュームをマウントしてください。
設定
すべてのシークレットはプロセスの実行中、メモリ内にのみ保持されます。データベース、ログ、ディスクに書き込まれることはなく、HTTPS 経由で指定された Polymarket API エンドポイントにのみ送信されます。環境変数の正式な一覧と、変数ごとの機密性および適用範囲については、PERMISSIONS.md と SECURITY.md を参照してください。
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
COPY_MODE | いいえ | preview | preview(シミュレーション)または live(実際の注文) |
DAILY_BUDGET | いいえ | 20 | 1日の最大支出額(USDC) |
MIN_CONVICTION | いいえ | 3 | コピー対象とする最小取引額($) |
| ウォレット署名キー | ライブモードのみ | - | CLOB 注文ペイロードにローカルで署名します。永続化されることはありません(正確な環境変数名は PERMISSIONS.md を参照) |
| CLOB API 認証情報 | ライブモードのみ | - | API キー/シークレット/パスフレーズ — clob.polymarket.com にのみ送信されます(正確な名前は PERMISSIONS.md を参照) |
安全機能
- 注文サイズの上限を設定可能
- 総エクスポージャーの上限
- マーケットごとのポジション上限
- 最低流動性要件
- 最大スプレッド許容値
- ストップロス/テイクプロフィットの自動化
- プレビューモード(デフォルト)— 実資金は使用しません
権限と機能
このパッケージのフットプリントは透明性が高く、最小限です。すべて開示しています:PERMISSIONS.md — 機械可読版は .well-known/mcp/server-card.json をご覧ください。
| カテゴリ | 範囲 |
|---|---|
| ネットワーク(送信) | 3 つの Polymarket HTTPS API + 1 つの受信専用 WSS 公開価格ストリーム(ws-subscriptions-clob.polymarket.com) |
| ファイルシステム | 単一の SQLite データベースファイル + 起動時に読み込む .env のみ。それ以外はありません |
| 環境 | API 認証情報(ライブモード時のみ、メモリ内のみ)、予算設定、モード選択 |
| プロセス | なし — 子プロセス、シェルコマンド、eval/Function はありません |
| テレメトリー | なし — 分析、クラッシュレポート、更新チェック、サードパーティへのデータ送信はありません |
WebSocket の範囲: Polymarket への WSS 接続は、公開価格更新の受信専用です。ウォレット、認証情報、ユーザー ID は送信されません — どのブラウザクライアントでも利用できる公開フィードと同じ内容を受信します。
シークレットの範囲: シークレットを含む環境変数はすべてメモリ内にのみ保持され、ログへの記録や永続化は行われず、送信先は 1 つのホストに限られます(SECURITY.md をご覧ください)。
開発
git clone https://github.com/demwick/polymarket-agent-mcp.git
cd polymarket-agent-mcp
npm install
npm run build
npm test # 200+ tests
ライセンス
MIT - LICENSE をご覧ください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。