AI-powered form tools for WebMCP. Enables AI assistants to fill, validate, clear, and submit web forms through the Model Context Protocol.
webmcp-forms provides 8 tools with consistent naming (verb_formId_target pattern) and reasonable descriptions (80-120 chars each). However, critical gaps undermine production readiness: (1) Input schemas lack type definitions for the 'value' parameter in fill_*_field (only description, no type), violating JSON Schema best practices. (2) Parameter descriptions are minimal (10-30 chars) and lack format/constraint guidance, e.g., 'field' param has no guidance on valid field names, format, or how to discover them. (3) No output schemas documented anywhere, LLMs cannot predict response structure or chain tools. (4) No error handling guidance, tools return success/failure but do not explain recovery steps or categorize errors. (5) Tool descriptions lack WHEN-to-use context, 'Updates a single form field' does not explain when to prefer fill_field vs fill_multiple_fields. (6) No idempotency guarantees stated, critical for retry safety. (7) No pagination or result limits documented. These gaps place the server in the 'Fair' (C) range despite clean naming.
Clears the value of a specific form field.
Updates a single form field with validation. Use this when the AI needs to set one field at a time.
Updates multiple form fields at once. More efficient when the AI needs to set several fields together.
Retrieves the value of a specific field. More efficient than getting the entire state when only one value is needed.
Retrieves all current form values. Use this when the AI needs to see the entire form state.
Resets all form fields to their initial/default values.
Submits the form by calling the onSubmit callback.
Validates all form fields against their defined schemas and constraints.
Input schemas lack type definitions. fill_{formId}_field 'value' parameter has description but no 'type' field in schema, violating JSON Schema.
No output schemas documented. Tools return success/failure but LLMs cannot predict response structure, field names, or types. Breaks tool chaining and forces LLMs to guess.
Parameter descriptions are too brief (10-30 chars) and lack actionable constraints. 'field' param has no guidance on valid field names, format, or how to discover available fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2025-06-18+ | v2 |
No error handling guidance. Tools do not explain what errors are retryable, user-fixable, or fatal. submit_{formId}_form (IRREVERSIBLE) lacks confirmation/dry-run pattern.
Tool descriptions lack WHEN-to-use context. 'Updates a single form field' does not explain when to prefer fill_field vs fill_multiple_fields, forcing LLMs to guess.