Skip to content

zavora-ai/mcp-forms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Forms MCP Server

Crates.io License ADK-Rust Enterprise Registry Ready

Form builder and submissions for AI agents — create forms with typed fields, validate inputs, collect responses, analyze results. 11 tools with 10 field types and built-in validation.

Architecture

MCP Forms Architecture

Tools (11)

Builder (5)

Tool Purpose Risk
list_forms List all forms read_only
get_form Get form with all fields read_only
create_form Create a form with fields internal_write
add_field Add a field to existing form internal_write
publish_form Publish for submissions internal_write

Submissions (4)

Tool Purpose Risk
submit_form Submit with validation internal_write
validate_submission Validate without submitting read_only
list_submissions List form responses read_only
get_submission Get a specific response read_only

Analytics & Management (2)

Tool Purpose Risk
get_analytics Response analytics (averages, counts) read_only
delete_form Delete form and all submissions destructive

Field Types

Type Validation
text Required check
email Must contain @
number Numeric value
date Date format
select Must be in options list
multi_select Multiple from options
checkbox Boolean
textarea Long text
file File upload reference
rating 1–5 range

Installation

cargo install mcp-forms

Configuration

No configuration needed — starts with demo forms:

  • Customer Feedback — Name, Email, Rating (1-5), Comments
  • New Hire Onboarding — Full Name, Start Date, Department (select), T-Shirt Size

Client Configuration

Claude Desktop / Kiro / Cursor

{
  "mcpServers": {
    "forms": {
      "command": "mcp-forms",
      "args": []
    }
  }
}

Usage Examples

Create a form

"Create a bug report form with title, severity, and description"
→ create_form(name="Bug Report", fields=[
    {label:"Title", field_type:"text", required:true},
    {label:"Severity", field_type:"select", options:["Low","Medium","High","Critical"]},
    {label:"Description", field_type:"textarea"}
  ])

Submit with validation

"Submit feedback: name=Carol, email=carol@test.com, rating=4"
→ submit_form(form_id="form-feedback", data={"Name":"Carol","Email":"carol@test.com","Rating":4})
→ "Submission sub-xxx accepted"

Validation errors

→ submit_form(form_id="form-feedback", data={"Name":"","Email":"bad","Rating":7})
→ "Submission has validation errors: ['Name' is required, 'Email' must be valid, 'Rating' must be 1-5]"

Analytics

"What's the average rating on the feedback form?"
→ get_analytics(form_id="form-feedback")
→ {"Rating": {"average": 4.0, "count": 3}, "total_submissions": 45}

Validation Pipeline

Input → Required check → Type check → Format validation → Options check → ✅ Accept / ❌ Reject with errors

MCP Server Manifest

server_id = "mcp_forms"
display_name = "Forms"
version = "1.0.0"
domain = "platform-core"
risk_level = "low"
writes_allowed = "gated"

License

Apache-2.0


Part of the ADK-Rust Enterprise MCP server ecosystem.

Built with ❤️ by Zavora AI

About

Forms MCP — form builder, field validation, submissions, response analytics for AI agents in ADK-Rust Enterprise

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages