# Formbricks

Open-source survey platform with an OAuth MCP server for surveys, workflows and feedback records.

In-app, website, link and email surveys with templates, targeting and integrations. The Builder ships an MCP server at /api/mcp (cloud or self-hosted) that an agent connects to with your own login over OAuth 2.1; survey and workflow tools work on every edition, feedback-record tools need Enterprise. Self-hosting is AGPL with an ee/ directory under a commercial license.

Alternative to: Typeform, SurveyMonkey, Hotjar

- Capabilities: adaptable, operable
- Vertical: smb-ops-crm
- Shape: business-app
- Form factor: web-app
- Execution model: hybrid
- Provenance: human-written (recorded, never ranked)
- Repo: https://github.com/formbricks/formbricks (AGPL-3.0 with ee/ under commercial license), 12856 stars, last commit 2026-09-02
- Last activity: 2026-09-02
- Page: apps/formbricks--formbricks.html
- JSON: apps/formbricks--formbricks.json

## Use it when

- I want a survey tool our agent can create and launch surveys in, without an API key to babysit
- I need in-app feedback surveys hosted on our own box under our own domain

## Gotchas

- Feedback-record MCP tools return authorization errors without the Enterprise entitlement and a feedback dataset
- delete_feedback_record and update_feedback_record are irreversible and need owner or manager role
- ee/ directory is commercially licensed; do not fork it as AGPL
- External code contributions are accepted only as an exception

## Editions

- Self-hosted: Free, open source
  - source: https://github.com/formbricks/formbricks
  - container: https://formbricks.com/docs/self-hosting/deployment
- Cloud Free: Free, closed source
  - hosted: https://app.formbricks.com/auth/signup
- Cloud paid plans: Free, closed source
  - hosted: https://formbricks.com/pricing
- Enterprise Edition: Free, closed source

## Adaptable: make it yours

Effort: config-only (23 things to edit)

Self-host with Docker and set env vars; the Builder documents them at docs/self-hosting/configuration/environment-variables.mdx. WEBAPP_URL, DATABASE_URL, ENCRYPTION_KEY, NEXTAUTH_SECRET and SMTP_* are the required set; OIDC_*, SAML and AZUREAD_* add SSO; AI_* and SENTIMENT_* switch on model features with your own provider; ENTERPRISE_LICENSE_KEY unlocks ee/. Survey design happens in-product, not in code.

- Env vars: WEBAPP_URL, NEXTAUTH_URL, NEXTAUTH_SECRET, ENCRYPTION_KEY, DATABASE_URL, REDIS_URL, SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, MAIL_FROM, CRON_SECRET, OIDC_ISSUER, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, AI_PROVIDER, AI_MODEL, S3_BUCKET_NAME, ENTERPRISE_LICENSE_KEY, MCP_OAUTH_JWKS_URL, TELEMETRY_DISABLED
- Config files: .env.example, docs/self-hosting/configuration/environment-variables.mdx
- Prompt files: none
- Accounts you'll need: SMTP provider; Formbricks Cloud account (cloud edition); model provider (optional AI features)

## Operable: what an agent can drive

Operability: official. Interface: mcp at https://app.formbricks.com/api/mcp (published by the builder, both).

### Reach (partial coverage)

- Create and edit surveys: reachable. MCP tools create_survey, patch_survey, validate_survey (docs/platform/mcp/overview.mdx)
- List and read surveys: reachable. MCP tools list_surveys, get_survey
- Delete surveys: reachable. MCP tool delete_survey under surveys:write
- Build and run workflows: reachable. MCP tools create_workflow, enable_workflow, test_workflow, list_workflow_runs
- Read survey responses: not reachable. No responses tool in the MCP scope table; feedback-record tools need Enterprise (feedbackDirectories); Management API v1/v2 has responses
- Search feedback by meaning: not reachable. search_feedback_records needs Enterprise plus an embedding model; unavailable on free self-host
- Target in-app surveys to user segments: not reachable. Targeting and actions are not in the MCP tool list
- Connect Slack, Notion, Zapier, n8n integrations: not reachable. No integration tools in MCP; configured in-app
- Invite and manage organization members: not reachable. No member tools in MCP; list_workspaces is read-only

## Code stack

- Languages: TypeScript
- Frameworks: Next.js, React, Prisma, Auth.js, Tailwind CSS
- Package manager: pnpm
- Database: PostgreSQL, Redis
- Hosting target: Docker

## Model stack

- Providers: configurable: OpenAI-compatible, Azure, AWS Bedrock, Google Cloud
- Models: none
- Keys you need (names only): AI_PROVIDER, AI_MODEL, AI_OPENAI_COMPATIBLE_API_KEY, AI_AZURE_API_KEY, SENTIMENT_PROVIDER_API_KEY, TRANSLATION_PROVIDER_API_KEY, EMBEDDING_PROVIDER_API_KEY
- Prompts live in: none
- Tools: list_surveys, get_survey, create_survey, patch_survey, delete_survey, list_workflows, create_workflow, test_workflow, list_feedback_records, search_feedback_records, create_feedback_record

## Skills

contributor: Repo carries one contributor-facing Next.js documentation skill, mirrored for Claude and Codex. [contributor tooling, not adopter-facing]
- Paths: .agents/skills/nextjs-docs/SKILL.md, .claude/skills/nextjs-docs, .codex/skills/nextjs-docs

## Evidence and confidence

- formFactor: README: Next.js web app, Docker self-host (confidence 0.95)
- executionModel: AI_PROVIDER, SENTIMENT_*, TRANSLATION_* env vars: optional model features on a deterministic survey core (confidence 0.8)
- operability: docs/platform/mcp/overview.mdx in the Builder's repo: MCP server at /api/mcp with OAuth 2.1 (confidence 0.95)
- effort: docs/self-hosting/configuration/environment-variables.mdx; .env.example (confidence 0.85)
- editions: README: AGPLv3 self-host, cloud with generous free plan; ENTERPRISE_LICENSE_KEY (confidence 0.75)
- active: GitHub pushedAt 2026-09-02
- reach:  (confidence 0.85)

## Open questions

- Cloud plan prices and whether MCP access is on the free cloud plan
- Does the Management API v2 expose responses so an agent could pair it with MCP?

## Sources

- https://github.com/formbricks/formbricks (sourcing:smb-ops-crm:github)
- https://formbricks.com/docs (sourcing:smb-ops-crm:github)
- https://github.com/formbricks/formbricks/blob/main/docs/platform/mcp/overview.mdx (analysis)
