# Twenty

Open-source CRM with an in-product MCP server: per-object CRUD, workflows, metadata, views and webhooks over OAuth.

Objects, views, workflows and agents you shape in-product or as code with the twenty-sdk. Every workspace serves an MCP endpoint at &lt;workspace>/mcp; the Builder's Codex plugin ships a use-twenty-mcp skill and a setup script. Self-host under AGPL (enterprise files marked) or use Twenty Cloud.

Alternative to: Salesforce, HubSpot, Attio

- 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/twentyhq/twenty (AGPL-3.0 core with marked enterprise files), 56077 stars, last commit 2026-09-03
- Last activity: 2026-09-03
- Page: apps/twentyhq--twenty.html
- JSON: apps/twentyhq--twenty.json

## Use it when

- I want a CRM our agent can query, update and reshape (new objects, fields, workflows) without a wrapper
- I want to version our CRM's data model as code and ship it to a workspace

## Gotchas

- Env var names above come from the self-host docs and the .mcp.json dev config (PG_DATABASE_URL); confirm the current list at docs.twenty.com
- The root .mcp.json is developer tooling (postgres, playwright, context7), not the product MCP
- Metadata and workflow tools require loading a skill first or the agent misbuilds
- AGPL core; enterprise files are marked and not free

## Editions

- Self-hosted: Free, open source
  - source: https://github.com/twentyhq/twenty
  - container: https://docs.twenty.com/developers/self-host/capabilities/docker-compose
- Cloud: Free, closed source
  - hosted: https://twenty.com
- Enterprise: Free, closed source

## Adaptable: make it yours

Effort: config-only (10 things to edit), surface kind admin-ui

The named env vars (packages/twenty-server/.env.example) and Docker Compose file are deployment configuration: SERVER_URL, PG_DATABASE_URL, REDIS_URL, APP_SECRET, STORAGE_TYPE, EMAIL_* and auth-provider ids. Business adaptation lives in the workspace UI: Settings > Data model for objects and fields, views, Workflows, roles, and API keys and webhooks; the same surface is reachable over the in-product MCP. A twenty-sdk app (defineObject) is an optional code path, not the default.

- Env vars: SERVER_URL, PG_DATABASE_URL, REDIS_URL, APP_SECRET, STORAGE_TYPE, EMAIL_DRIVER, EMAIL_SMTP_HOST
- Config files: packages/twenty-docker/docker-compose.yml, packages/twenty-server/.env
- Prompt files: packages/twenty-codex-plugin/skills/use-twenty-mcp/SKILL.md
- Accounts you'll need: Twenty Cloud account (cloud edition); SMTP provider (self-host); Google or Microsoft OAuth apps (email and calendar sync)

## Operable: what an agent can drive

Operability: official. Interface: mcp at https://github.com/twentyhq/twenty/tree/main/packages/twenty-codex-plugin/references/use-twenty-mcp (published by the builder, both).

### Reach (partial coverage)

- Read, search and aggregate records of any object: reachable. build-mcp-server-instructions.util.ts: find_many_{objects}, find_one_{object}, group_by_{objects}
- Create, update, upsert and delete records: reachable. Same file: create_one/many, update_one/many, upsert_many, delete_one/many per object
- Attach notes, tasks and activities: reachable. Instructions: note / task / activity attachable through targetRecordId
- Build and run workflows: reachable. WORKFLOW tools: list_workflows, create_complete_workflow, activate/deactivate_workflow_version, list_workflow_runs
- Add objects and fields: reachable. METADATA tools: create/update/delete_object_metadata and field_metadata; skill warns to load the metadata skill first
- Create views, filters and sorts: reachable. VIEW tools: create/update/delete_view, manage view fields, filters, sorts
- Webhooks and navigation: reachable. WEBHOOK and NAVIGATION tool groups
- Build dashboards: reachable. create_complete_dashboard after loading the dashboard-building skill
- Connect email and calendar accounts: not reachable. Connected accounts are set up in the UI with OAuth; no MCP tool listed
- Publish an app to the workspace: not reachable. Done with npx twenty app:publish (CLI), not MCP; SKILL.md says use develop-app instead

## Code stack

- Languages: TypeScript
- Frameworks: NestJS, React, Nx, BullMQ, Jotai, Lingui
- Package manager: yarn
- Database: PostgreSQL, Redis
- Hosting target: Docker Compose

## Model stack

- Providers: configurable (in-product AI agents)
- Models: none
- Keys you need (names only): none
- Prompts live in: packages/twenty-codex-plugin/skills/use-twenty-mcp/SKILL.md
- Tools: find_many_{objects}, find_one_{object}, group_by_{objects}, create_one_{object}, create_many_{objects}, update_one_{object}, upsert_many_{objects}, delete_one_{object}, list_workflows, create_complete_workflow, get/create/update/delete_object_metadata, get/create/update/delete_field_metadata, get_views, create/update/delete_view, list/create/update/delete_webhook, create_complete_dashboard, list_object_metadata_names, list_skills

## Skills

bundled: Twenty ships a Codex plugin and a Claude skills package teaching an agent to use the Twenty MCP server and build Twenty apps; the repo separately carries contributor-only skills.
- Paths: packages/twenty-codex-plugin/skills/*/SKILL.md, packages/twenty-claude-skills/skills/*/SKILL.md

## Evidence and confidence

- formFactor: README: NestJS plus React monorepo, Docker Compose self-host (confidence 0.95)
- executionModel: README: agents are a building block; MCP list_skills and dashboard skills; CRM core deterministic (confidence 0.75)
- operability: packages/twenty-server/src/engine/api/mcp in the Builder's repo; codex plugin setup.md normalises &lt;workspace>/mcp and uses OAuth (confidence 0.95)
- effort: README Self-hosting links; twenty-sdk app flow (confidence 0.85)
- editions: README: Cloud sign-up at twenty.com; AGPL license with enterprise files (confidence 0.6)
- active: GitHub pushedAt 2026-09-03
- reach:  (confidence 0.9)

## Open questions

- Cloud prices and whether a free cloud plan exists
- Verify the self-host env var list on docs.twenty.com
- Is the product MCP available on self-host without an enterprise license?

## Sources

- https://github.com/twentyhq/twenty (sourcing:smb-ops-crm:github)
- https://docs.twenty.com (sourcing:smb-ops-crm:github)
- https://github.com/mhenry3164/twenty-crm-mcp-server (sourcing:smb-ops-crm:github)
