{
  "contract_version": "rainscale-webmcp-v1",
  "behavior": {
    "human_priority_ms": 2500,
    "coediting_default": false,
    "token_storage": "session-memory-only",
    "publication": "unavailable",
    "native_webmcp": "feature-detected",
    "private_analysis": "explicit-one-call-approval"
  },
  "tools": [
    {
      "name": "rain_get_capabilities",
      "title": "rain get capabilities",
      "description": "Discover tool versions, permissions and bounds.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "untrustedContentHint": false,
        "consequentialHint": false
      }
    },
    {
      "name": "rain_get_scene",
      "title": "rain get scene",
      "description": "Read the illustrative scene and current revision.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "untrustedContentHint": false,
        "consequentialHint": false
      }
    },
    {
      "name": "rain_set_appearance",
      "title": "rain set appearance",
      "description": "Coedit visual settings after explicit human permission; human edits take priority.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "patch": {
            "type": "object",
            "properties": {
              "rain": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "clouds": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "sun": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "grass": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "scale": {
                "type": "string",
                "enum": [
                  "yard",
                  "blade",
                  "impact"
                ]
              }
            },
            "required": [],
            "additionalProperties": false
          },
          "expected_revision": {
            "type": "integer",
            "minimum": 0
          },
          "submission_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          }
        },
        "required": [
          "patch",
          "expected_revision",
          "submission_id"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "untrustedContentHint": false,
        "consequentialHint": false
      }
    },
    {
      "name": "rain_preview_scenario",
      "title": "rain preview scenario",
      "description": "Calculate uniform rainfall volume locally; no runoff, growth or forecasting claims.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "rain_mm_per_hour": {
            "type": "number",
            "minimum": 0,
            "maximum": 300
          },
          "area_m2": {
            "type": "number",
            "minimum": 0.01,
            "maximum": 100
          },
          "duration_minutes": {
            "type": "number",
            "minimum": 0,
            "maximum": 60
          }
        },
        "required": [
          "rain_mm_per_hour",
          "area_m2",
          "duration_minutes"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "untrustedContentHint": false,
        "consequentialHint": false
      }
    },
    {
      "name": "rain_analyze_observation",
      "title": "rain analyze observation",
      "description": "Start one explicitly approved authenticated analysis or read its status. This does not publish results.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "start",
              "status"
            ]
          },
          "artifact_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "analysis_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "action"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "untrustedContentHint": false,
        "consequentialHint": true
      }
    },
    {
      "name": "dmqc_search_evidence",
      "title": "dmqc search evidence",
      "description": "Search public attributed evidence metadata, bounded to twenty results.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "untrustedContentHint": true,
        "consequentialHint": false
      }
    },
    {
      "name": "dmqc_get_evidence",
      "title": "dmqc get evidence",
      "description": "Read one public evidence record, including actual reading status.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "source_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "source_id"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "untrustedContentHint": true,
        "consequentialHint": false
      }
    },
    {
      "name": "dmqc_propose_assessment",
      "title": "dmqc propose assessment",
      "description": "Deposit a session-only hypothesis pending human review; never validate or publish it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "statement": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1600
          },
          "evidence_ids": {
            "type": "array",
            "maxItems": 10,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 120
            }
          },
          "expected_revision": {
            "type": "integer",
            "minimum": 0
          },
          "submission_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          }
        },
        "required": [
          "statement",
          "evidence_ids",
          "expected_revision",
          "submission_id"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "untrustedContentHint": true,
        "consequentialHint": false
      }
    },
    {
      "name": "dmqc_get_benchmark_status",
      "title": "dmqc get benchmark status",
      "description": "Read reported benchmark qualification and limitations without starting work.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "untrustedContentHint": true,
        "consequentialHint": false
      }
    }
  ]
}