mcpField
A
Arsenal Decision Engine

Arsenal Decision Engine

リモート
github.com/Faouzi122金融データ06 週間前に更新
リポジトリ

Arsenal Decision Engine について

Arsenal Decision Engineは、標準的な定積型または全レンジのLPポジションを評価するDeFiエージェント向けに、ステートレスな流動性プールのリスク計算を提供します。予測ではなく決定論的な代数で純リターンと損益分岐範囲を算出し、現在はIPごとに1日100回まで無料です。

主な機能

  1. 01インパーマネントロスと累積利回りの計算
  2. 02純リターンとリスクレベルの算出
  3. 03損益分岐コリドーの提示
  4. 04プールパラメーターの指定
  5. 05MCPとRESTのインターフェース
  6. 06結果へのHMACマーカー付与

活用シーン

  1. 01LPポジション投入前のリスク評価
  2. 02ポジション調整時の損益分岐範囲確認
  3. 03価格変動と累積利回りの比較
  4. 04MCPまたはRESTでリスク指標を照会

MCP 対応

Streamable HTTPとstdioのMCP JSON-RPCで`evaluate_pool`ツールを公開し、同じ計算をRESTルートからも利用できます。現在はIPごとに1日100回まで無料で、L402決済は本番環境ではまだ稼働していません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://api.arsenal-quant.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

1
パラメーター型必須説明
apynumberはいプールの年利(例:0.20は20%)
days_heldintegerいいえポジションの保有日数(デフォルト:30)
price_rationumberはいエントリー価格に対する現在の価格比(例:0.85は15%の価格下落)

詳細

Arsenal Decision Engine 🛡️

自律型AIエージェント(DeFAI)のためのリスク検証レイヤー

Arsenal-Quant-Project MCP server smithery badge

手法と生の結果を公開しています — バックテストスクリプト · 結果データ(Binance ETH/USDC の日次終値、180日分): 🔬 損益分岐コリドーは決定論的な代数的境界です(IL = 累積利回りとなる地点)。価格比が [lower_be, upper_be] の範囲内にあるポジションは、数学的な定義により R_net > 0 となります。これは確率モデルではありません。 📐 このエンジンは測定を行います。予測は行いません。予測精度の数値は主張していません。公開されている結果ファイルを読み、手法をご自身で判断してください。


ミッション

DeFiの不確実性を、自律型エージェントが実行可能な決定論的リスク指標へと変換します。 ステートフルなトレーディングボットを実行したり、投機的な予測シグナルを生成したりするのではなく、標準的なコンスタントプロダクト型/フルレンジLPポジションの設定または維持を行う前に、エージェントが照会するステートレスなリスクミドルウェアレイヤーを提供します。

エージェント向けに構築されています。IPごとに1日100回まで無料 — ウォレットもサインアップも不要で、カスタムパラメーターも利用できます。 L402決済経路はゲートウェイに実装されていますが、本番環境では稼働していません。現在、エンジンは無料で利用できます。


このエンジンの機能

自律型エージェントが資金を投入したり、標準的なコンスタントプロダクト型/フルレンジLPポジション(Uniswap V2やフルレンジV3など)を調整したりする前に、プールのパラメーター(APY、価格比、保有日数)をAPIに送信します。エンジンは正確な数学的リスク、純リターン($R_{net}$)、および動的な損益分岐コリドーの境界値を計算します。

  • LLMなし。ハルシネーションなし。純粋な代数計算です。
  • 計算量: 時間・メモリともに $\mathcal{O}(1)$。
  • レイテンシー: ローカル実行で $< 15\text{ms}$。
呼び出し方法は2種類です

1. MCP JSON-RPC — MCPレジストリに登録されているエンドポイント

POST https://api.arsenal-quant.com/mcp
{"jsonrpc":"2.0","id":1,"method":"tools/call",
 "params":{"name":"evaluate_pool",
           "arguments":{"apy":0.20,"price_ratio":0.85,"days_held":30}}}

標準的なMCPハンドシェイク:initialize → tools/list → tools/call。ストリーミング可能なHTTPとstdioで利用できます。

2. RESTの簡易ルート — MCPクライアントは不要です

GET https://api.arsenal-quant.com/mcp/evaluate?apy=0.20&price_ratio=0.85&days_held=30

どちらのルートも同じ計算を実行し、同じクォータを適用します。 /mcp/evaluate は GET専用です。このパスへの POST は 405 Allow: GET を返します。JSON-RPCには /mcp を使用してください。

エンジンのレスポンス(JSONコントラクト)
{
  "impermanent_loss_pct": 0.3292,
  "accumulated_yield_pct": 1.6438,
  "r_net_pct": 1.3146,
  "il_to_yield_ratio": 0.2,
  "risk_level": "LOW",
  "breakeven_corridor": {
    "lower_ratio": 0.6941,
    "upper_ratio": 1.4407,
    "interpretation": "Position remains profitable if price ratio stays within [0.6941, 1.4407]"
  },
  "inputs": {
    "apy": 0.2,
    "price_ratio": 0.85,
    "days_held": 30
  },
  "source": "Arsenal Decision Engine v2.0",
  "oracle_signature": "<HMAC-SHA256 hex — illustrative placeholder, yours will differ>",
  "layer": "FREE"
}

layer は呼び出しの処理方法を示します。無料クォータ内では FREE、L402の決済が確認されると PREMIUM です。上記の呼び出しは FREE として処理されています。


利用方法と料金

  • 無料枠 — evaluate_pool: IPごとに1日100回まで。カスタムパラメーターも利用できます。 Lightningウォレットは不要です。現在提供されているのはこの枠のみです。
  • 無料クォータを超えた場合: ゲートウェイはL402チャレンジを実装しており、WWW-Authenticate ヘッダー付きで 402 を返します。決済手段は本番環境で稼働していません。現在発行される請求書は決済できず、支払いは想定も受け付けもされていません。有料枠は発表済みですが、利用可能ではないものとして扱ってください。
  • GET /mcp/audit/latest: IPごとに1時間あたり3回まで無料です。それを超えると、このルートは 402 を返します。このレスポンスはプロトコルについて説明するものであり、実際の決済経路ではありません。

Python連携の例

import urllib.request
import urllib.error
import json
import re
import os

API_URL = "https://api.arsenal-quant.com/mcp/evaluate?apy=0.20&price_ratio=0.85&days_held=30"
LNBITS_URL = "https://demo.lnbits.com"

# LNbits requires a wallet key with send permission to pay an invoice.
# Use a DEDICATED wallet funded with a small working balance, and never the key
# of a wallet holding significant funds. Keep it in the environment, never in code.
LNBITS_PAYMENT_KEY = os.getenv("LNBITS_PAYMENT_KEY")

def query_risk_oracle():
    req = urllib.request.Request(API_URL, method="GET")
    req.add_header("x-agent-id", "autonomous-lp-bot")

    try:
        with urllib.request.urlopen(req) as resp:
            return json.loads(resp.read().decode('utf-8'))
    except urllib.error.HTTPError as e:
        if e.code == 402:
            auth_header = e.headers.get("WWW-Authenticate")
            macaroon = re.search(r'token="([^"]+)"', auth_header).group(1)
            invoice = re.search(r'invoice="([^"]+)"', auth_header).group(1)

            pay_req = urllib.request.Request(
                f"{LNBITS_URL}/api/v1/payments",
                data=json.dumps({"out": True, "bolt11": invoice}).encode(),
                headers={"X-Api-Key": LNBITS_PAYMENT_KEY, "Content-Type": "application/json"}
            )
            with urllib.request.urlopen(pay_req) as pay_resp:
                preimage = json.loads(pay_resp.read().decode())["preimage"]

            retry_req = urllib.request.Request(API_URL, method="GET")
            retry_req.add_header("Authorization", f"L402 {macaroon}:{preimage}")
            retry_req.add_header("x-agent-id", "autonomous-lp-bot")

            with urllib.request.urlopen(retry_req) as final_resp:
                return json.loads(final_resp.read().decode('utf-8'))
        else:
            raise

if __name__ == "__main__":
    evaluation = query_risk_oracle()
    print(f"Risk Level     : {evaluation['risk_level']}")
    print(f"R_net          : {evaluation['r_net_pct']:+.4f}%")
    print(f"Breakeven      : [{evaluation['breakeven_corridor']['lower_ratio']}, {evaluation['breakeven_corridor']['upper_ratio']}]")

開発者向け連携

  • 連携クックブックとMCPガイド:COOKBOOK.md
  • MCP自動検出カード:https://api.arsenal-quant.com/.well-known/mcp/server-card.json

呼び出しごとの料金体系が意図されたモデルである理由

このエンジンは損失を防ぐものではなく、どれだけの金額を節約できるかについても何ら主張しません。行うのは、ポジションが損益分岐点の境界を上回っているか下回っているかを、$\mathcal{O}(1)$ で決定論的に計算することです。各応答には結果に対する HMAC タグが付与され、エンジンが自身の出力の改ざんを検知できます。これは対称鍵による来歴マーカーであり、第三者が独立して検証できる証明ではありません。

意図されたモデルは呼び出しごとの料金体系であり、ほかの入力と同様にコストを予算化できます。このモデルはまだ提供されていません。現在、すべての呼び出しは無料です。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。