What is the io.form/formio-mcp MCP server?
Create and manage Form.io forms, resources, actions, roles, and projects from your AI agent.
How to install io.form/formio-mcp
Copy-paste configuration for popular MCP clients.
FORMIO_PROJECT_URLOptional. Pins every directory to one Form.io project (e.g. https://examples.form.io on the hosted cloud; self-hosted it is either https://your-project.your-domain.com or https://your-host/project-name, depending on how that deployment routes projects). It takes precedence over the per-directory mapping and project_set cannot redirect it — set it only for a launch that must always target the same project, such as CI or a container. Leave it unset and the agent asks for a project and records it per directory.
FORMIO_DEFAULT_PROJECT_URLOptional. A project URL to offer, not to apply. When a working directory has no mapping, the server names it as the suggested project for the agent to confirm and persist with project_set. It never changes what a tool resolves — the opposite of FORMIO_PROJECT_URL.
FORMIO_BASE_URLBase URL of your Form.io deployment — the parent of FORMIO_PROJECT_URL (default: https://api.form.io). Set this when self-hosting or using Form.io Enterprise.
FORMIO_API_KEYsecretForm.io project API key. Optional — when omitted the server uses a browser-based portal login flow to obtain a JWT.
FORMIO_LOGIN_FORMURL of a custom login form used by the browser-based portal login flow. Defaults to the deployment's portal login form.
FORMIO_FORCE_BROWSERSet to 1 to attempt the browser login even where the server detects it cannot present one (CI, a container, a remote shell with no display). Use it when the login page is reachable from a browser elsewhere.
FORMIO_INSECURE_TLSSet to 1 to skip TLS certificate verification. For local development against self-signed certificates only — never enable in production.
{
"mcpServers": {
"formio-mcp": {
"command": "npx",
"args": [
"-y",
"@formio/mcp"
],
"env": {
"FORMIO_PROJECT_URL": "<YOUR_FORMIO_PROJECT_URL>",
"FORMIO_DEFAULT_PROJECT_URL": "<YOUR_FORMIO_DEFAULT_PROJECT_URL>",
"FORMIO_BASE_URL": "<YOUR_FORMIO_BASE_URL>",
"FORMIO_API_KEY": "<YOUR_FORMIO_API_KEY>",
"FORMIO_LOGIN_FORM": "<YOUR_FORMIO_LOGIN_FORM>",
"FORMIO_FORCE_BROWSER": "<YOUR_FORMIO_FORCE_BROWSER>",
"FORMIO_INSECURE_TLS": "<YOUR_FORMIO_INSECURE_TLS>"
}
}
}
}{
"mcpServers": {
"formio-mcp": {
"command": "npx",
"args": [
"-y",
"@formio/mcp"
],
"env": {
"FORMIO_PROJECT_URL": "<YOUR_FORMIO_PROJECT_URL>",
"FORMIO_DEFAULT_PROJECT_URL": "<YOUR_FORMIO_DEFAULT_PROJECT_URL>",
"FORMIO_BASE_URL": "<YOUR_FORMIO_BASE_URL>",
"FORMIO_API_KEY": "<YOUR_FORMIO_API_KEY>",
"FORMIO_LOGIN_FORM": "<YOUR_FORMIO_LOGIN_FORM>",
"FORMIO_FORCE_BROWSER": "<YOUR_FORMIO_FORCE_BROWSER>",
"FORMIO_INSECURE_TLS": "<YOUR_FORMIO_INSECURE_TLS>"
}
}
}
}{
"mcpServers": {
"formio-mcp": {
"command": "npx",
"args": [
"-y",
"@formio/mcp"
],
"env": {
"FORMIO_PROJECT_URL": "<YOUR_FORMIO_PROJECT_URL>",
"FORMIO_DEFAULT_PROJECT_URL": "<YOUR_FORMIO_DEFAULT_PROJECT_URL>",
"FORMIO_BASE_URL": "<YOUR_FORMIO_BASE_URL>",
"FORMIO_API_KEY": "<YOUR_FORMIO_API_KEY>",
"FORMIO_LOGIN_FORM": "<YOUR_FORMIO_LOGIN_FORM>",
"FORMIO_FORCE_BROWSER": "<YOUR_FORMIO_FORCE_BROWSER>",
"FORMIO_INSECURE_TLS": "<YOUR_FORMIO_INSECURE_TLS>"
}
}
}
}{
"servers": {
"formio-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@formio/mcp"
],
"env": {
"FORMIO_PROJECT_URL": "<YOUR_FORMIO_PROJECT_URL>",
"FORMIO_DEFAULT_PROJECT_URL": "<YOUR_FORMIO_DEFAULT_PROJECT_URL>",
"FORMIO_BASE_URL": "<YOUR_FORMIO_BASE_URL>",
"FORMIO_API_KEY": "<YOUR_FORMIO_API_KEY>",
"FORMIO_LOGIN_FORM": "<YOUR_FORMIO_LOGIN_FORM>",
"FORMIO_FORCE_BROWSER": "<YOUR_FORMIO_FORCE_BROWSER>",
"FORMIO_INSECURE_TLS": "<YOUR_FORMIO_INSECURE_TLS>"
}
}
}
}claude mcp add formio-mcp --env FORMIO_PROJECT_URL=<YOUR_FORMIO_PROJECT_URL> --env FORMIO_DEFAULT_PROJECT_URL=<YOUR_FORMIO_DEFAULT_PROJECT_URL> --env FORMIO_BASE_URL=<YOUR_FORMIO_BASE_URL> --env FORMIO_API_KEY=<YOUR_FORMIO_API_KEY> --env FORMIO_LOGIN_FORM=<YOUR_FORMIO_LOGIN_FORM> --env FORMIO_FORCE_BROWSER=<YOUR_FORMIO_FORCE_BROWSER> --env FORMIO_INSECURE_TLS=<YOUR_FORMIO_INSECURE_TLS> -- npx -y @formio/mcpRelated MCP servers
The Universal Agent Gateway (UAG) enables in-process agentic automation using Form.io.
View repository →