Aster Agent Gateway について
Aster Agent Gatewayは、暗号資産と24時間取引されるTradFi無期限先物を分析するエージェント向けの、Aster DEX読み取り専用ゲートウェイです。先物、現物、ファンディング、板情報、Vaultフローを統合し、市場ごとのファンディング間隔を考慮します。
主な機能
- 01先物と現物市場の一覧表示
- 02市場ごとの間隔を考慮したファンディング率の分析
- 03板情報、取引、ローソク足の確認
- 04マーク価格とインデックス価格の比較
- 05Vaultフローとアドレスの口座データ取得
活用シーン
- 01間隔の異なる市場間でファンディングを比較
- 02金、石油、株式の無期限先物を確認
- 03マーク価格とインデックス価格の乖離が大きい市場を抽出
- 04Vaultへの入金と公開口座データを調査
MCP 対応
MCPサーバーは、Asterの先物、現物市場、ファンディング、取引、Vaultフロー、口座データを扱う13の読み取り専用ツールを提供します。公開エンドポイントを使い、結果をキャッシュしてレート制限を適用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
13掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| sort | string | いいえ | |
| limit | integer | いいえ |
詳細
aster-agent-gateway
Asterにはおよそ580銘柄の先物があり、そのうち約32銘柄は、暗号資産DEXでは想定しにくい商品です。金、原油、米国債、個別株、そして原資産の市場が閉まっている間も24時間365日取引されるインデックスの無期限先物が含まれています。このMCP サーバーは、市場全体に加え、約68の現物ペア、資金調達率、オーダーブック、Kライン、ボールトへの入金フローをAI エージェントに提供します。読み取り専用で、キーは不要です。公開エンドポイントのみを使用し(fapi.asterdex.com/fapi/v3、sapi.asterdex.com/api/v3、tapi.asterdex.com/info、Solana RPC、任意のEVM RPC)、キャッシュとレート制限を適用します。
ユースケース
まずは資金調達率です。ここがAsterの特徴だからです。市場ごとに間隔は異なり、1時間から8時間まであります。単純に年率換算すると、8時間間隔の市場は実態より8倍低く表示されてしまいます。スクリーナーは各行をそれぞれの間隔で計算し、上限・下限も併記するため、年率4,148%という数値にも、その意味を理解するための背景情報が添えられます。
次は午前3時のTradFi市場です。金は出来高とともに4,365ドル、原油はロング保有者に報酬を支払っており(確認時の資金調達率はマイナス0.0001%/1時間)、Micronは夜間に4.8%上昇していました。暗号資産の銘柄と同じ基準で、1つのAPIから取得できます。
mark_index_divergenceは、マーク価格とインデックス価格の乖離幅で約756の全市場をランキングします。データを取得した朝、RTXUSDTはこのランキング(505 bpsの割高)と資金調達率ランキングの両方で首位でした。これは典型的なスクイーズ前の状況です。ボールトへの入金フローからは資金がどこに置かれているかがわかります。OIスナップショットは銘柄ごとに提供され、Asterにはキー不要のOI履歴がないことも明示します。
詳しい手順:examples/use-cases.md。
クイックスタート
Claude Code:
claude mcp add aster -- uvx aster-agent-gateway
stdio(デフォルト。ローカルエージェント向け):
uvx aster-agent-gateway
またはチェックアウトから:
git clone https://github.com/alekskram/aster-agent-gateway
cd aster-agent-gateway
uv sync
uv run aster-agent-gateway
Claude Desktop/Cursorの設定:
{
"mcpServers": {
"aster": {
"command": "uvx",
"args": ["aster-agent-gateway"]
}
}
}
ホスト型。ポート8904でストリーミング可能なHTTPを使用します:
uvx aster-agent-gateway --http # 127.0.0.1:8904
curl http://127.0.0.1:8904/health # -> {"ok": true, "service": "aster-agent-gateway", ...}
Codex(~/.codex/config.toml)
[mcp_servers.aster]
command = "uvx"
args = ["aster-agent-gateway"]
ZCode:サーバーを登録(コピー&ペースト)
# 1) start the gateway (keep it running)
uvx aster-agent-gateway --http --port 8904 &
# 2) register it (merges into ~/.zcode/cli/config.json)
python3 - <<'PY'
import json, os
p = os.path.expanduser("~/.zcode/cli/config.json")
os.makedirs(os.path.dirname(p), exist_ok=True)
cfg = json.load(open(p)) if os.path.exists(p) else {}
cfg.setdefault("mcp", {}).setdefault("servers", {})["aster"] = {
"type": "http", "url": "http://127.0.0.1:8904/mcp"}
json.dump(cfg, open(p, "w"), indent=2)
print("aster-agent-gateway registered:", p)
PY
すべての13個のツールは読み取り専用です(readOnlyHint: true, destructiveHint: false として注釈されています)。
| # | ツール | シグネチャ | 機能 |
|---|---|---|---|
| 1 | market_overview | market_overview(limit=20, sort="volume") | ONE ticker/24hr ALL 呼び出しの先物パネルを exchangeInfo と結合します:TRADING 市場、出来高上位、市場ステータス数、新規上場(onboardDate)。 |
| 2 | exchange_symbols | exchange_symbols(venue="futures", symbol=None, include_junk=False) | MIN_NOTIONAL、stepSize、leverageFilter などのフィルター/精度情報を含む銘柄一覧です。TEST*/SETTLING の不要な銘柄はデフォルトで除外されます。 |
| 3 | order_book | order_book(symbol, venue="futures", depth=10) | fapi depth/sapi api/v3 depth を取得します。リミットは価格帯に合わせて切り詰められます(ウェイトを考慮)。 |
| 4 | klines | klines(symbol, interval="1h", limit=100, market="futures", price_type="last") | fapi の last/mark/index のローソク足を取得します。現物は sapi 経由です。 |
| 5 | trades | trades(symbol, limit=20, venue="futures") | API キー不要で直近の取引を取得します。現物の経路はライブでプローブされます(停止中の場合は正直なエラー辞書を返します)。 |
| 6 | spot_overview | spot_overview(limit=20) | sapi ticker/24hr と exchangeInfo に基づく現物ペアです。TEST* の不要な銘柄は除外されます。 |
| 7 | funding_overview | funding_overview(limit=20, sort="rate") | premiumIndex と fundingInfo に基づく約730件のすべてのレートです。1/2/4/8時間の間隔が混在していることを明示し、上限/下限、interestRate、nextFundingTime を含みます。 |
| 8 | tradfi_markets | tradfi_markets(limit=20, window=None) | 資産クラス(金属/株式/エネルギー/国債/外国為替)別の TradFi 無期限先物スクリーナーです。tradfi_crypto_corr サブブロックには、ローソク足データに基づく TradFi と BTC のローカル相関が含まれます。 |
| 9 | funding_screener | funding_screener(top=10, direction="both") | 年率換算したファンディング、プレミアム、マーク価格とインデックス価格のスプレッドで1回の呼び出しでランキングを作成し、上限/下限までの余裕を示す funding_regime も含みます。 |
| 10 | oi_snapshot | oi_snapshot(symbols=None, top=10) | 銘柄ごとの openInterest を取得します(1回の呼び出しで最大10銘柄)。API キー不要の OI 履歴は取得できません(404)。その旨を正直に明示します。 |
| 11 | deposit_flows | deposit_flows(chain_filter="all", limit=20) | Solana のボールト署名(API キー不要)と、ASTER_EVM_RPC_URL* の設定時に EVM ボールトの Transfers を取得し、さらに時間別/チェーン別の deposit_stats バケットを返します。 |
| 12 | account_view | account_view(address, data="balance") | 任意のアドレスについて、API キー不要で tapi の aster_getBalance/openOrders/userFills を取得します。プライバシー保護のため空の結果となる場合は、その理由を説明する正直なエラー辞書を返します。 |
| 13 | mark_index_divergence | mark_index_divergence(limit=20) | ONE premiumIndex 呼び出しに基づくマーク価格とインデックス価格のスプレッドスクリーナーです。上位3銘柄について markPriceKlines と klines を相互検証します。 |
生の API ではなくゲートウェイを使う理由
Aster の fapi/sapi/tapi エンドポイントは一般的な REST です。注意すべき点は、そのセマンティクスにあります。
| 生の API から得られる情報 | 独自に実装する必要があること |
|---|---|
| 市場ごとに異なるファンディング間隔(1時間から8時間) | 銘柄ごとの正確な年率換算。単純に ×24×365 とすると、8時間市場では8倍に過大評価されます |
| ライブ用とレガシー用で異なる名前のファンディング上限/下限フィールド | フォールバックを含む名前のネゴシエーション(このゲートウェイは fundingFeeCap/FundingFeeFloor を読み取り、取得できない場合は正直に機能を縮退させます) |
| 暗号資産、TradFi の24時間無期限先物、現物が混在する約580銘柄 | チェーン/資産クラスによるフィルタリング、現物インデックスの乖離ランキング、OI が公開されていない場合の処理能力フィルタリング |
| 3つの別個の API サーフェス(先物/現物/tapi)と Solana | 一貫した銘柄処理とフィールドごとのソースタグを備えた単一のツールサーフェス |
レート制限
REST の2つのバケットをローカルで適用し、ウェイトを考慮します。
- fapi 2400 weight/min、sapi 6000/min(各呼び出し後にヘッダー
X-MBX-USED-WEIGHT-1Mを読み取ります)。バケットの80%を超えると クライアントが自動的にスロットリングします。429ではRetry-Afterに従ってバックオフし、418(429の反復によるIP BAN)では 60秒間の拒否クールダウンが発生します。板情報/ローソク足のリミットは 価格帯に合わせて切り詰められるため、呼び出し側が誤ってウェイトを 消費することはありません。 - Solana 10 req/min、tapi 30/min、EVM 20/min のローカル予算 (個別の台帳を使用し、正直なエラーを即時に返します)。
TTL キャッシュ:exchangeInfo 3600秒、fundingInfo 600秒、premiumIndex と tickers 15秒、板情報 5秒、ローソク足 60秒、取引 10秒、openInterest 30秒。
データに関する注意事項
- API からの数値はすべて、上流では文字列です。例外を発生させないヘルパーで解析します。
nullは常に「利用不可」を意味し、ゼロではありません。 - 上流で障害が発生した場合は、トレースバックではなく、エラーディクショナリ
{"error", "source", "reason"}を返します。 - キーなしではOIの履歴を取得できません(
/futures/data/openInterestHistは404を返します)。ゲートウェイはデータを捏造せず、その旨を伝えます。 - EVMのボールトログには
ASTER_EVM_RPC_URL(またはチェーンごとのASTER_EVM_RPC_URL_{BSC,ETH,ARB})が必要です。無料のパブリックRPCは、ボールトのクエリを-32005で拒否します。未設定の場合は、正直に「RPCが設定されていません」と報告します。 - tapiアカウントのプライバシー:大半のアカウントは非公開です。結果が空の場合は、データがないのではなく、プライバシーによるものとして報告します。
- キャッシュされたレスポンスには、鮮度を示す
age_seconds/fetched_atフィールドが含まれます。
スイートの一部
読み取り専用の兄弟MCPゲートウェイが4つあり、いずれもキー不要、キャッシュ対応、障害時も誠実に動作する同じスタイルです。
| ゲートウェイ | 対象 |
|---|---|
| dydx-agent-gateway | dYdX v4:検証済みトレーダーのPnL、資金調達率/OI異常検知、リーダーボード |
| arcus-agent-gateway | Robinhood Chain上のトークン化された米国株194銘柄:気配値、保有者、大口送金 |
| hyperliquid-agent-gateway | Hyperliquid:233の無期限先物+現物、資金調達率キャリー、アカウントリスク、HyperEVM |
| aster-agent-gateway(現在のリポジトリ) | Aster DEX:約580の先物(24時間取引可能なTradFi無期限先物を含む)、資金調達率の上限/下限 |
4つすべてがglama.aiとPyPIで公開されています。どれも uvx <name> でインストールできます。
ライセンス
MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。