{
  "serverInfo": {
    "name": "vault-mcp",
    "version": "1.0.0"
  },
  "transport": "stdio",
  "tools": [
    {
      "name": "list_networks",
      "description": "List the Ethereum and Robinhood Chain networks configured in Vault MCP. Static network configuration, not a node health check.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "get_swap_quote",
      "description": "Fetch a live same-chain token swap route from the public KyberSwap API. amountIn is an integer in the input token base units. Read-only: never approves, signs, builds, or broadcasts a transaction. Trade parameters are sent to KyberSwap.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "ethereum",
              "robinhood"
            ]
          },
          "tokenIn": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Token address. Use 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native ETH."
          },
          "tokenOut": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Token address. Use 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for native ETH."
          },
          "amountIn": {
            "type": "string",
            "pattern": "^[1-9][0-9]*$",
            "description": "Positive integer in base units; 0.001 ETH = 1000000000000000 wei."
          }
        },
        "required": [
          "chain",
          "tokenIn",
          "tokenOut",
          "amountIn"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "get_router_addresses",
      "description": "Return the documented KyberSwap aggregation router addresses for Ethereum or Robinhood Chain. Does not inspect live on-chain bytecode.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "ethereum",
              "robinhood"
            ]
          }
        },
        "required": [
          "chain"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    }
  ]
}