{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/eucompliance-tools/json-schema/eucompliance-tools-tool-recommendation-req-schema.json",
  "title": "ToolRecommendationReq",
  "description": "Privacy-preserving input for the free deterministic MCP tool router.",
  "x-generated": "2026-11-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/eucompliance-tools-openapi.json#/components/schemas/ToolRecommendationReq",
  "properties": {
    "goal": {
      "type": "string",
      "maxLength": 8000,
      "minLength": 2,
      "title": "Goal"
    },
    "category": {
      "type": "string",
      "maxLength": 80,
      "title": "Category",
      "default": ""
    },
    "country": {
      "type": "string",
      "maxLength": 80,
      "title": "Country",
      "default": ""
    },
    "chain": {
      "type": "string",
      "maxLength": 80,
      "title": "Chain",
      "default": ""
    },
    "max_price_usdc": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 32
        },
        {
          "type": "null"
        }
      ],
      "title": "Max Price Usdc"
    },
    "available_inputs": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "maxItems": 100,
      "title": "Available Inputs"
    },
    "max_results": {
      "type": "integer",
      "maximum": 3.0,
      "minimum": 1.0,
      "title": "Max Results",
      "default": 3
    },
    "prefer_free": {
      "type": "boolean",
      "title": "Prefer Free",
      "default": true
    }
  },
  "type": "object",
  "required": [
    "goal"
  ]
}