# formio-uag

formio-uag connects Form.io forms to an AI agent through MCP. It turns form schemas into readable context and supports structured data collection.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 12
- Author: formio
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/formio/uag
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/formio-uag

## What it does

formio-uag exposes a Form.io form’s structure to an agent as readable Markdown. This supports two flows: turning conversational input into data that follows the form’s JSON schema, and running agentic workflows that use existing submissions together with extra context.

Form schemas can change the context used during processing without changing the application or retraining the agents. The server includes the `agent_provide_data` tool, while the repository examples cover a custom module, a conversation form, and an agentic workflow. The `npx` setup requires values for `PROJECT`, `PROJECT_KEY`, `ADMIN_KEY`, `UAG_LICENSE`, and `JWT_SECRET`; the first setup command also passes `MONGO`, `BASE_URL`, and `PORTAL_SECRET`.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `PROJECT`, `PROJECT_KEY`, `ADMIN_KEY`, `UAG_LICENSE`, `JWT_SECRET`, `PORT`, `PROJECT_TTL`, `JWT_EXPIRE_TIME`, `PORTAL_SECRET`, `MONGO` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add formio-uag -e PROJECT=<PROJECT> -e PROJECT_KEY=<PROJECT_KEY> -e ADMIN_KEY=<ADMIN_KEY> -e UAG_LICENSE=<UAG_LICENSE> -e JWT_SECRET=<JWT_SECRET> -e PORTAL_SECRET=<PORTAL_SECRET> -e MONGO=<MONGO> -e BASE_URL=<BASE_URL> -- npx -y @formio/uag
```
Replace <…> with your own values. 10 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add formio-uag --env PROJECT=<PROJECT> --env PROJECT_KEY=<PROJECT_KEY> --env ADMIN_KEY=<ADMIN_KEY> --env UAG_LICENSE=<UAG_LICENSE> --env JWT_SECRET=<JWT_SECRET> -- npx -y @formio/uag
```
Replace <…> with your own values. 10 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "formio-uag": {
            "command": "npx",
            "args": [
                "-y",
                "@formio/uag"
            ],
            "env": {
                "PROJECT": "<PROJECT>",
                "PROJECT_KEY": "<PROJECT_KEY>",
                "ADMIN_KEY": "<ADMIN_KEY>",
                "UAG_LICENSE": "<UAG_LICENSE>",
                "JWT_SECRET": "<JWT_SECRET>"
            }
        }
    }
}
```
Replace <…> with your own values. 10 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "formio-uag": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@formio/uag"
            ],
            "env": {
                "PROJECT": "<PROJECT>",
                "PROJECT_KEY": "<PROJECT_KEY>",
                "ADMIN_KEY": "<ADMIN_KEY>",
                "UAG_LICENSE": "<UAG_LICENSE>",
                "JWT_SECRET": "<JWT_SECRET>"
            }
        }
    }
}
```
Replace <…> with your own values. 10 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e PROJECT=<PROJECT> -e PROJECT_KEY=<PROJECT_KEY> -e ADMIN_KEY=<ADMIN_KEY> -e UAG_LICENSE=<UAG_LICENSE> -e JWT_SECRET=<JWT_SECRET> formio-uag npx -y @formio/uag
```
Replace <…> with your own values. 10 more environment variables are in the server README

## When to use it
- turn chat input into form submission data
- give an agent a readable Form.io schema
- analyse an existing submission with added context
- change agent context through a form JSON schema

## Example prompts
- Read this Form.io form and extract the user’s answers into structured data.
- Use `agent_provide_data` to analyse the existing submission against the supplied context.
- Work out which fields this form needs and fill them from the conversation.

## Similar
- [formio-mcp](https://affpapa.org/en/nevibecode/mcp/formio-mcp.md) — MCP server · ★ 8
- [configuring-ai-agents](https://affpapa.org/en/nevibecode/skills/configuring-ai-agents.md) — skill · 2900 installs
- [Deep Agentic Core MCP](https://affpapa.org/en/nevibecode/mcp/deep-agentic-core-mcp.md) — MCP server · ★ 65
- [platform-custom-lightning-type-generate](https://affpapa.org/en/nevibecode/skills/platform-custom-lightning-type-generate.md) — skill · 5700 installs
- [Stepgate](https://affpapa.org/en/nevibecode/mcp/stepgate.md) — MCP server · ★ 13
- [Repo Architect Agent](https://affpapa.org/en/nevibecode/agents/repo-architect-agent.md) — subagent · ★ 40451

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
