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.
| 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 |
| 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 |
| Tool | Purpose | Risk |
|---|---|---|
get_analytics |
Response analytics (averages, counts) | read_only |
delete_form |
Delete form and all submissions | destructive |
| 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 |
cargo install mcp-formsNo 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
{
"mcpServers": {
"forms": {
"command": "mcp-forms",
"args": []
}
}
}"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 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"
→ 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]"
"What's the average rating on the feedback form?"
→ get_analytics(form_id="form-feedback")
→ {"Rating": {"average": 4.0, "count": 3}, "total_submissions": 45}
Input → Required check → Type check → Format validation → Options check → ✅ Accept / ❌ Reject with errors
server_id = "mcp_forms"
display_name = "Forms"
version = "1.0.0"
domain = "platform-core"
risk_level = "low"
writes_allowed = "gated"Apache-2.0
Part of the ADK-Rust Enterprise MCP server ecosystem.
Built with ❤️ by Zavora AI