backend

Deterministic pre-trade risk checks for autonomous AI trading agents.

我該用這個嗎

品質與安全性

A
說明品質
93%
結構描述完整度
87%
命名品質
97%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,805Token(工具定義)
~4.6 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.19%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "backend": {
      "url": "https://backendai-x4m1.onrender.com/mcp-http/mcp"
    }
  }
}

遠端端點

https://backendai-x4m1.onrender.com/mcp-http/mcpstreamable-http
https://api.collarguardrail.com/mcp-http/mcpstreamable-http

它能做什麼

工具清單

工具(6)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢evaluate_trade(wallet, asset, contract_address, side, amount, ...)

Pre-trade risk check for a proposed trade. Call this BEFORE executing any trade and treat a "deny" decision as a hard stop. Evaluated at a fixed Tier 1 ceiling ($5,000 notional). For higher limits, use `evaluate_trade_paid` (Tier 2, $25,000) which settles an x402 payment on-chain.

輸入結構描述

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "EVM wallet address (0x...) the trade would execute from."
    },
    "asset": {
      "type": "string",
      "description": "Asset symbol, e.g. NVDA, AAPL, TSLA, USDG."
    },
    "contract_address": {
      "type": "string",
      "description": "Token contract address (0x...). Must match the\nofficial registry address for that symbol, or the trade is\ndenied as a suspected fake token."
    },
    "side": {
      "type": "string",
      "description": "\"buy\" or \"sell\"."
    },
    "amount": {
      "type": "number",
      "description": "Quantity in token units — NOT a pre-computed USD value."
    },
    "max_slippage_bps": {
      "default": 100,
      "type": "integer",
      "description": "Max slippage in basis points (default 100)."
    },
    "request_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional idempotency key."
    }
  },
  "required": [
    "wallet",
    "asset",
    "contract_address",
    "side",
    "amount"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "decision": {
      "description": "Final verdict. 'deny' is a hard stop.",
      "enum": [
        "allow",
        "warn",
        "deny"
      ],
      "type": "string"
    },
    "reasons": {
      "description": "Human-readable reasons. Entries prefixed with 'ADVISORY:' are non-blocking context; all other entries drove the decision.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "tier": {
      "description": "Tier the wallet was evaluated at (1-3).",
      "type": "integer"
    },
    "max_trade_usd": {
      "description": "USD ceiling for this tier.",
      "type": "number"
    },
    "calculated_notional_usd": {
      "description": "USD value of the proposed trade.",
      "type": "number"
    },
    "price_usd": {
      "description": "Asset price used for the valuation.",
      "type": "number"
    },
    "price_source": {
      "description": "Where the price came from.",
      "enum": [
        "oracle",
        "uniswap_v4",
        "fallback_default",
        "unavailable"
      ],
      "type": "string"
    },
    "risk_score": {
      "description": "Composite risk score from 0 (safe) to 100 (blocked).",
      "type": "integer"
    },
    "request_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Echoed idempotency key, if provided."
    },
    "audit_hash": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "SHA-256 hash chaining this decision."
    },
    "audit_seq": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Monotonic sequence number of this decision."
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "If present, no verdict was produced. Treat as a hard stop; do not execute the trade."
    }
  },
  "required": [
    "decision",
    "reasons",
    "tier",
    "max_trade_usd",
    "calculated_notional_usd",
    "price_usd",
    "price_source",
    "risk_score"
  ],
  "description": "Result of a pre-trade risk check."
}
🟢evaluate_trade_paid(wallet, asset, contract_address, side, amount, ...)

Pre-trade risk check gated by an x402 payment. Evaluated as COLR Tier 2: $25,000 notional ceiling, 10/25 per-minute rate limits. No COLR holdings are required — the on-chain payment is the credential. FLOW ---- 1. Call WITHOUT payment_proof → the tool returns a `PaymentRequiredOutput` describing the on-chain payment (network, asset, amount, payTo, resource). 2. Settle the payment on-chain using an x402-capable client. The facilitator returns a proof string. 3. Call again with `payment_proof=<proof>` → the tool forwards the proof to the guardrail's x402-paid endpoint and returns a full `EvaluateTradeOutput` with `tier=2`.

