https://github.com/zavora-ai/mcp-forms
Forms MCP — form builder, field validation, submissions, response analytics for AI agents in ADK-Rust Enterprise
https://github.com/zavora-ai/mcp-forms
adk-rust adk-rust-enterprise forms-mcp mcp-forms
Last synced: 3 days ago
JSON representation
Forms MCP — form builder, field validation, submissions, response analytics for AI agents in ADK-Rust Enterprise
- Host: GitHub
- URL: https://github.com/zavora-ai/mcp-forms
- Owner: zavora-ai
- License: other
- Created: 2026-05-25T02:41:55.000Z (25 days ago)
- Default Branch: main
- Last Pushed: 2026-05-25T02:47:09.000Z (25 days ago)
- Last Synced: 2026-05-25T02:50:25.740Z (25 days ago)
- Topics: adk-rust, adk-rust-enterprise, forms-mcp, mcp-forms
- Language: Rust
- Homepage: https://enterprise.adk-rust.com
- Size: 0 Bytes
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Forms MCP Server
[](https://crates.io/crates/mcp-forms)
[](LICENSE)
[](https://enterprise.adk-rust.com)
[](https://www.zavora.ai)
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
## 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
```bash
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
```json
{
"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
```toml
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](https://enterprise.adk-rust.com) MCP server ecosystem.
Built with ❤️ by [Zavora AI](https://zavora.ai)