{
  "id": "human.request_form",
  "object": "tool",
  "name": "Ask with a form",
  "summary": "A hosted form a person fills in.",
  "description": "Creates a hosted form page with the fields you define (text, long text, number, email, date, select, multi-select, checkbox, file). Answers are validated on the server and returned as JSON keyed by field name; files are stored in this workspace.",
  "category": "inbox",
  "hosted_by": "Opentools",
  "runtime": "worker",
  "side_effects": true,
  "status": "live",
  "credits": 1,
  "price": "$0.0010",
  "providers": [
    {
      "id": "opentools",
      "name": "Opentools",
      "price": "$0.0010"
    }
  ],
  "mcp_name": "human_request_form",
  "input_schema": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200,
        "description": "Heading on the form"
      },
      "instructions": {
        "description": "Intro text above the fields (Markdown; raw HTML is shown as text)",
        "type": "string",
        "maxLength": 5000
      },
      "fields": {
        "minItems": 1,
        "maxItems": 30,
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "pattern": "^[a-z][a-z0-9_]{0,39}$",
              "description": "Key for this field in the answer, like company_name"
            },
            "label": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200,
              "description": "What the person sees"
            },
            "type": {
              "default": "text",
              "description": "Input type",
              "type": "string",
              "enum": [
                "text",
                "textarea",
                "number",
                "email",
                "date",
                "select",
                "multiselect",
                "checkbox",
                "file"
              ]
            },
            "required": {
              "default": false,
              "description": "Must be filled in",
              "type": "boolean"
            },
            "options": {
              "description": "Choices for select and multiselect",
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              }
            },
            "placeholder": {
              "description": "Hint text inside the input",
              "type": "string",
              "maxLength": 200
            },
            "help": {
              "description": "Help text under the input",
              "type": "string",
              "maxLength": 500
            },
            "min": {
              "description": "Number fields: smallest allowed value",
              "type": "number"
            },
            "max": {
              "description": "Number fields: largest allowed value",
              "type": "number"
            },
            "max_length": {
              "description": "Text fields: maximum characters",
              "type": "integer",
              "minimum": 1,
              "maximum": 10000
            },
            "accept": {
              "description": "File fields: accepted types, like \"application/pdf\", \"image/*\" or \".docx\"",
              "maxItems": 30,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 100
              }
            },
            "max_files": {
              "description": "File fields: how many files (default 1)",
              "type": "integer",
              "minimum": 1,
              "maximum": 10
            }
          },
          "required": [
            "name",
            "label"
          ]
        },
        "description": "Fields, in order"
      },
      "expires_in_hours": {
        "default": 72,
        "description": "Hours until it expires (max 720)",
        "type": "integer",
        "minimum": 1,
        "maximum": 720
      }
    },
    "required": [
      "title",
      "fields"
    ]
  },
  "kind": "tool"
}