Twenty CRM MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TWENTY_API_KEY | Yes | Workspace API key from Settings > API & Webhooks | |
| TWENTY_API_URL | Yes | Twenty REST API URL ending in /rest (e.g., https://api.twenty.com/rest) | |
| TWENTY_ALLOW_DESTRUCTIVE | No | If 'true', enables soft delete and real merge. Defaults to 'false'. | false |
| TWENTY_WRITABLE_ENTITIES | No | Comma-separated list of entities that can be written; empty disables all writes. Defaults to common CRM objects if omitted. | companies,people,opportunities,tasks,notes,noteTargets,taskTargets |
| TWENTY_ALLOW_INSECURE_HTTP | No | If 'true', allows HTTP for non-local testing. Defaults to 'false'. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| twenty_list_recordsB | List records from any supported Twenty object with filters, ordering, relation depth, and cursor pagination. Read-only. |
| twenty_search_recordsA | Run a targeted, read-only search using Twenty filter syntax. Prefer this over list when criteria are known. |
| twenty_get_recordB | Fetch one record by object name and UUID. Read-only. |
| twenty_create_recordA | Create one record in an allowed business object. Internal/system objects are read-only by default. |
| twenty_update_recordA | Patch one record in an allowed business object by UUID. |
| twenty_soft_delete_recordA | Soft-delete one record. Never hard-deletes. Disabled unless TWENTY_ALLOW_DESTRUCTIVE=true. |
| twenty_batch_create_recordsB | Create 1-50 records in an allowed business object. |
| twenty_batch_update_recordsA | Patch all records matching a required filter in an allowed business object. |
| twenty_batch_soft_delete_recordsA | Soft-delete records matching a required filter. Never hard-deletes. Disabled unless TWENTY_ALLOW_DESTRUCTIVE=true. |
| twenty_find_duplicatesD | Check supplied record IDs or candidate data for duplicates without modifying CRM data. |
| twenty_group_recordsA | Group and optionally aggregate records using Twenty group_by syntax. Read-only. |
| twenty_merge_recordsA | Preview a merge by default. An actual merge requires dry_run=false and TWENTY_ALLOW_DESTRUCTIVE=true. |
| twenty_restore_recordA | Restore one soft-deleted record by object and UUID. |
| twenty_restore_recordsA | Restore soft-deleted records matching a required filter. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct operation (create, get, list, search, update, soft-delete, restore, merge, group, find duplicates) with no overlap. Batch and single variants are clearly differentiated by name and description.
All tools follow the consistent pattern 'twenty_<action>_<object?>' using snake_case and lowercase, with verbs like create, get, list, update, soft_delete, restore, merge, etc. No mixing of conventions.
14 tools cover the CRM domain comprehensively without being excessive. Each tool serves a distinct purpose, and the count aligns well with a full-featured client.
Covers CRUD, batch operations, soft delete/restore, deduplication, merging, and grouping. Missing hard delete (intentionally omitted) and some advanced operations like export or analytics, but the core lifecycle is complete.