Create and manage Form.io forms, resources, actions, roles, and projects from your AI agent.
Connect Runs on your machine
claude mcp add formio-mcp -e FORMIO_PROJECT_URL=<FORMIO_PROJECT_URL> -e FORMIO_BASE_URL=<FORMIO_BASE_URL> -e FORMIO_API_KEY=<FORMIO_API_KEY> -e FORMIO_LOGIN_FORM=<FORMIO_LOGIN_FORM> -e FORMIO_AUTH_HOST=<FORMIO_AUTH_HOST> -e FORMIO_AUTH_PORT=<FORMIO_AUTH_PORT> -e FORMIO_AUTH_TIMEOUT=<FORMIO_AUTH_TIMEOUT> -e FORMIO_FORCE_BROWSER=<FORMIO_FORCE_BROWSER> -e FORMIO_REQUEST_TIMEOUT=<FORMIO_REQUEST_TIMEOUT> -e FORMIO_INSECURE_TLS=<FORMIO_INSECURE_TLS> -- npx -y @formio/[email protected]
{
"mcpServers": {
"formio-mcp": {
"command": "npx",
"args": [
"-y",
"@formio/[email protected]"
],
"env": {
"FORMIO_PROJECT_URL": "<FORMIO_PROJECT_URL>",
"FORMIO_BASE_URL": "<FORMIO_BASE_URL>",
"FORMIO_API_KEY": "<FORMIO_API_KEY>",
"FORMIO_LOGIN_FORM": "<FORMIO_LOGIN_FORM>",
"FORMIO_AUTH_HOST": "<FORMIO_AUTH_HOST>",
"FORMIO_AUTH_PORT": "<FORMIO_AUTH_PORT>",
"FORMIO_AUTH_TIMEOUT": "<FORMIO_AUTH_TIMEOUT>",
"FORMIO_FORCE_BROWSER": "<FORMIO_FORCE_BROWSER>",
"FORMIO_REQUEST_TIMEOUT": "<FORMIO_REQUEST_TIMEOUT>",
"FORMIO_INSECURE_TLS": "<FORMIO_INSECURE_TLS>"
}
}
}
}
{
"mcpServers": {
"formio-mcp": {
"command": "npx",
"args": [
"-y",
"@formio/[email protected]"
],
"env": {
"FORMIO_PROJECT_URL": "<FORMIO_PROJECT_URL>",
"FORMIO_BASE_URL": "<FORMIO_BASE_URL>",
"FORMIO_API_KEY": "<FORMIO_API_KEY>",
"FORMIO_LOGIN_FORM": "<FORMIO_LOGIN_FORM>",
"FORMIO_AUTH_HOST": "<FORMIO_AUTH_HOST>",
"FORMIO_AUTH_PORT": "<FORMIO_AUTH_PORT>",
"FORMIO_AUTH_TIMEOUT": "<FORMIO_AUTH_TIMEOUT>",
"FORMIO_FORCE_BROWSER": "<FORMIO_FORCE_BROWSER>",
"FORMIO_REQUEST_TIMEOUT": "<FORMIO_REQUEST_TIMEOUT>",
"FORMIO_INSECURE_TLS": "<FORMIO_INSECURE_TLS>"
}
}
}
}
{
"servers": {
"formio-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@formio/[email protected]"
],
"env": {
"FORMIO_PROJECT_URL": "<FORMIO_PROJECT_URL>",
"FORMIO_BASE_URL": "<FORMIO_BASE_URL>",
"FORMIO_API_KEY": "<FORMIO_API_KEY>",
"FORMIO_LOGIN_FORM": "<FORMIO_LOGIN_FORM>",
"FORMIO_AUTH_HOST": "<FORMIO_AUTH_HOST>",
"FORMIO_AUTH_PORT": "<FORMIO_AUTH_PORT>",
"FORMIO_AUTH_TIMEOUT": "<FORMIO_AUTH_TIMEOUT>",
"FORMIO_FORCE_BROWSER": "<FORMIO_FORCE_BROWSER>",
"FORMIO_REQUEST_TIMEOUT": "<FORMIO_REQUEST_TIMEOUT>",
"FORMIO_INSECURE_TLS": "<FORMIO_INSECURE_TLS>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
FORMIO_PROJECT_URLOptional | Optional, and the WEAKEST of the three project sources: a committed formio.json found by walking up from the working directory wins, then the per-directory mapping project_set writes, then this. It pins nothing — project_set can redirect a directory whose environment names a different project. Usef… |
FORMIO_BASE_URLOptional | Optional, and usually unnecessary: the base URL is DERIVED from the project URL — https://api.form.io for a project on a form.io host, the parent path for a project addressed as a sub-directory — and is asked for only when it cannot be derived, which is a path-less project URL on a customer domain.… |
FORMIO_API_KEYOptional, secret | Form.io project API key. Optional — applied only to the project FORMIO_PROJECT_URL names, so set FORMIO_PROJECT_URL beside it; any other project, and every project when it is omitted, uses the browser-based portal login flow to obtain a JWT. |
FORMIO_LOGIN_FORMOptional | URL of a custom login form used by the browser-based portal login flow. Defaults to the deployment's portal login form. |
FORMIO_AUTH_HOSTOptional | Address the browser-login page binds to. Optional; defaults to 127.0.0.1. Set it to 0.0.0.0, together with FORMIO_AUTH_PORT, when the server runs in a container or on a remote machine and the login page must be reachable through a published port. 0.0.0.0 exposes the page on every interface for the… |
FORMIO_AUTH_PORTOptional | Fixed port for the browser-login page, so a container can publish it (e.g. 43117). Optional; a positive integer, and by default the page takes an ephemeral port. |
FORMIO_AUTH_TIMEOUTOptional | Seconds to wait for a browser login before the call fails with an error naming the remedies. Optional; a positive integer no larger than 2147483, and any other value is ignored. Defaults to 900. |
FORMIO_FORCE_BROWSEROptional | Set 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_REQUEST_TIMEOUTOptional | Seconds a Form.io request may go unanswered before the call fails with a network error naming the URL. Optional; a positive integer no larger than 2147483, and any other value is ignored. Defaults to 60. project_import and project_export wait 300 seconds, or this value when it is longer. |
FORMIO_INSECURE_TLSOptional | Set to 1 to skip TLS certificate verification only for requests to the configured deployment (the hosts of the resolved project URL and base URL); every other host is verified as usual. For local development against self-signed certificates only — never enable in production. |
Details
| Package | @formio/[email protected] (NPM, stdio) |
| First published | 14 Oct 2026 |
| Last updated | 14 Oct 2026 |
| Registry name | io.form/formio-mcp |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
