backend

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
93%
Vollständigkeit des Schemas
87%
Qualität der Benennung
97%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,805Tokens (Tool-Definitionen)
~4.6 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.19% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (6)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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.

Eingabe-Schema

{
  "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
}

Ausgabe-Schema

{
  "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`.

Eingabe-Schema

{
  "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
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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
}

Ausgabe-Schema

{
  "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."
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet6 Tools
verifiziertVersion nicht aufgezeichnet6 Tools
verifiziertVersion nicht aufgezeichnet6 Tools
verifiziertVersion nicht aufgezeichnet5 Tools
verifiziertVersion nicht aufgezeichnet5 Tools