輸入結構描述

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "EVM wallet address (0x...) the trade would execute from."
    },
    "asset": {
      "type": "string",
      "description": "Asset symbol, e.g. NVDA, AAPL, TSLA, USDG."
    },
    "contract_address": {
      "type": "string",
      "description": "Token contract address (0x...)."
    },
    "side": {
      "type": "string",
      "description": "\"buy\" or \"sell\"."
    },
    "amount": {
      "type": "number",
      "description": "Quantity in token units."
    },
    "max_slippage_bps": {
      "default": 100,
      "type": "integer",
      "description": "Max slippage in basis points (default 100)."
    },
    "request_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional idempotency key."
    },
    "payment_proof": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "x402 payment proof from the facilitator. Omit\non the first call to receive the payment challenge."
    }
  },
  "required": [
    "wallet",
    "asset",
    "contract_address",
    "side",
    "amount"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "anyOf": [
        {
          "description": "Result of a pre-trade risk check.",
          "properties": {
            "decision": {
              "description": "Final verdict. 'deny' is a hard stop.",
              "enum": [
                "allow",
                "warn",
                "deny"
              ],
              "type": "string"
            },
            "reasons": {
              "description": "Human-readable reasons. Entries prefixed with 'ADVISORY:' are non-blocking context; all other entries drove the decision.",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "tier": {
              "description": "Tier the wallet was evaluated at (1-3).",
              "type": "integer"
            },
            "max_trade_usd": {
              "description": "USD ceiling for this tier.",
              "type": "number"
            },
            "calculated_notional_usd": {
              "description": "USD value of the proposed trade.",
              "type": "number"
            },
            "price_usd": {
              "description": "Asset price used for the valuation.",
              "type": "number"
            },
            "price_source": {
              "description": "Where the price came from.",
              "enum": [
                "oracle",
                "uniswap_v4",
                "fallback_default",
                "unavailable"
              ],
              "type": "string"
            },
            "risk_score": {
              "description": "Composite risk score from 0 (safe) to 100 (blocked).",
              "type": "integer"
            },
            "request_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Echoed idempotency key, if provided."
            },
            "audit_hash": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "SHA-256 hash chaining this decision."
            },
            "audit_seq": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Monotonic sequence number of this decision."
            },
            "error": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "If present, no verdict was produced. Treat as a hard stop; do not execute the trade."
            }
          },
          "required": [
            "decision",
            "reasons",
            "tier",
            "max_trade_usd",
            "calculated_notional_usd",
            "price_usd",
            "price_source",
            "risk_score"
          ],
          "type": "object"
        },
        {
          "description": "x402 payment challenge returned when no proof is supplied.\n\nThe client is expected to settle this payment on-chain and retry the\ntool with the resulting proof carried in `payment_proof`.",
          "properties": {
            "status": {
              "const": "payment_required",
              "default": "payment_required",
              "type": "string"
            },
            "network": {
              "description": "CAIP-2 network id, e.g. eip155:4663.",
              "type": "string"
            },
            "asset": {
              "description": "USDG contract address.",
              "type": "string"
            },
            "amount": {
              "description": "Amount in asset base units (6 decimals for USDG).",
              "type": "string"
            },
            "pay_to": {
              "description": "Recipient address for the payment.",
              "type": "string"
            },
            "resource": {
              "description": "Resource URL the payment unlocks.",
              "type": "string"
            },
            "description": {
              "description": "Human-readable purpose.",
              "type": "string"
            },
            "max_timeout_seconds": {
              "description": "Payment validity window in seconds.",
              "type": "integer"
            },
            "tier_granted": {
              "description": "Tier the paid proof grants (2 for x402 paid access).",
              "type": "integer"
            },
            "error": {
              "default": null,
              "type": "null"
            }
          },
          "required": [
            "network",
            "asset",
            "amount",
            "pay_to",
            "resource",
            "description",
            "max_timeout_seconds",
            "tier_granted"
          ],
          "type": "object"
        }
      ]
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢check_token_safety(contract_address)

Honeypot / contract safety check for any ERC-20 token.

輸入結構描述

{
  "type": "object",
  "properties": {
    "contract_address": {
      "type": "string",
      "description": "Token contract address (0x...)."
    }
  },
  "required": [
    "contract_address"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "severity": {
      "description": "Overall classification.",
      "enum": [
        "safe",
        "warn",
        "danger"
      ],
      "type": "string"
    },
    "risk_factors": {
      "description": "Specific issues detected.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "sell_simulation_ok": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Whether a simulated sell succeeded."
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "If present, the check failed. Do not assume 'safe'."
    }
  },
  "required": [
    "severity"
  ],
  "description": "Heuristic honeypot / contract safety report."
}
🟢simulate_balance(token_address, holder, delta, decimals)

Simulate a wallet's ERC-20 balance after a hypothetical trade using eth_call state override. Read-only: no transaction is ever sent.

輸入結構描述

{
  "type": "object",
  "properties": {
    "token_address": {
      "type": "string",
      "description": "ERC-20 contract address (0x...)."
    },
    "holder": {
      "type": "string",
      "description": "Wallet address whose balance is simulated (0x...)."
    },
    "delta": {
      "type": "number",
      "description": "Signed amount (negative = spend)."
    },
    "decimals": {
      "default": 18,
      "type": "integer",
      "description": "Token decimals (default 18)."
    }
  },
  "required": [
    "token_address",
    "holder",
    "delta"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "before": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Balance before."
    },
    "after": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Balance after."
    },
    "delta": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Signed change."
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "If present, the simulation failed."
    }
  },
  "description": "Result of an eth_call state-override balance simulation."
}
🟢get_supported_assets

List every asset in the guardrail's official Robinhood Chain registry, with its canonical contract address.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "assets": {
      "description": "Registered assets.",
      "items": {
        "properties": {
          "symbol": {
            "type": "string"
          },
          "contract_address": {
            "type": "string"
          },
          "is_native": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "symbol",
          "contract_address"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "If present, the registry was unreachable."
    }
  },
  "description": "Response of the asset registry endpoint."
}
🟢verify_audit_trail(wallet, limit)

Verify the tamper-evident audit trail for a wallet's past guardrail decisions.

輸入結構描述

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "EVM wallet address (0x...)."
    },
    "limit": {
      "default": 100,
      "type": "integer",
      "description": "How many recent records to verify (1-1000, default 100)."
    }
  },
  "required": [
    "wallet"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "healthy": {
      "description": "True only if every record's hash matches and the chain is unbroken.",
      "type": "boolean"
    },
    "records_checked": {
      "default": 0,
      "description": "Number of records verified.",
      "type": "integer"
    },
    "first_broken_seq": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Sequence number of the first broken link, if any."
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "If present, verification could not run."
    }
  },
  "required": [
    "healthy"
  ],
  "description": "Audit-chain verification result."
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本6 個工具
已驗證未記錄版本6 個工具
已驗證未記錄版本6 個工具
已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具