MCP server for interacting with Form.io API to create and edit forms using natural language
Server has 7 tools with complete schemas and descriptions. Naming follows verb_noun convention (list_, get_, create_, update_, delete_). Descriptions are present and substantive (100-250 chars), explaining WHAT and WHEN. However, parameter descriptions lack detail on constraints, formats, and dependencies. Output schemas are not documented. Error handling is minimal, no recovery guidance or categorization. MCP ownership validation is a security positive but underdocumented in tool descriptions.
Create a new form from a JSON schema. The form will include title, name, path, and components array. NOTE: The title will be automatically prefixed with "[MCP] " and the path will be prefixed with "mcp-" to identify MCP-created forms.
Helper tool to create a Form.io component object with proper schema. Use this to generate components for forms.
Delete a form from the Form.io project. This action cannot be undone.
Get detailed information about a specific form including its complete schema, components, and settings. Use form ID or path.
Generate a browser-accessible preview URL for a Form.io form. Returns a complete URL that can be opened in a browser to view the rendered form with default styling. The preview shows the form structure and allows interaction but does not submit data to the server.
Output schemas not documented. Tools return JSON but LLMs cannot plan downstream calls without knowing field names and types. E.g., list_forms returns form objects but structure is inferred from code, not declared.
Parameter descriptions lack format/constraint details. E.g., 'formId' accepts 'form ID or path' but no regex, length limits, or examples. 'components' array lacks item schema. LLMs cannot validate inputs without explicit constraints.
Error handling provides no recovery guidance. Errors are thrown but not categorized (retryable vs user-fixable vs fatal). No suggestions for next steps. E.g., 'Invalid path' error does not explain how to fix it.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
List all forms available in the Form.io project. Returns form names, paths, titles, and IDs.
Update an existing form. Can update title, components, display settings, or any other form properties.
MCP ownership validation (isMCPForm check) is a security feature but not documented in tool descriptions. Users/LLMs cannot understand why update_form or delete_form might fail with 'not created by MCP' error.
create_form and update_form accept 'components' as array but no validation of component schema. LLMs may pass invalid Form.io component objects. No guidance on required fields (type, key, label) or allowed properties.