An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

# Forms MCP Server

[![Crates.io](https://img.shields.io/crates/v/mcp-forms.svg)](https://crates.io/crates/mcp-forms)
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
[![ADK-Rust Enterprise](https://img.shields.io/badge/ADK--Rust-Enterprise-purple.svg)](https://enterprise.adk-rust.com)
[![Registry Ready](https://img.shields.io/badge/ADK_Registry-Ready-green.svg)](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


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

```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)