Formio MCP runs on your own machine — the client starts it, so there is no endpoint to ping. 730 installs a week from npm. Last commit 30 Oct 2026.
Create and manage Form.io forms, resources, actions, roles, and projects from your AI agent.
We read the source, 2 d ago · rules 995398eba69f
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
const CONTAINER_MARKER = '/.dockerenv';
const child = spawn(command, args, { stdio: 'ignore', detached: true, windowsHide: true });
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add formio-mcp -- npx -y @formio/mcp
{
"mcpServers": {
"formio-mcp": {
"command": "npx",
"args": [
"-y",
"@formio/mcp"
]
}
}
}
[mcp_servers.formio-mcp]
command = "npx"
args = ["-y", "@formio/mcp"]
{
"mcpServers": {
"formio-mcp": {
"command": "npx",
"args": [
"-y",
"@formio/mcp"
]
}
}
}
{
"servers": {
"formio-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@formio/mcp"
]
}
}
}
Optional settings from the registry entry, left out of the block above:
FORMIO_PROJECT_URL (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. Useful for a launch with nowhere to record a project, such as CI or a container (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). Leave it unset and the agent asks for a project and records it per directory), FORMIO_BASE_URL (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. There is no default. Like FORMIO_PROJECT_URL it is the weakest source, behind a committed formio.json and the per-directory mapping), FORMIO_API_KEY (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_FORM (URL of a custom login form used by the browser-based portal login flow. Defaults to the deployment's portal login form), FORMIO_AUTH_HOST (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 duration of a login), FORMIO_AUTH_PORT (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_TIMEOUT (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_BROWSER (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_TIMEOUT (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_TLS (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).
Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
Create and manage test cases, test runs and results in Testiny from your AI assistant.
Create and manage documents, spreadsheets, and presentations from your AI assistant.
Create, manage, and test business rules directly from your AI agent via the DecisionRules platform.
AI agents create, run, and save API requests as Gud API collections in your project.
Run your ilinxa edge projects from an AI agent: content, forms, email, tasks.
Create forms, share the link and read responses as JSON or CSV from your AI agent.
Create and manage Hibira realtime apps (Pusher protocol compatible) from your AI agent.
Answers built from our own checks of this server.