{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "name": "Hood Long WebMCP tools",
  "version": "2026-08-05",
  "registration": "document.modelContext or navigator.modelContext",
  "safetyBoundary": {
    "may": ["read visible application state", "fill forms", "navigate views", "open visible human review cards"],
    "mustNot": ["connect a wallet", "approve a token", "confirm a review", "sign a message", "sign a transaction", "broadcast a transaction"],
    "finalAuthority": "The user must explicitly confirm in the interface and approve every wallet request."
  },
  "tools": [
    {
      "name": "get_interface_state",
      "title": "Inspect trading interface",
      "description": "Return the selected market, ticket values, wallet connection state, network, route readiness, and pending human review count.",
      "annotations": { "readOnlyHint": true },
      "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
    },
    {
      "name": "assess_trade_affordability",
      "title": "Check trade affordability",
      "description": "Check whether the connected wallet can cover the visible collateral plus a buffered network fee. Returns a maximum affordable collateral suggestion and never opens a review or wallet request.",
      "annotations": { "readOnlyHint": true },
      "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
    },
    {
      "name": "list_markets",
      "title": "List markets",
      "description": "List available token markets with current ETH prices, USD market caps, leverage, and listing status.",
      "annotations": { "readOnlyHint": true, "untrustedContentHint": true },
      "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
    },
    {
      "name": "set_trade_ticket",
      "title": "Fill trade ticket",
      "description": "Select a market and fill direction, collateral, and leverage, then report whether the wallet can afford collateral plus buffered gas. It never opens a wallet request or executes a trade.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": { "type": "string", "description": "Market symbol, name, or ID." },
          "direction": { "type": "string", "enum": ["long", "short"] },
          "collateral": { "type": "number", "exclusiveMinimum": 0, "description": "ETH collateral." },
          "leverage": { "type": "number", "minimum": 1 }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "prepare_trade_review",
      "title": "Prepare trade review",
      "description": "Validate the visible trade ticket and open a human confirmation review. It cannot click confirm, sign, or submit the transaction.",
      "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
    },
    {
      "name": "list_positions",
      "title": "List positions",
      "description": "Return the connected wallet's indexed positions and transaction states.",
      "annotations": { "readOnlyHint": true, "untrustedContentHint": true },
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": { "type": "string", "enum": ["pending", "open", "closing", "liquidating", "closed", "liquidated", "failed"] }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "prepare_position_closes",
      "title": "Prepare position close reviews",
      "description": "Scan open positions and enqueue one visible close confirmation card per position. It never confirms, signs, or submits a close.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "positionIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "maxItems": 20, "description": "Optional position IDs. Omit to prepare every open position." }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "show_view",
      "title": "Navigate interface",
      "description": "Switch the visible application view without changing or submitting any transaction.",
      "inputSchema": {
        "type": "object",
        "properties": { "view": { "type": "string", "enum": ["trade", "positions", "earn"] } },
        "required": ["view"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_lending_pool",
      "title": "Inspect lending pool",
      "description": "Read the public ETH lending-pool state and connected lender balance. This never connects a wallet or changes funds.",
      "annotations": { "readOnlyHint": true },
      "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
    },
    {
      "name": "set_lending_deposit",
      "title": "Fill lending deposit",
      "description": "Open Earn and fill a native ETH or WETH deposit amount. It cannot connect, approve, sign, or submit; the user must press the visible review button and confirm in their wallet.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "amount": { "type": "number", "exclusiveMinimum": 0 },
          "asset": { "type": "string", "enum": ["eth", "weth"], "default": "eth" }
        },
        "required": ["amount"],
        "additionalProperties": false
      }
    },
    {
      "name": "set_lending_withdrawal",
      "title": "Fill lending withdrawal",
      "description": "Open Earn and fill a delayed FIFO hETH withdrawal request. It cannot sign or submit it.",
      "inputSchema": {
        "type": "object",
        "properties": { "shares": { "type": "number", "exclusiveMinimum": 0 } },
        "required": ["shares"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_capability_status",
      "title": "Inspect feature readiness",
      "description": "Explain which trading and lending features are operational and which capabilities remain unavailable.",
      "annotations": { "readOnlyHint": true },
      "inputSchema": { "type": "object", "properties": {}, "additionalProperties": false }
    }
  ]
}
