← WebMCP Directory

Tool tree

asouqi.github.io

Developer ToolsTools verified
Website
Interactive demo of webmcp-forms: AI-powered form tools that enable assistants to fill, validate, and submit web forms through the Model Context Protocol. Features validation, Zod integration, and…
Explore capabilities
    fill_demo_fieldAction

    Fill a field in the demo form. Fields: - name (string): Full Name [minLength: 2] [maxLength: 50] (required) - email (string): Email (required) - age (number): Age [min: 18] [max: 120] (required) - country (string): Country [options: US, UK, CA, DE, FR, AU, JP] (required) - interests (array): Interests - startDate (string): Start Date (required) - resume (string): Resume - projectUrl (string): Project URL - brandColor (string): Brand Color - priority (string): Priority [options: low, medium, high] - subscribe (boolean): Subscribe to newsletter

    View tool JSON
    {
      "name": "fill_demo_field",
      "kind": "act",
      "impl": "imperative",
      "description": "Fill a field in the demo form. \n\n Fields:\n- name (string): Full Name [minLength: 2] [maxLength: 50] (required)\n- email (string): Email (required)\n- age (number): Age [min: 18] [max: 120] (required)\n- country (string): Country [options: US, UK, CA, DE, FR, AU, JP] (required)\n- interests (array): Interests\n- startDate (string): Start Date (required)\n- resume (string): Resume\n- projectUrl (string): Project URL\n- brandColor (string): Brand Color\n- priority (string): Priority [options: low, medium, high]\n- subscribe (boolean): Subscribe to newsletter",
      "inputSchema": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "enum": [
              "name",
              "email",
              "age",
              "country",
              "interests",
              "startDate",
              "resume",
              "projectUrl",
              "brandColor",
              "priority",
              "subscribe"
            ],
            "description": "The field name to fill"
          },
          "value": {
            "description": "The value to set for the field"
          }
        },
        "required": [
          "field",
          "value"
        ],
        "allOf": [
          {
            "if": {
              "properties": {
                "field": {
                  "const": "name"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 50
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "email"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "type": "string",
                  "pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "age"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "type": "number",
                  "minimum": 18,
                  "maximum": 120
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "country"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "US",
                    "UK",
                    "CA",
                    "DE",
                    "FR",
                    "AU",
                    "JP"
                  ]
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "interests"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "oneOf": [
                    {
                      "type": "array",
                      "minItems": 1,
                      "maxItems": 5
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "startDate"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "resume"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "projectUrl"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "brandColor"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "priority"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "oneOf": [
                    {
                      "type": "string",
                      "enum": [
                        "low",
                        "medium",
                        "high"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "field": {
                  "const": "subscribe"
                }
              }
            },
            "then": {
              "properties": {
                "value": {
                  "oneOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            }
          }
        ]
      },
      "page": "/webmcp-forms/"
    }
    fill_demo_multiple_fieldsAction

    Fill multiple fields in the demo form at once. More efficient than calling fill_field multiple times. Available fields: - name (string): Full Name [minLength: 2] [maxLength: 50] (required) - email (string): Email (required) - age (number): Age [min: 18] [max: 120] (required) - country (string): Country [options: US, UK, CA, DE, FR, AU, JP] (required) - interests (array): Interests - startDate (string): Start Date (required) - resume (string): Resume - projectUrl (string): Project URL - brandColor (string): Brand Color - priority (string): Priority [options: low, medium, high] - subscribe (boolean): Subscribe to newsletter

    View tool JSON
    {
      "name": "fill_demo_multiple_fields",
      "kind": "act",
      "impl": "imperative",
      "description": "Fill multiple fields in the demo form at once. More efficient than calling \n        fill_field multiple times.\n\nAvailable fields:\n- name (string): Full Name [minLength: 2] [maxLength: 50] (required)\n- email (string): Email (required)\n- age (number): Age [min: 18] [max: 120] (required)\n- country (string): Country [options: US, UK, CA, DE, FR, AU, JP] (required)\n- interests (array): Interests\n- startDate (string): Start Date (required)\n- resume (string): Resume\n- projectUrl (string): Project URL\n- brandColor (string): Brand Color\n- priority (string): Priority [options: low, medium, high]\n- subscribe (boolean): Subscribe to newsletter",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "object",
            "description": "Object containing field names as keys and their values",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 2,
                "maxLength": 50
              },
              "email": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
              },
              "age": {
                "type": "number",
                "minimum": 18,
                "maximum": 120
              },
              "country": {
                "type": "string",
                "enum": [
                  "US",
                  "UK",
                  "CA",
                  "DE",
                  "FR",
                  "AU",
                  "JP"
                ]
              },
              "interests": {
                "oneOf": [
                  {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 5
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "startDate": {
                "type": "string"
              },
              "resume": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "projectUrl": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "brandColor": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "priority": {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "subscribe": {
                "oneOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "fields"
        ]
      },
      "page": "/webmcp-forms/"
    }
    get_demo_stateAnswer

    Get the current state of all fields in the demo form. Returns an object with field names as keys and their current values.

    View tool JSON
    {
      "name": "get_demo_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the current state of all fields in the demo form. Returns an object with field names as keys and their current values.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      },
      "page": "/webmcp-forms/"
    }
    get_demo_field_valueAnswer

    Get the current value of a specific field in the demo form.

    View tool JSON
    {
      "name": "get_demo_field_value",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the current value of a specific field in the demo form.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "enum": [
              "name",
              "email",
              "age",
              "country",
              "interests",
              "startDate",
              "resume",
              "projectUrl",
              "brandColor",
              "priority",
              "subscribe"
            ],
            "description": "The field name to get the value of"
          }
        },
        "required": [
          "field"
        ]
      },
      "page": "/webmcp-forms/"
    }
    submit_demo_formSensitive Action

    Submit the demo form. Always call validate_demo_form first to ensure the form is valid before submitting.

    View tool JSON
    {
      "name": "submit_demo_form",
      "kind": "transact",
      "impl": "imperative",
      "description": "Submit the demo form. Always call validate_demo_form first to ensure the form is valid before submitting.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      },
      "page": "/webmcp-forms/"
    }
    reset_demo_formAction

    Reset the demo form to its initial state. This will clear all field values.

    View tool JSON
    {
      "name": "reset_demo_form",
      "kind": "act",
      "impl": "imperative",
      "description": "Reset the demo form to its initial state. This will clear all field values.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      },
      "page": "/webmcp-forms/"
    }
    clear_demo_fieldAction

    Clear a field in the demo form to its default empty value. Available fields: - name (string): Full Name [minLength: 2] [maxLength: 50] (required) - email (string): Email (required) - age (number): Age [min: 18] [max: 120] (required) - country (string): Country [options: US, UK, CA, DE, FR, AU, JP] (required) - interests (array): Interests - startDate (string): Start Date (required) - resume (string): Resume - projectUrl (string): Project URL - brandColor (string): Brand Color - priority (string): Priority [options: low, medium, high] - subscribe (boolean): Subscribe to newsletter

    View tool JSON
    {
      "name": "clear_demo_field",
      "kind": "act",
      "impl": "imperative",
      "description": "Clear a field in the demo form to its default empty value.\n\nAvailable fields:\n- name (string): Full Name [minLength: 2] [maxLength: 50] (required)\n- email (string): Email (required)\n- age (number): Age [min: 18] [max: 120] (required)\n- country (string): Country [options: US, UK, CA, DE, FR, AU, JP] (required)\n- interests (array): Interests\n- startDate (string): Start Date (required)\n- resume (string): Resume\n- projectUrl (string): Project URL\n- brandColor (string): Brand Color\n- priority (string): Priority [options: low, medium, high]\n- subscribe (boolean): Subscribe to newsletter",
      "inputSchema": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "enum": [
              "name",
              "email",
              "age",
              "country",
              "interests",
              "startDate",
              "resume",
              "projectUrl",
              "brandColor",
              "priority",
              "subscribe"
            ],
            "description": "The field name to clear"
          }
        },
        "required": [
          "field"
        ]
      },
      "page": "/webmcp-forms/"
    }
    validate_demo_formAction

    Validate all fields in the demo form without submitting. Returns validation errors if any fields are invalid.

    View tool JSON
    {
      "name": "validate_demo_form",
      "kind": "act",
      "impl": "imperative",
      "description": "Validate all fields in the demo form without submitting. Returns validation errors if any fields are invalid.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      },
      "page": "/webmcp-forms/"
    }