AlgoVesta MCPサーバー: Claude、ChatGPT、Cursor、Geminiにあなたの実際の取引所とMetaTrader 5口座を取引させる
これは何か: AlgoVestaはホスト型のModel Context Protocol(MCP)サーバーを運用しており、1本のHTTPSリンクを通じてAIアシスタントに20個の実際の取引ツールを提供します。このリンクをClaude、ChatGPT、Cursor、Claude Code、Gemini CLI、その他MCP対応のクライアントに貼り付けるだけで、アシスタントは残高を読み取り、ポジションを開閉し、ストップロスとテイクプロフィットを移動し、自身の操作を 16の暗号資産取引所とMetaTrader 5の外国為替において同時に監査できます — 使用されるのはAlgoVestaにすでに保存済みのリスク設定であり、どんなプロンプトでも上書きできないサーバー側のポリシーウォールの背後で動作します。すべての接続は5,000ドルのペーパー残高から始まり、すべての操作はed25519署名付きレシートを返します。
Model Context Protocolは、AIアシスタントを外部システムに接続するためのオープンスタンダードです。トレーディング関連のMCPサーバーの多くは、市場データをチャットウィンドウにストリーミングするだけです。しかしこのサーバーは 実行します:これは決定論的なリスクエンジンを前段に備えた注文ルーティング層であり、AIは呼び出す側です — 決して権限を持つ側ではありません。
クイックスタート
セットアップは3ステップで、コードは一切不要です。フロー全体は MCP接続 タブ内で完結します(AlgoVestaパネル内)。
以下を開き MCP接続 タブでキーを生成します。新しいキーはデフォルトで paper スコープになります。フルリンクは一度だけ表示されるので、その場でコピーしてください。
そのリンクをAIクライアントにカスタムMCPサーバーとして貼り付けます。APIキーがAlgoVestaの外に出ることはなく、コードもローカルインストールも不要です。
話しかけてみましょう。“私のポートフォリオはどうなっていますか?” “ETHUSDTで5倍レバレッジ、200ドルのロングをシミュレートして” “BTCポジションの半分をクローズして”
接続用URLは次のような形式です:
https://api.algovesta.com/u/avmcp_<your-key>/mcp
このURLは認証情報です。これを保持する者は誰でも、そのスコープの範囲内であなたの口座に対して操作を行えます。パスワードと同様に扱ってください:公開チャット、スクリーンショット、共有リポジトリ、サポートチケットに絶対に貼り付けないでください。万一漏えいした場合は、パネルから取り消してください — 取り消しは新規接続に対して即座に有効になり、開いているイベントストリームも数秒以内に切断されます。
接続できるAIアシスタント
Streamable HTTP経由でMCPを話すクライアントであれば、どれでも接続できます。以下の表は、実際のサーバーに対して検証済みの内容を、実際の制限も含めて記録したものです — これらの制限の一部はAlgoVestaではなくAI製品側の制約であり、どのMCPサーバーを使っても同様に直面します。
| AIクライアント | リンクを貼り付ける場所 | 注記と実際の制限 |
|---|---|---|
| Claude(web、デスクトップ、iOS、Android) | 設定 → コネクタ → カスタムコネクタを追加 | 完全サポート。ツールのタイトルと確認ダイアログはサーバーからそのまま提供されます。 |
| Claude Code | claude mcp add --transport http | コマンドライン。スクリプト化された、あるいは繰り返し可能なワークフローに便利です。 |
| Cursor | mcp.json、 "url" フィールド | 完全サポート。キー名は url であることに注意してください — Gemini CLIでは別の名前を使います。 |
| ChatGPT | デベロッパーモード / カスタムコネクタ | 有料プランのみ。 カスタムMCPコネクタは無料プランでは提供されず、まずデベロッパーモードを有効にする必要がある場合もあります。これはOpenAI側の制限です。 |
| Gemini CLI | ~/.gemini/settings.json、 "httpUrl" フィールド | CLIのみ。 Gemini のWebアプリはカスタムMCPサーバーに対応していません。使用するのは httpUrl キーであり、 url. |
| その他のMCP対応クライアント | 各クライアント独自のMCP/コネクタ設定 | このサーバーは標準規格を実装しているため、Streamable HTTP経由のリモートMCPに対応したクライアントであれば、特別な対応なしに動作します。 |
Cursorの例(mcp.json):
{
"mcpServers": {
"algovesta": {
"url": "https://api.algovesta.com/u/avmcp_<your-key>/mcp"
}
}
}
Gemini CLIの例(~/.gemini/settings.json) — 注意 httpUrl:
{
"mcpServers": {
"algovesta": {
"httpUrl": "https://api.algovesta.com/u/avmcp_<your-key>/mcp"
}
}
}
Claude Code:
claude mcp add --transport http algovesta https://api.algovesta.com/u/avmcp_<your-key>/mcp
トランスポートとプロトコル
| トランスポート | Streamable HTTP、ステートレス、JSONレスポンス。各リクエストは個別に認証されます。 |
| サーバー名 | AlgoVesta |
| シークレットリンクのエンドポイント | https://api.algovesta.com/u/<key>/mcp |
| OAuthエンドポイント | https://api.algovesta.com/mcp |
| ツールリストの変更 | tools.listChanged = true。クライアントは再接続時にツールリストを更新するため、新しいツールやパラメータはコネクタを削除・再追加しなくても表示されます。 |
| イベントストリーム | Server-Sent Eventsが /mcp/events および /u/<key>/eventsで利用でき、テナントごとに分離されており、 Last-Event-ID で再接続します。 |
| 機械可読なスキーマ | /mcp/tools.json — クライアントが受け取るのとまったく同じ、20個すべてのツールの完全なJSON Schemaです。 |
認証とスコープ
接続方法は2通りあり、どちらも同じテナントコンテキストに解決されます。ツールがパラメータとしてユーザーIDを受け付けることは決してありません — 本人確認は認証済み接続からのみ読み取られるため、他口座へのアクセスは単に禁止されているのではなく、構造的に不可能になっています。
シークレットリンク
次の形式のキーで avmcp_<32-byte urlsafe random>、URLパスに埋め込まれます。Argon2idハッシュとSHA-256の検索用ハッシュとして保存され、平文が存在するのは作成の瞬間だけで、その後は復元できません。各キーは独自のスコープ、独自のラベル、独自の取り消し状態を持つため、Cursorでペーパーキーを1つ、Claudeでライブキーを1つ動かし、どちらか一方だけを個別に停止することができます。
OAuth 2.1
正式な認可フローを好むクライアント向けです。サポートされるグラントは authorization_code および refresh_tokenで、リフレッシュトークンはローテーションされます。 PKCE( S256 を使用)は必須です — これがないリクエストは拒否されます。動的クライアント登録に対応しているため、ほとんどのクライアントは自動的に設定されます。ディスカバリードキュメント:
GET https://api.algovesta.com/.well-known/oauth-authorization-server
GET https://api.algovesta.com/.well-known/oauth-protected-resource
POST https://api.algovesta.com/mcp/oauth/register
GET https://api.algovesta.com/mcp/oauth/authorize
POST https://api.algovesta.com/mcp/oauth/token
3つのスコープ
| スコープ | できること | 取得方法 |
|---|---|---|
read | ポートフォリオ、価格、未約定注文、シミュレーション、ポリシープレビュー、レシート検証、チャンネルリプレイ。 注文を出すことはできません。 | 直接作成されます。 |
paper | 次に含まれるすべて: readに加え、5,000ドルの仮想残高でペーパーエンジンに対して実行される注文も含みます。 新規キーのデフォルトです。 | 直接作成されます。 |
live | 上記すべてに加え、接続済みの取引所とMetaTrader 5口座での実際の注文が可能です。 | 第2要素認証が必要です。 有効な認証アプリ(TOTP)コード、またはアカウントのメールアドレスに送信され10分間有効な確認コードが必要です。サーバー側で例外なく強制されます。 |
スコープには序列があり、 paper を要求するツールは、 read を持つ insufficient_scopeキーを拒否します。したがって、シミュレーション資金と実際の資金の境界は、プロンプトや設定、モデル’の判断ではなく、キー自体が持つ性質なのです。
ツールリファレンス — 全20ツール
これらは、あなたのアシスタントが実際に目にするツールそのものです。読み取り系ツールは事前確認なしに呼び出しても安全です。一方、6つの書き込み系ツールは、対応クライアントでは確認ダイアログを発生させ、そのうち3つ — place_order、close_position、cancel_order — はアノテーション上でも追加で破壊的操作として明示されています。
| ツール | スコープ | 種別 | 目的 |
|---|---|---|---|
get_portfolio_context | read | 読み取り専用 | 接続済みの全口座を1回の呼び出しで取得 |
get_market_price | read | 読み取り専用 | 鮮度情報付きのライブ価格 |
simulate_order | read | 読み取り専用 | ポリシー判定を含むドライラン |
place_order | paper / live | 破壊的 | ポジションを建てる |
close_position | paper / live | 破壊的 | 全部または一部をクローズ |
modify_position | paper / live | 書き込み | ストップロスとテイクプロフィットを変更 |
list_open_orders | read | 読み取り専用 | 未約定の指値注文 |
cancel_order | paper / live | 破壊的 | 未約定注文をキャンセル |
compile_policy | read | 読み取り専用 | 平易な言葉のルールをポリシープレビューに変換 |
verify_receipt | read | 読み取り専用 | 署名とハッシュチェーンを検証 |
replay_channel | read | 読み取り専用 | Telegramチャンネルをあなたのルールに対してバックテスト |
get_trade_history | read | 読み取り専用 | 暗号資産、MT5、ペーパーにまたがる決済済み取引とパフォーマンス |
compare_venues | read | 読み取り専用 | 接続済み取引所を、実測した価格とスプレッドでランク付け |
list_strategies | read | 読み取り専用 | TradingView戦略の一覧; webhook URLは一切返されません |
create_strategy | paper / live | 書き込み | 新しい戦略を作成; 実際の資金での取引実行は常にオフ |
update_strategy | paper / live | 書き込み | 戦略の設定; auto_tradeは拒否されます |
backtest_my_signals | read | read-only | 自分の過去シグナルを別の設定で再生(キュー投入ジョブ) |
simulate_policy | read | read-only | 実際にクローズした取引にリスクポリシーを適用(キュー投入ジョブ) |
import_tradingview_backtest | read | read-only | TradingViewのエクスポートを実際の手数料とスリッページで再計算(キュー投入ジョブ) |
get_job_status | read | read-only | キュー投入ジョブの進捗と結果 |
get_portfolio_context
パラメータは一切取りません。認証済みキーに属するすべての取引所口座、すべてのMetaTrader 5口座、そしてペーパー口座を正規化した形式で返します — それ以外は何も返しません。これは、“自分の状況はどうなっている?”という問いを、16回ではなく1回の呼び出しで済ませるためのツールです。
他よりも重要な2つのフィールドがあります。暗号資産口座では、 balance と equity が 先物ウォレットのみを表します。現物資金は別途 spot_balanceで報告されるため、 balance だけを読むアシスタントは、誤ってあなたに資産がないと結論づけてしまう可能性があります。MetaTrader 5口座では、 positions_source は live_ea(ポジションリストがターミナルに対して検証済みであることを意味する)か、 unavailable(ターミナルに到達できなかったことを意味する)のいずれかです。 unavailable の場合、ポジションリストが空であっても、それは 決して “オープンポジションなし”を意味するわけではありません — 不明を意味するのであり、ツールの説明はモデルに対して、あなたを安心させるのではなくその旨を伝えるよう指示しています。
get_market_price
パラメータ: venue, symbol。返り値: {ok, venue, symbol, last, bid, ask, ts, source, age_sec}。価格はおおよそ1秒ごとに更新される共有キャッシュから取得されます。キャッシュミスの場合、サーバーは取引所に対して1回のライブREST呼び出しを行います。値が10秒より古い場合、あるいはまったく取得できない場合は、その旨が明示的に伝えられます — 古い価格が最新の価格であるかのように偽装されることは決してありません。接続済みのどの取引所にもシンボルが存在しない場合、参考情報としてDEX価格が返されることがありますが、その際は、接続済みの取引先ではそれを取引できないという明確な警告が併記されます。
simulate_order
必須: venue, symbol, side, order_type, idempotency_key。実際の注文は送信しません。想定される約定内容、証拠金への影響、ポリシー判定に加え、サーバーが導出した絶対値でのストップロス・テイクプロフィット価格を返します。これは読み取り操作なので、行儀の良いアシスタントは許可を求めずにこれを呼び出し、要約を1回提示したうえで、実際に何かを発注する前に一度だけ確認を求めます。
place_order
必須: venue, symbol, side, order_type, idempotency_key。任意: account, market, size_usd, margin_usd, risk_pct, lots, leverage, sl, tp, sl_pct, tp_pct, take_profits, entry_price.
この idempotency_key idempotency_keyは単なる飾りではありません。同じキーが同一ユーザーから二度届いた場合、保存済みのレスポンスがそのまま返され、 二重に注文が開かれることはありません — これにより、クライアントがタイムアウト後に再試行した場合や、確認の途中でスマートフォンの通信が途切れた場合、モデルが誤ってツールを2回呼び出した場合でも安全です。
サイズ指定は意図的に明示的です。 暗号資産の場合、3つのフィールドのうちちょうど1つを渡します。それぞれ意味が異なります:
| フィールド | 意味 | 5倍レバレッジでの例 |
|---|---|---|
size_usd | ポジション価値(想定元本) | size_usd=100 → 100ドルのポジション、自己資金20ドル |
margin_usd | 自己資金からの担保額 | margin_usd=20 → 100ドルのポジション |
risk_pct | 使用する余剰残高の割合 を証拠金として使用。これはストップ距離に基づくリスクサイジングではありません。ストップロスまでの距離は計算に含まれません。 | risk_pct=1 2,000ドルの残高で → 証拠金20ドル → 100ドルのポジション |
外国為替とMetaTrader 5では、サイズは lots で指定され、 leverage は一切送信されません — この商品はレバレッジなしで、サイズはロット数量から決まります。指定したロットサイズはそのまま正確に使用され、都合の良い値に丸められることはありません。ブローカーの制限範囲外の場合、注文は拒否され、許容範囲が返されます。
注文サイズの許容誤差。 取引所は特定のロット刻みしか受け付けないため、要求された数量は最も近い有効なステップに合わせられます。乖離が20%以内であれば注文は実行され、正確な乖離幅が報告されます。20%を超える場合、注文は 実行されず 、代わりにどの近似数量なら実行可能かが具体的な数字で提示されます。この閾値は、直感で選ばれたものではなく、サイジング関数を通じて過去に発注されたすべての実注文を再実行した結果から選定されました。
省略されたフィールドは、保存済みの設定にフォールバックします。 ストップロス、テイクプロフィット、レバレッジを指定しなかった場合、アシスタントはそれらのフィールドを空欄のままにするよう指示されており、サーバー側がパネルに保存された設定値で補完します — 手動パネルやTelegramボットが使うのと同じ値です。レスポンスには、どのフィールドが保存済み設定から補完されたかが prefs_usedで報告されます。これが存在するのは、実測された不具合があったためです:これらのフィールドが必須だった際、モデルは値を独自に作り出さざるを得ず、実際に5件中5件の注文が顧客’自身の設定を上書きしていました。
close_position
必須: venue, symbol, side, idempotency_key。任意: fraction (0より大きく1以下)、 account, ticket。暗号資産とMetaTrader 5の両方で使用できます。クローズはリスクを減らす操作なので、ポリシーウォールがそれをブロックすることは決してありません — ブロックできるのはキルスイッチだけです。同じ冪等キーで10回呼び出しても、クローズは正確に1回だけ実行されます。該当するポジションが存在しない場合は、 POSITION_NOT_FOUND が、その取引先で 実際に オープンになっているポジションとともに返され、アシスタントは当て推量ではなく自ら修正できます。
MetaTrader 5には部分クローズがありません — Expert Advisorは常に全量をクローズします — そのため fraction=1 を使用してください。同じシンボルで複数のMT5ポジションが開いている場合、 ticket が必須になり、対象が曖昧な間は 何もクローズされません.
modify_position
必須: venue, symbol, side, idempotency_key、加えて次の少なくとも一方: new_sl / new_tp. ストップロスは削除できません — ここでも必須SLルールが適用されます。順序も検証されます:ロングの場合は new_sl < mark < new_tpが必要で、ショートの場合はその逆です。片方だけを送信した場合、もう一方は削除されるのではなく現在の値のまま残ります。クローズの場合と同様、MT5チケットが曖昧な場合は何も変更されません。
list_open_orders
任意: venue。未約定の指値注文を order_ref、取引先、シンボル、方向、指値価格、サイズ、作成時刻とともに一覧表示します。
アシスタントに未決済注文の確認を依頼する前に知っておくべき点が一つあります。このツールが追跡する保留中の注文は、ペーパー(模擬)注文帳に存在するものです。MCPを通じてライブ取引所に発注された注文は成行注文として送信されるため、保留状態にとどまらずすぐに約定します。ライブ口座でリストが空である場合、それは何かが消えたのではなく、保留中の注文が存在しないことを意味します。
cancel_order
必須: venue, order_ref, idempotency_key。参照した注文があなたのものでない場合、返答は NOT_FOUND — 他人’の注文が存在することを示唆するような応答は決して返されません。クローズと同様、これはリスクを減らす操作であり、ポリシーウォールによってブロックされることはありません。
compile_policy
必須: natural_text。平易な言葉でルールを書きます — “1回の取引で2%を超えてリスクを取らない、レバレッジは10倍以下、BTCとETHのみ” — するとそれがJSONポリシーにコンパイルされ、 プレビューとして返されます。コンパイル自体が何かを有効化することは決してありません。有効化はパネルから、または POST /api/mcp/policies/{policy_id}/activate経由で行う別個の意図的なステップです。つまり、モデルが会話するだけであなたのルールを緩めることはできません。
verify_receipt
必須: receipt_id。返り値: signature_valid と chain_valid。両方がtrueの場合にのみ、その操作は検証済みとされます。レシートはed25519で署名され、ユーザーごとにハッシュチェーン化されているため、過去のレシートを改ざんすると、それ以降のすべてのレシートが壊れ、 chain_valid がfalseになります。公開鍵は /mcp/receipts/pubkeyで提供されているため、このエンドポイントを信頼せずに独立して検証できます。古いHMAC時代のレシートは legacy=true.
replay_channel
必須: 任意: 必須: パラメータはありません。あなたのTradingView戦略を、その設定、 任意: 必須: channel_ref。任意: days (最大90、デフォルト30)、 policy_override。“過去X日間、このTelegramチャンネルを自分のルールの下でフォローしていたらどうなっていたか?”という問いに、過去のシグナルをペーパー方式で再生することで答えます。すべてのシグナルはポリシーウォールを通過するため、拒否されたものは決して発注されません。進捗は replay_progress イベントとして届きます。結果は24時間キャッシュされ、このツールは1時間あたり5回のリプレイに制限されています。出力: {trades:[...], summary:{total_pnl, win_rate, max_drawdown,
.get_trade_history
venue, symbol, days (1–365、デフォルト30)、 limit (1–200、デフォルト50)、 market (crypto / forex / paper)。3つのソースすべての決済済み取引を新しい順に1つのリストにまとめ、さらに summary を返します。このサマリーは意図的に控えめです: avg_rr はエントリー・ストップロス・決済がすべて判明している取引からのみ計算され、 rr_sample がその件数を報告します。複数の口座通貨が混在している場合、 total_pnl は null になり、代わりに pnl_by_currency が返されます。手数料はどこにも記録されていないため fee は null のままとなり、暗号資産のPnLはグロス(手数料控除前)です。あるソースを読み取れない場合、完全なリストであるかのように短いリストを返す代わりに incomplete_sources がそのソース名を示します。compare_venues
symbol。任意: market (デフォルトは futures、または spot)、 side。接続済みの各暗号資産取引所について、リアルタイム価格を返します — さらに、bid/askを公開している取引所については、ベーシスポイント単位のスプレッドと、取引所間の価格差も返します。取引所を選ぶことはしません: 発注時には、あなた自身が取引所を指定します。取引手数料、板の厚み、スリッページは basis.not_measured にリストされ、決して推定されることはありません。bid/askを公開していない取引所は、スプレッドがゼロであるかのようにランク付けされるのではなく、 not_comparable_on_spread に表示されます。したがって cheapest_measured は“実測スプレッドが最も低い”ことを意味し、“総合的に最安”を意味するわけではありません。list_strategies
plan_limit、 can_create_more とともに返します。 auto_trade は戦略ごとに報告されるため、アシスタントはどの戦略が実際の資金で稼働しているかを教えることができます。webhook URL、デモURL、HMACシークレットはレスポンスから取り除かれます — 公開されるのは webhook_url_configured と has_hmac_secret のみです。これは、URL自体が認証情報だからです。create_strategy
name。必須: idempotency_key。 auto_trade をオフにした状態でTradingView戦略を作成します。このフィールドはMCP経由では書き込みできないため、新しく作成された戦略は、あなた自身がパネルで有効化するまで実際の注文を発注できません。プランの戦略上限が適用されます — 上限を超えると、何もせずに黙って失敗するのではなく、コード化されたプラン上限エラーを返します。update_strategy
strategy_id、 changes、 idempotency_key。レバレッジ(1–20にクランプ)、リスク割合(0.1–50%)、ストップロスとテイクプロフィットの割合、トレーリングとブレイクイーブンの設定、許可シンボル、対象口座、戦略がシグナルを受け付けるかどうかを変更します。 auto_trade、 status、 ip_allowlist は拒否され、 refused_fields に返されます。削除はパネルからのみ可能です。 reverse_enabled をオンにすると warning が返されます。これ以降、BUYシグナルがSHORTを建てるようになるためです。
backtest_my_signals
任意: days(1–90)、source、symbols、margin_usd、leverage、sl_pct、tp_pct、max_hold_minutes、taker_fee_bps、partial_tp。実際に受け取ったシグナルを、メインネットの実際の1分足履歴で2回再生します。1回目は各シグナル本来の損切り・利確・レバレッジで、2回目は指定した設定で実行するため、直接比較できます。job_refを即座に返し、結果はget_job_statusで取得します。すべての結果にcoverage(何件のシグナルを実際にシミュレートできたか、残りはなぜできなかったか)とassumptions(手数料、スリッページ、部分利確、モデル化しない項目)が含まれます。損切りがない、損切りがエントリーの反対側にある、履歴価格データがないシグナルは推測せず、件数を数えてスキップします。
simulate_policy
任意: policy_text(普通の言葉)、rules(コンパイル済み)、days(1–365)。リスクポリシーを実際にクローズした取引に適用し、どれがどの規則で拒否されたか、PnLの差がどうなるかを報告します。job_refを返します。2つの限界が必ず明示されます。注文時点の口座状態に依存する規則(保有ポジション数、日次損失、残高)はゼロで評価されます — その状態はクローズ済み取引から復元できないため、これらの規則は過大ではなく過小に数えられます。またPnLは記録済みの実現損益から取られ、通貨ごとに報告され、通貨をまたいで合算されることはありません。
import_tradingview_backtest
必須: csv_text。任意: taker_fee_bps、slippage_bps、leverage。TradingViewのStrategy Tester(List of Trades)から書き出したCSVを受け取り、実際のコストで計算し直します。エントリーとエグジットの両方にテイカー手数料と実測スリッページを適用します。Pine Scriptは決して実行も解釈もされません — 再計算されるのは書き出された取引リストだけで — 価格はTradingViewが報告したまま保たれます。数量列のない行には手数料を適用できないため楽観的なまま残り、その件数が報告されます。job_refを返します。
get_job_status
任意: job_ref。参照を渡すとそのジョブの状態を、完了していれば結果を返します。引数なしで呼ぶと最近のジョブ一覧を返します。statusはPENDING、RUNNING(progressに進捗率)、DONE、FAILED(再試行が予定されています)、DEAD、CANCELLEDのいずれかです。ジョブは一度に1件ずつ実行されるため、queue_positionが自分の前に何件あるかを示します。自分のものでない参照には、存在しない参照と同じ“見つかりません”という応答が返るので、ジョブ参照を総当たりで調べることはできません。
結果は永久には保持されず、その制限を先に知っておく価値があります。直近に完了した20件のジョブのみが完全な結果を保持し、それより古いものは要約に縮小され、result_pruned: trueとともに返されます。これは詳細な行が失われており、再生成するにはジョブを再実行する必要があることを意味します。すべては30日後に削除されます。バックテストおよびポリシーの実行はアカウントのバックテスト履歴にも記録され、結果には保存先のrun_idが含まれます。
ポリシーウォール
この仕組みこそが、言語モデルにツールを委ねることを正当化できる理由です。あなたのルールは一度JSONにコンパイルされ、固定スキーマに対して検証されたうえで、 サーバー側で決定論的に すべての注文に対して評価されます。モデルはこれらを一切評価せず、回避する方法を目にすることもなく、会話によって緩めるよう説得されることもありません — あなたが焦っているときであっても、たまたま読んだWebページやTelegramメッセージ経由で注入されたプロンプトによってであっても同じです。違反は監査ログへの記録を伴う厳格な拒否となります。
| ルール | 型 | 意味 |
|---|---|---|
max_risk_per_trade_pct | 数値、0–100 | 口座に占める1取引’あたりの上限割合 |
max_order_size_usd | 数値 > 0 | 注文金額の絶対上限 |
max_daily_loss_usd | 数値 > 0 | この損失を超えたらその日の取引を停止 |
max_open_positions | 整数 | 同時保有数の上限 |
leverage_cap | 数値、1–1000 | 自分自身のレバレッジ上限 |
venue_scope | 配列 | AIを指定した取引先に制限 |
symbol_whitelist | 配列 | これらのシンボルのみ取引可能 |
symbol_blacklist | 配列 | これらのシンボルは決して取引しない |
allowed_sides | 配列 | ロングのみ、ショートのみ、または両方 |
notes | 文字列 | 自分用の注釈 |
スキーマ検証に失敗したコンパイル済みポリシーは、そもそも有効化できません。部分的に有効なポリシーというものは存在しません。
安全性モデル
| デフォルトはペーパー | 新しいキーはすべて paper スコープで、5,000ドルの仮想残高から始まります。実際の資金に到達するには、明示的で独立した操作が必要です。 |
| ストップロスは必須 | 明示的なストップロスも保存済みのデフォルト値も存在しない場合、注文は拒否されます。後から削除することもできません。 |
| 冪等性 | すべての書き込み系ツールは、クライアント側で生成された8文字以上のキーを必要とします。繰り返された場合は、二重に操作を実行するのではなく、保存済みのレスポンスが再生されます。 |
| キルスイッチ | POST /api/mcp/freeze はすべてを一度に停止させます。以後、すべてのツールは user_frozen. /unfreeze が解除します。 |
| キー単位の取り消し | 他のクライアントに影響を与えることなく、1つのクライアントだけを取り消せます。開いているイベントストリームは数秒以内に切断されます。 |
| 署名付きレシート | すべての操作にed25519署名とユーザーごとのハッシュチェーンが付き、公開鍵に対して検証可能です。 |
| 監査ログ | すべての呼び出しは、ツール名・引数・結果・レイテンシとともに記録され、 GET /api/mcp/audit とパネルの両方で確認できます。 |
| テナント分離 | ツールはユーザーIDを受け付けません。本人確認は認証済み接続からのみ行われます。 |
| 取引専用キー | 取引所のAPIキーは出金権限なしで作成され、AES-256で暗号化されて保存されます。注文は、取引所側であなたが許可リストに登録する固定のAlgoVesta取引用IPアドレスから送信されます。 |
レバレッジについて、率直に言うと: AlgoVestaはあなたの口座に対してレバレッジ上限を課しません — 上限を課すのはあなたの取引所であり、あなた自身の上限は leverage_cap ポリシールールで設定できます。MetaTrader 5経由の外国為替はこの経路ではレバレッジなしで、ロット数量でサイズが決まります。ここで“レバレッジは20倍が上限だ”と言う人がいれば、それは存在しないものについて語っています。
エラー
| コード | HTTP | 発生する状況 |
|---|---|---|
unauthorized | 401 | キーが欠落・無効・取り消し済み |
insufficient_scope | 401 | ツールがキーの保有スコープより高いスコープを必要とする |
forbidden | 403 | この口座では許可されていない |
user_frozen | 403 | キルスイッチが有効 |
policy_violation | 403 | ルールが注文を拒否した。レスポンスにはどのルールかが一覧表示される |
idempotency_conflict | 409 | 同じキーが異なる引数で再利用された |
validation_failed | 422 | 引数の形式が不正、または矛盾している |
rate_limited | 429 | 呼び出し回数が多すぎる; retry_after が含まれる |
ドメインレベルの拒否は、トランスポートエラーではなく構造化された結果として届くため、アシスタントはそれに対応できます: VENUE_NOT_CONNECTED, ACCOUNT_REQUIRED, ACCOUNT_AMBIGUOUS, ACCOUNT_NOT_FOUND, POSITION_NOT_FOUND, MISSING_FIELDS, INVALID_SIDE, SL_REMOVAL_FORBIDDEN。エラーメッセージが内部の詳細を漏らすことは決してなく、他の口座について何かを明らかにすることもありません。
レート制限
| 制限の適用範囲 | 上限 |
|---|---|
| すべてのツール呼び出し(キー単位) | 1分あたり60回 |
place_order | 1分あたり10回 |
replay_channel | 1時間あたり5回(結果は24時間キャッシュ) |
| liveスコープの確認メール | 1分あたり1回 |
ライブイベント
テナントごとに分離されたServer-Sent Eventsストリームが /mcp/events (OAuth)と /u/<key>/events (シークレットリンク)で利用でき、 Last-Event-ID 再接続に対応しているため、切断された接続は最初からやり直すのではなく再開されます。イベントタイプ: fill, policy_rejected, position_closed, sl_hit, tp_hit、 replay_progress (チャンネルリプレイ中)。
取引先 — 16取引所とMetaTrader 5
1つの接続ですべてにアクセスできます。ある取引先がAIから利用可能になるのは、AlgoVesta内でそれを接続した後だけです。接続していない取引先を指定した場合は、 VENUE_NOT_CONNECTED が返され、当て推量で処理されることはありません。
| 取引所 | venue の値 |
市場 | パスフレーズの要否 |
|---|---|---|---|
| Binance | binance | 現物、先物 | 不要 |
| Bybit | bybit | 現物、先物 | 不要 |
| OKX | okx | 現物、先物 | 必要 |
| KuCoin | kucoin | 現物、先物 | 必要 |
| Gate.io | gateio | 現物、先物 | 不要 |
| Bitget | bitget | 現物、先物 | 必要 |
| Kraken | kraken | 現物、先物 | 不要 |
| Coinbase | coinbase | 現物 | 不要 |
| BingX | bingx | 現物、先物 | 不要 |
| Hyperliquid | hyperliquid | 先物 | 不要 |
| Backpack | backpack | 現物、先物 | 不要 |
| HTX | htx | 現物、先物 | 不要 |
| BloFin | blofin | 現物、先物 | 必要 |
| Phemex | phemex | 現物、先物 | 不要 |
| WOO X | woo | 現物、先物 | 必要(Application ID) |
| CoinEx | coinex | 現物、先物 | 不要 |
| MetaTrader 5(FX、貴金属、指数) | mt5 | ロット単位、レバレッジなしの経路 | ブローカーのログイン情報 |
| ペーパーエンジン | paper | 5,000ドルの仮想資金 | — |
このうち6つ — Binance、Bybit、OKX、Gate.io、KuCoin、Bitget — は、先物・現物の両方で実際の資金を使ってエンドツーエンドで検証済みです。ストップロスとテイクプロフィットが取引所自体に実際に存在し、記録された値と正確に一致することも確認されています。各取引所には固有のクセがあり、その違いは欠陥ではなく意図的なものです:BybitとBitgetは現物で2本目のテイクプロフィット注文を受け付けません。OKXの現物取引は、現物口座が知らぬ間に証拠金口座になってしまうのを防ぐため、生のAPIを経由してルーティングされます。Binanceの現物取引は購入前に最小想定元本を強制します。KuCoinの成行買いはコストモードで発注されます。
現物と先物は常に分離されています。同じシンボルであっても、この2つの市場では別々の行、別々の価格フィード、別々のキーとして扱われます — 一方が他方に混じることは決してありません。
インストール不要のMetaTrader 5
外国為替のために何かをインストールする必要は一切ありません。レンタルするVPSも、自分のマシンで稼働させ続けるMetaTraderターミナルも、取り付けるExpert Advisorも、購入するサードパーティのブリッジ口座も不要です。AlgoVestaは自社の管理サーバー上でMetaTrader 5ターミナルを稼働させ、あなたのブローカーに24時間365日接続し続けます。口座の認証情報を一度入力すれば、それ以降はあなたのAIアシスタントがその口座を取引できます。アシスタントに返されるポジションデータはターミナルに対して検証されており、検証できない場合は、口座が空であるかのように示唆するのではなく、その旨がツールから明示されます。
ロードマップ — 世界の株式
Interactive Brokers(IBKR)経由での世界の株式取引が計画されており、目標は 世界170銘柄の株式 を、暗号資産や外国為替と同じMCP接続からアクセス可能にすることです。これはロードマップ上の項目であり、 現時点では稼働していません。このページ内でこれについて記載しているのはこの段落のみで、現行のどのツールも株式を取引することはできません。実装された際には、同じツール、同じポリシーウォール、同じレシートのもとで、追加の venue 値として登場する予定です。
実測レイテンシ
これらは実測値であり、マーケティング上の数字ではありません。
| 段階 | 実測値 |
|---|---|
| リクエストの受け付けと解析 | 17–67ミリ秒(中央値38ミリ秒) |
| MetaTrader 5でのエンドツーエンド | 約1秒(実測849ミリ秒、クローズは702ミリ秒) |
| 暗号資産取引所でのエンドツーエンド | 約3秒(実測2,785ミリ秒) |
| ペーパーエンジン | 中央値318ミリ秒 — 取引所との往復なし |
AIクライアント内で費やされる時間 — モデルが考える時間や、あなたが確認する時間 — はこれに含まれておらず、通常はこちらが支配的です。このサーバーは低レイテンシの執行先ではなく、そのようなものとして販売してもいません。
パネルのRESTエンドポイント
AIが自分自身で行うことができない、また行うべきではないすべての操作は、通常のログイン済みセッションの背後にあります。
POST /api/mcp/keys create a key (live requires 2FA)
GET /api/mcp/keys list keys
DELETE /api/mcp/keys/{key_id} revoke a key
POST /api/mcp/live-code send the live-scope confirmation code
POST /api/mcp/freeze | /api/mcp/unfreeze kill switch
GET /api/mcp/status connection status
GET /api/mcp/policies list policies
POST /api/mcp/policies/compile compile without activating
POST /api/mcp/policies/{id}/activate activate
POST /api/mcp/policies/{id}/deactivate deactivate
GET /api/mcp/audit audit log
GET /api/mcp/receipts receipts
GET /api/mcp/receipts/{receipt_id}/verify verify one receipt
GET /api/mcp/pubkey receipt public key
GET /api/mcp/paper | POST /api/mcp/paper/reset
必要なもの
MCP接続自体は製品の一部であり、別売りではありません。実際に制限となるのは、AIがアクセスする対象です:ペーパー取引にはアカウントさえあれば十分ですが、ライブ取引には有効な有料プランと、そのプランで許可された接続済み口座が必要です — さらに、実際の資金でのMetaTrader 5ライブ取引には、その口座について明示的にオプトインすることが追加で必要です。取引所キーとMetaTraderアカウントの数のプラン上限は、 料金ページに記載されています。それらが問題になる前に、5,000ドルのペーパー残高ですべてを試すことができます。
よくある質問
live スコープを持つキーを渡した時点からです。このスコープは第2要素認証の後にのみ発行されます。それまでは、同じアシスタントが同一のツールを使い、5,000ドルのペーパー残高に対して動作するため、実際の資金にアクセスできるようになる前に、ワークフロー全体をリハーサルできます。get_portfolio_context はそれらすべてを1回の呼び出しで返します。同じ市場に複数の口座を保有している場合、 account パラメータが必須になり、曖昧なリクエストはデフォルトに送られるのではなく拒否されます。POST /api/mcp/freezeを使用します。以後、すべてのツールは user_frozen を返し続け、解除するまでその状態が続きます。1つのクライアントだけを遮断したい場合は、そのキーだけを取り消してください — 他のクライアントはそのまま動作を続けます。verify_receipt ツールで行うか、 /mcp/receipts/pubkeyにある公開鍵に対して独立して行えます。古いレシートを改ざんすると、それ以降のすべてのレシートのチェーンが壊れます。これこそが、改ざんを検出可能にしている仕組みです。AIアシスタントをあなたの口座に接続する
5,000ドルのペーパー残高から始めましょう。カードは不要、インストールも不要で、live側の境界はあなたが意図的に開くまで閉じたままです。
無料アカウントを作成 概要を見る関連: AIアシスタント向けMCP · MCP取引サーバー: Claude/ChatGPTを16取引所+MT5に接続 · 対応取引所 · MetaTrader 5 外国為替 · TradingView自動化 · MCPトレーディングサーバーとは何か · セキュリティ · 料金.
取引にはリスクが伴います。自動化はそのリスクを取り除くものではなく、AIアシスタントは投資助言ではありません。まずはペーパーで始めてください。