{"ok":true,"site":{"host":"asouqi.github.io","url":"https://asouqi.github.io/webmcp-forms/","type":"live","desc":"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…","tools":[{"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","annotations":{},"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"}]}}}}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-forms/"},{"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","annotations":{},"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"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-forms/"},{"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.","annotations":{},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-forms/"},{"name":"get_demo_field_value","kind":"answer","impl":"imperative","description":"Get the current value of a specific field in the demo form.","annotations":{},"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"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-forms/"},{"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.","annotations":{},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-forms/"},{"name":"reset_demo_form","kind":"act","impl":"imperative","description":"Reset the demo form to its initial state. This will clear all field values.","annotations":{},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-forms/"},{"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","annotations":{},"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"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-forms/"},{"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.","annotations":{},"inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-forms/"}],"category":"Developer Tools","favicon":"/favicons/asouqi.github.io.svg","apiSurface":"spec","toolCount":8}}