FormVault
Create and manage GDPR-compliant, EU-hosted forms from any MCP-compatible AI assistant.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http formvault 'https://api.formvault.eu/mcp' --header 'Authorization: <Bearer token: "Bearer fv_..." with an API key from https://formvault.eu/app/api-keys>'
{
"mcpServers": {
"formvault": {
"type": "http",
"url": "https://api.formvault.eu/mcp",
"headers": {
"Authorization": "<Bearer token: \"Bearer fv_...\" with an API key from https://formvault.eu/app/api-keys>"
}
}
}
}
@formvault/mcpclaude mcp add formvault -e 'FORMVAULT_API_KEY=<your formvault_api_key>' -- npx -y @formvault/mcp@0.1.2
{
"mcpServers": {
"formvault": {
"command": "npx",
"args": [
"-y",
"@formvault/mcp@0.1.2"
],
"env": {
"FORMVAULT_API_KEY": "<your formvault_api_key>"
}
}
}
}
Environment variables
FORMVAULT_API_KEYrequired secret FormVault API key (fv_...), created at https://formvault.eu/app/api-keys
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
FormVault MCP server
Create and manage GDPR-compliant, EU-hosted forms from any MCP-compatible AI assistant.
This is an MCP server for FormVault, a form builder hosted in Germany. Point Claude, ChatGPT, Cursor, Copilot or any MCP-compatible assistant at your FormVault account and build forms by describing them.
Prerequisites
A FormVault account and an API key. Create the key at formvault.eu/app/api-keys.
Setup (hosted — recommended)
Add the hosted server to your assistant's MCP configuration — no install, no local process:
{
"mcpServers": {
"formvault": {
"url": "https://api.formvault.eu/mcp",
"headers": {
"Authorization": "Bearer fv_your_key_here"
}
}
}
}
Claude Desktop's support for remote/header-based MCP servers depends on your version — check its current docs if the above doesn't show up as an option.
No tool takes a tenant id. The API key carries its own, so it cannot read or write another organisation's forms — and a form id it may not touch reports as not found rather than forbidden, so a key cannot be used to discover what exists. The server itself holds no standing credentials of its own; every request is scoped to whichever key you send. Revoke a key at any time from the API keys page.
Setup (npx / stdio)
For clients that don't yet support a remote/header-based server:
{
"mcpServers": {
"formvault": {
"command": "npx",
"args": ["-y", "@formvault/mcp"],
"env": {
"FORMVAULT_API_KEY": "fv_your_key_here"
}
}
}
}
Restart your assistant and ask for what you need, for example:
- "Build me a client intake form with a GDPR consent checkbox."
- "List my forms and tell me which have no fields yet."
- "Delete the test form I made earlier."
| Variable | Required | Default |
|---|---|---|
FORMVAULT_API_KEY | yes | — |
FORMVAULT_API_URL | no | https://api.formvault.eu |
Self-hosting / local development
You can run this package yourself, either as a local stdio server or as your own HTTP deployment. It is a client of the FormVault API, so it still needs a FormVault account and API key:
npm install
npm run build
# stdio (for a local Claude Desktop/Code config using "command"/"args")
FORMVAULT_API_KEY=fv_... node dist/index.js
# HTTP (what the hosted deployment runs)
PORT=3003 FORMVAULT_API_URL=https://api.formvault.eu node dist/httpServer.js
To develop against a local FormVault API, point FORMVAULT_API_URL at it (for example http://localhost:3000).
Tools
| Tool | What it does |
|---|---|
list_forms | Every form in your account, with field counts |
get_form | One form's full field and settings definition |
create_form | Build a form from a description |
delete_form | Remove a form (irreversible) |
list_submissions | Decrypted responses for a form |
About respondent data
list_submissions returns your respondents' personal data in the clear. It is described to the model with an instruction not to call it unless you explicitly ask for responses, so ordinary form-building work never pulls it into context.
That is a deliberate boundary, not a limitation. FormVault stores submissions encrypted with AES-256-GCM on servers in Nuremberg, Germany, with a signed DPA on every plan. Whatever you send to your AI provider is your decision — this server's job is to make sure it is a decision rather than a side effect.
Links
Support
Questions and bug reports: open an issue. Pull requests are welcome.
License
Frequently asked questions
What is FormVault?
Create and manage GDPR-compliant, EU-hosted forms from any MCP-compatible AI assistant.
How do I install FormVault?
It runs as a remote server. In Claude Code: claude mcp add --transport http formvault 'https://api.formvault.eu/mcp' --header 'Authorization: <Bearer token: "Bearer fv_..." with an API key from https://formvault.eu/app/api-keys>'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does FormVault need an API key?
Yes. It expects FORMVAULT_API_KEY, Authorization, which you set in its configuration.
Is FormVault open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains FormVault?
It is published by terjetyl. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.