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 <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.
- 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
- 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
Last activity Sep 3, 2026. Fit: adaptable 2, operable 3.
Editions
Self-hosted · Free open source
- Clone
git clone https://github.com/twentyhq/twenty - ImageContainer
Cloud · Free closed source
- HostedOpen the hosted app
Enterprise · Free closed source
No distribution recorded.
Adaptable: what is yours to change
Make it yours
Config only10 things to editadmin-ui surface
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_URLPG_DATABASE_URLREDIS_URLAPP_SECRETSTORAGE_TYPEEMAIL_DRIVEREMAIL_SMTP_HOST- Config files
packages/twenty-docker/docker-compose.ymlpackages/twenty-server/.env- Prompt files
packages/twenty-codex-plugin/skills/use-twenty-mcp/SKILL.md- Accounts you need
- Twenty Cloud account (cloud edition)SMTP provider (self-host)Google or Microsoft OAuth apps (email and calendar sync)
Source
- github.com/twentyhq/twenty
- AGPL-3.0 core with marked enterprise files license
- Last commit Sep 3, 2026
- 56,077 stars
Operable: what an agent can drive
Interface
OfficialMCP serverpublished by the builderremote or local
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
- Docs
- github.com/twentyhq/twenty/tree/main/packages/twenty-codex-plugin/references/use-twenty-mcp
- 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_workflowscreate_complete_workflowget/create/update/delete_object_metadataget/create/update/delete_field_metadataget_viewscreate/update/delete_viewlist/create/update/delete_webhookcreate_complete_dashboardlist_object_metadata_nameslist_skills
Reach
Partial coverage. 8 of 10 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| 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
- NestJSReactNxBullMQJotaiLingui
- Package manager
- yarn
- Database
- PostgreSQLRedis
- Hosting target
- Docker Compose
- Built
- Human-written (recorded, never ranked)
Model stack
- Providers
- configurable (in-product AI agents)
- Models
- none
- Keys you need
- none
- Prompts live in
packages/twenty-codex-plugin/skills/use-twenty-mcp/SKILL.md
Skills
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.
- Kind
- bundled
- Paths
packages/twenty-codex-plugin/skills/*/SKILL.mdpackages/twenty-claude-skills/skills/*/SKILL.md
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: NestJS plus React monorepo, Docker Compose self-host | 95% |
| executionModel | README: agents are a building block; MCP list_skills and dashboard skills; CRM core deterministic | 75% |
| operability | packages/twenty-server/src/engine/api/mcp in the Builder's repo; codex plugin setup.md normalises <workspace>/mcp and uses OAuth | 95% |
| effort | README Self-hosting links; twenty-sdk app flow | 85% |
| editions | README: Cloud sign-up at twenty.com; AGPL license with enterprise files | 60% |
| active | GitHub pushedAt 2026-09-03 | – |
| reach | 90% |
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
- github.com/twentyhq/twenty sourcing:smb-ops-crm:github
- docs.twenty.com sourcing:smb-ops-crm:github
- github.com/mhenry3164/twenty-crm-mcp-server sourcing:smb-ops-crm:github