RiskState — Crypto Risk Engine について
RiskStateは、現物、パーペチュアル先物、DeFi借入を対象に、BTC/USDとETH/USDの取引リスクを評価する読み取り専用エンジンです。敞露ルール、市場構造、プレイブックの状態、ポートフォリオを考慮した取引可否をMCPツールで返し、注文は行いません。
主な機能
- 01敞露ポリシーとレバレッジ上限
- 02ポートフォリオ単位の仮想取引チェック
- 03市場構造シグナル
- 04実行可能なプレイブック状態
- 05BTCとETHの読み取り専用分析
活用シーン
- 01取引前に許容敞露を確認
- 02既存ポジションを含めて案を検証
- 03取引案の前に市場構造を確認
- 04条件を満たすセットアップを特定
MCP 対応
MCPサーバーは、リスクポリシー、市場構造、プレイブック状態、取引チェックの読み取り専用ツールを提供します。ホスト型のStreamable HTTP接続では公開サマリーを、キー付きパッケージではstdio経由で完全な結果を取得できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.riskstate.ai/mcpclaude mcp add --transport http ai-riskstate https://api.riskstate.ai/mcp{"mcpServers":{"ai-riskstate":{"type":"http","url":"https://api.riskstate.ai/mcp"}}}Cursor で開く{"servers":{"ai-riskstate":{"type":"http","url":"https://api.riskstate.ai/mcp"}}}VS Code で開く{"mcpServers":{"ai-riskstate":{"type":"http","url":"https://api.riskstate.ai/mcp"}}}{"mcpServers":{"ai-riskstate":{"serverUrl":"https://api.riskstate.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
3| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| asset | enum | いいえ | 評価する資産(デフォルトは BTC)BTC | ETH |
詳細
RiskState MCP サーバー
RiskState 用 MCP サーバー — BTC/USD と ETH/USD の取引前リスク権限を確認できます。現物、無期限先物(パープ)、DeFi の借り入れを考慮します。
システムが尋ねるのは、**「今、どれくらいのリスクを取れますか?」**です。 RiskState は、30 以上のリアルタイムシグナルから算出したポリシーレベル、最大エクスポージャー、レバレッジ上限、ブロックされたアクションを返します。
MCP 経由で RiskState を利用する 2 つの方法
1. リモートコネクター — インストールも API キーも不要です。 RiskState は、無料のパブリックティアを備えたホスト型 MCP サーバー(Streamable HTTP)を提供しています。
https://api.riskstate.ai/mcp
Claude または
ChatGPT にカスタムコネクターとして追加し、
BTC のリスク状態を尋ねるだけです。3 つのエンジンすべてをカバーする、読み取り専用の 3 つのツール — get_risk_state、
get_market_structure、get_playbook_status — を提供しており、公式 MCP レジストリに ai.riskstate/mcp として登録されています。
応答は、無料のパブリックサマリーです。公開ビジュアライザーと同じ概要レベルです。policy_hash、複合サブスコア、ポジショニング、マクロの詳細を確認するにはキーが必要です。
2. このパッケージ — stdio、キー認証、完全な応答。 ローカルエージェントで監査済みの完全なペイロードを利用したい場合や、独自のツールチェーンでバージョンを固定したい場合に使用します。
RISKSTATE_API_KEY が必要で、キーでアクセス権があるすべての情報を返します。この README の残りでは、この方法について説明します。
ツール
取引前に尋ねる可能性のある 4 つの質問に、それぞれ対応する読み取り専用ツールです。
| ツール | 回答内容 | エンドポイント | キー |
|---|---|---|---|
get_risk_policy | 許可されるエクスポージャーはどれくらいですか? | POST /v1/risk-state | 必要 |
get_market_structure | 構造的な転換点が近づいていますか? | POST /v1/market-structure | 必要 |
get_playbook_status | 今、このセットアップは実行可能ですか? | GET /api/playbook-data | 不要 |
check_trade | このポジションは許可されますか? | POST /v2/portfolio-risk-state | 必要 |
get_risk_policy は次の情報を返します。
| フィールド | 説明 |
|---|---|
policy_level | 5 段階のレベル:BLOCK_SURVIVAL、BLOCK_DEFENSIVE、CAUTIOUS、GREEN_SELECTIVE、GREEN_EXPANSION |
max_size_pct | ポートフォリオに対する最大ポジションサイズ(%)(0〜100) |
leverage_max | 許可される最大レバレッジ倍率 |
allowed_actions | このポリシーレベルでエージェントが実行できること |
blocked_actions | エージェントが実行できないこと |
confidence_score | シグナルの一致度 × データ品質(0〜1) |
check_trade は仮想のポートフォリオを評価します — 検討中のポジションと、すでに保有しているポジションをすべて送信してください。上限はポートフォリオ全体を考慮するためです。各ポジションが許可されるかどうか、サイズ上限(パーセントとドル建て)、許可されない場合は reason_codes を返します。reason_codes はブロック要因です。advisories は参考情報であり、allowed には影響しません。注文は実行しません。
get_playbook_status は、条件が一致し、どのエンジンからも拒否されず、さらにアラートのクールダウン中でないセットアップのみを実行可能として報告します。条件は一致していてもすでにアラート済みのセットアップは別途カウントされるため、エージェントがこのツールをポーリングしても、同じシグナルに対して二度行動することはありません。
書き込みツールがない理由
update_policy も set_limit も例外管理もありません — 今後も追加されません。RiskState の前提は、統制されるシステム自身が自らの上限を変更できないことです。各判断にはハッシュ(policy_hash)が付与され、後から、その判断を生み出した入力と照合して監査できます。呼び出し元がポリシーを書き換えられるツールがあれば、そのハッシュは意味を失い、監査証跡は形だけのものになってしまいます。
そのため、この仕組みのライフサイクルは意図的に一方向です。エンジンが計算し、エージェントが読み取って従います。check_trade は取引ごとの動的な操作に最も近いものですが、それでも読み取り専用です。「これを許可した場合どうなるか」に答えるものであり、「これを許可する」ものではありません。
API はサーバー側で 9 以上のリアルタイムデータソースを集約します。詳細はAPI ドキュメントをご覧ください。
このラッパーが行うこと(および行わないこと)
これは薄いラッパーです。MCP ツール呼び出しを REST API リクエストに変換し、レスポンスを返します。すべての計算(スコアリング、ポリシーエンジン、データ取り込み)はサーバー側で行われます。
このラッパーが行うこと:
- MCP プロトコルへの準拠(Claude Desktop/Code 用の stdio トランスポート)
- Zod スキーマによる入力検証
- 人が読みやすいポリシーの概要をレスポンスの先頭に追加
- エージェントが復旧できるよう、具体的なエラーメッセージ(認証、レート制限、タイムアウト)を返す
このラッパーが行わないこと:
- レスポンスのキャッシュ(API にはサーバー側の 60s キャッシュがあります)
- スコアリングや計算のローカルでの実行
- レスポンススキーマの安定性の保証(API のバージョン管理に従います)
インストール
npm install @riskstate/mcp-server
設定
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
RISKSTATE_API_KEY | はい | riskstate.ai の API キー(ベータ期間中は無料) |
RISKSTATE_API_URL | いいえ | カスタム API ベース URL(デフォルト:https://api.riskstate.ai) |
Claude Desktop
~/.config/Claude/claude_desktop_config.json に追加します。
{
"mcpServers": {
"riskstate": {
"command": "npx",
"args": ["-p", "@riskstate/mcp-server", "riskstate-mcp"],
"env": {
"RISKSTATE_API_KEY": "your-api-key"
}
}
}
}
Claude Code
claude mcp add riskstate -- npx -p @riskstate/mcp-server riskstate-mcp
環境に API キーを設定します。
export RISKSTATE_API_KEY=your-api-key
グローバルインストール(代替方法)
npm install -g @riskstate/mcp-server
riskstate-mcp # starts MCP server on stdio
使用方法
上記の 4 つのツールを利用できます。get_risk_policy が受け取るパラメーターは次のとおりです。
パラメーター
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
asset | "BTC" | "ETH" | はい | 分析するアセット |
wallet_address | string | いいえ | オンチェーンのポジションデータを取得する DeFi ウォレット |
protocol | "spark" | "aave" | いいえ | レンディングプロトコル(デフォルト:spark) |
include_details | boolean | いいえ | 詳細な内訳(サブスコア、マクロ、リスクフラグ)を含めます |
レスポンスの例
{
"exposure_policy": {
"policy_level": "CAUTIOUS",
"max_size_pct": 35,
"leverage_max": 1.5,
"allowed_actions": ["DCA", "WAIT", "SPOT_LONG_CONFIRMED"],
"blocked_actions": ["LEVERAGE_GT_2X", "NEW_POSITIONS_UNCONFIRMED"]
},
"classification": {
"cycle_phase": "MID",
"market_regime": "RANGE",
"macro_regime": "NEUTRAL",
"direction": "SIDEWAYS"
},
"auditability": {
"composite_score": 52,
"confidence_score": 0.72,
"policy_hash": "a3f8c2...",
"ttl_seconds": 60
}
}
エージェントでの使用方法
すべての取引の前に get_risk_policy を呼び出します。
policy_levelがBLOCKで始まる場合 → 新しいポジションを建てないでくださいmax_size_pctを使ってポジションサイズの上限を設定します- 実行前に
blocked_actionsを確認します ttl_secondsの経過後に再照会します(60s キャッシュ)
サイズを指定したポジションでは、check_trade を使うと手順 2〜3 を 1 回の呼び出しにまとめられます。建てる予定のポジションと、すでに保有しているポジションを一緒に送信し、allowed と reason_codes を確認してください。上限はポートフォリオを考慮しており、単独では条件を満たすポジションでも、集計後に集中度の上限を超える可能性があるため、自分で上限を再計算するよりもこちらを使うことを推奨します。
get_market_structure と get_playbook_status は参考情報であり、取引の許可を示すものではありません。どちらも取引を承認するものではなく、承認するのはリスクポリシーだけです。これらを使って取引を提案する価値があるかどうかを判断し、その後 get_risk_policy/check_trade で許可されるポジションサイズを確認してください。
制限事項
- v1 の対象範囲: BTC/USD と ETH/USD のみ(USD 建ての評価)。今後、対応アセットを追加予定です。
- 市場: 現物、無期限先物、DeFi の借入。同じレスポンスを返しますが、市場によって解釈が異なります(API ドキュメントを参照)。
- プロトコル: DeFi ポジションデータは Spark と Aave V3 のみ対応しています。
- レート制限: API キーごとに 1 分あたり 60 リクエスト。
- レイテンシ: リクエストあたり約 1〜3 秒(9 つ以上の上流データソースを集約)。
- テスト済み: Claude Desktop、Claude Code。MCP 互換クライアントであれば、どれでも動作するはずです。
リンク
- ランディングページ: riskstate.ai
- API ドキュメント: riskstate.ai/docs/api
- SKILL.md: agentskills.io
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。