twenty
Qué hace este MCP
Manages Twenty CRM records for people, companies, opportunities, notes, and tasks, including listing, creation, and updates.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'The company name (required).'}, 'xUrl': {'type': 'string', 'description': 'X/Twitter URL (sent as xLink:{primaryLinkUrl}).'}, 'extra': {'type': 'object', 'description': 'Passthrough object of additional/custom fields merged into the request body verbatim.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'employees': {'type': 'number', 'description': 'Employee count.'}, 'domainName': {'type': 'string', 'description': 'Primary domain / website URL (sent as domainName:{primaryLinkUrl}).'}, 'addressCity': {'type': 'string', 'description': 'City (sent as address:{addressCity}).'}, 'linkedinUrl': {'type': 'string', 'description': 'LinkedIn URL (sent as linkedinLink:{primaryLinkUrl}).'}, 'idealCustomerProfile': {'type': 'boolean', 'description': 'Whether this company matches the ideal customer profile.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['title'], 'properties': {'body': {'type': 'string', 'description': 'The note content/body.'}, 'extra': {'type': 'object', 'description': 'Passthrough object of additional/custom fields merged into the request body verbatim.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'title': {'type': 'string', 'description': 'The note title (required).'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'The opportunity name (required).'}, 'extra': {'type': 'object', 'description': 'Passthrough object of additional/custom fields merged into the request body verbatim.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'stage': {'type': 'string', 'description': 'Pipeline stage — e.g. SCREENING, MEETING, PROPOSAL, NEGOTIATION, CUSTOMER (custom pipelines vary).'}, 'closeDate': {'type': 'string', 'description': 'Expected close date (ISO 8601).'}, 'companyId': {'type': 'string', 'description': 'Id of the associated company.'}, 'amountMicros': {'type': 'number', 'description': 'Opportunity amount in micros (× 1,000,000). Sent as amount:{amountMicros,currencyCode}.'}, 'currencyCode': {'type': 'string', 'default': 'USD', 'description': 'Currency code for the amount (default USD; only sent when amountMicros is provided).'}, 'pointOfContactId': {'type': 'string', 'description': 'Id of the point-of-contact person.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'city': {'type': 'string', 'description': 'City.'}, 'xUrl': {'type': 'string', 'description': 'X/Twitter URL (sent as xLink:{primaryLinkUrl}).'}, 'extra': {'type': 'object', 'description': 'Passthrough object of additional/custom fields merged into the request body verbatim.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'jobTitle': {'type': 'string', 'description': 'Job title.'}, 'lastName': {'type': 'string', 'description': 'Last name (combined into name:{firstName,lastName}).'}, 'companyId': {'type': 'string', 'description': 'Id of the company to link this person to.'}, 'firstName': {'type': 'string', 'description': 'First name (combined into name:{firstName,lastName}).'}, 'linkedinUrl': {'type': 'string', 'description': 'LinkedIn URL (sent as linkedinLink:{primaryLinkUrl}).'}, 'primaryEmail': {'type': 'string', 'description': 'Primary email address (sent as emails:{primaryEmail}).'}, 'primaryPhone': {'type': 'string', 'description': 'Primary phone number (sent as phones:{primaryPhoneNumber}).'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['title'], 'properties': {'body': {'type': 'string', 'description': 'Task body / description.'}, 'dueAt': {'type': 'string', 'description': 'Due date/time (ISO 8601).'}, 'extra': {'type': 'object', 'description': 'Passthrough object of additional/custom fields merged into the request body verbatim.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'title': {'type': 'string', 'description': 'The task title (required).'}, 'status': {'type': 'string', 'description': 'Task status — e.g. TODO, IN_PROGRESS, DONE.'}, 'assigneeId': {'type': 'string', 'description': 'Id of the workspace member assigned to the task.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The company id.'}, 'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The note id.'}, 'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The opportunity id.'}, 'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The person id.'}, 'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The task id.'}, 'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}, 'limit': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Results per page (1-60, default 20 — Twenty caps at 60).'}, 'filter': {'type': 'string', 'description': 'Raw Twenty filter string, passed verbatim as ?filter=. Syntax: field[comparator]:value, e.g. `employees[gte]:100` or `stage[eq]:"MEETING"`. Comparators: eq, neq, gt, gte, lt, lte, in, is, like, ilike, startsWith.'}, 'order_by': {'type': 'string', 'description': 'Raw Twenty ordering string, passed verbatim as ?order_by=, e.g. `createdAt[DescNullsLast]`.'}, 'ending_before': {'type': 'string', 'description': "Pagination cursor — return records before this cursor (from a previous page's pageInfo)."}, 'starting_after': {'type': 'string', 'description': "Pagination cursor — return records after this cursor (from a previous page's pageInfo)."}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}, 'limit': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Results per page (1-60, default 20 — Twenty caps at 60).'}, 'filter': {'type': 'string', 'description': 'Raw Twenty filter string, passed verbatim as ?filter=. Syntax: field[comparator]:value, e.g. `employees[gte]:100` or `stage[eq]:"MEETING"`. Comparators: eq, neq, gt, gte, lt, lte, in, is, like, ilike, startsWith.'}, 'order_by': {'type': 'string', 'description': 'Raw Twenty ordering string, passed verbatim as ?order_by=, e.g. `createdAt[DescNullsLast]`.'}, 'ending_before': {'type': 'string', 'description': "Pagination cursor — return records before this cursor (from a previous page's pageInfo)."}, 'starting_after': {'type': 'string', 'description': "Pagination cursor — return records after this cursor (from a previous page's pageInfo)."}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}, 'limit': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Results per page (1-60, default 20 — Twenty caps at 60).'}, 'filter': {'type': 'string', 'description': 'Raw Twenty filter string, passed verbatim as ?filter=. Syntax: field[comparator]:value, e.g. `employees[gte]:100` or `stage[eq]:"MEETING"`. Comparators: eq, neq, gt, gte, lt, lte, in, is, like, ilike, startsWith.'}, 'order_by': {'type': 'string', 'description': 'Raw Twenty ordering string, passed verbatim as ?order_by=, e.g. `createdAt[DescNullsLast]`.'}, 'ending_before': {'type': 'string', 'description': "Pagination cursor — return records before this cursor (from a previous page's pageInfo)."}, 'starting_after': {'type': 'string', 'description': "Pagination cursor — return records after this cursor (from a previous page's pageInfo)."}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}, 'limit': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Results per page (1-60, default 20 — Twenty caps at 60).'}, 'filter': {'type': 'string', 'description': 'Raw Twenty filter string, passed verbatim as ?filter=. Syntax: field[comparator]:value, e.g. `employees[gte]:100` or `stage[eq]:"MEETING"`. Comparators: eq, neq, gt, gte, lt, lte, in, is, like, ilike, startsWith.'}, 'order_by': {'type': 'string', 'description': 'Raw Twenty ordering string, passed verbatim as ?order_by=, e.g. `createdAt[DescNullsLast]`.'}, 'ending_before': {'type': 'string', 'description': "Pagination cursor — return records before this cursor (from a previous page's pageInfo)."}, 'starting_after': {'type': 'string', 'description': "Pagination cursor — return records after this cursor (from a previous page's pageInfo)."}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'depth': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'How deep to hydrate related records: 0, 1, or 2.'}, 'limit': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Results per page (1-60, default 20 — Twenty caps at 60).'}, 'filter': {'type': 'string', 'description': 'Raw Twenty filter string, passed verbatim as ?filter=. Syntax: field[comparator]:value, e.g. `employees[gte]:100` or `stage[eq]:"MEETING"`. Comparators: eq, neq, gt, gte, lt, lte, in, is, like, ilike, startsWith.'}, 'order_by': {'type': 'string', 'description': 'Raw Twenty ordering string, passed verbatim as ?order_by=, e.g. `createdAt[DescNullsLast]`.'}, 'ending_before': {'type': 'string', 'description': "Pagination cursor — return records before this cursor (from a previous page's pageInfo)."}, 'starting_after': {'type': 'string', 'description': "Pagination cursor — return records after this cursor (from a previous page's pageInfo)."}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The company id to update.'}, 'name': {'type': 'string', 'description': 'The company name.'}, 'xUrl': {'type': 'string', 'description': 'X/Twitter URL (sent as xLink:{primaryLinkUrl}).'}, 'extra': {'type': 'object', 'description': 'Passthrough object of additional/custom fields merged into the request body verbatim.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'employees': {'type': 'number', 'description': 'Employee count.'}, 'domainName': {'type': 'string', 'description': 'Primary domain / website URL (sent as domainName:{primaryLinkUrl}).'}, 'addressCity': {'type': 'string', 'description': 'City (sent as address:{addressCity}).'}, 'linkedinUrl': {'type': 'string', 'description': 'LinkedIn URL (sent as linkedinLink:{primaryLinkUrl}).'}, 'idealCustomerProfile': {'type': 'boolean', 'description': 'Whether this company matches the ideal customer profile.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The opportunity id to update.'}, 'name': {'type': 'string', 'description': 'The opportunity name.'}, 'extra': {'type': 'object', 'description': 'Passthrough object of additional/custom fields merged into the request body verbatim.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'stage': {'type': 'string', 'description': 'Pipeline stage — e.g. SCREENING, MEETING, PROPOSAL, NEGOTIATION, CUSTOMER (custom pipelines vary).'}, 'closeDate': {'type': 'string', 'description': 'Expected close date (ISO 8601).'}, 'companyId': {'type': 'string', 'description': 'Id of the associated company.'}, 'amountMicros': {'type': 'number', 'description': 'Opportunity amount in micros (× 1,000,000). Sent as amount:{amountMicros,currencyCode}.'}, 'currencyCode': {'type': 'string', 'default': 'USD', 'description': 'Currency code for the amount (default USD; only sent when amountMicros is provided).'}, 'pointOfContactId': {'type': 'string', 'description': 'Id of the point-of-contact person.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The person id to update.'}, 'city': {'type': 'string', 'description': 'City.'}, 'xUrl': {'type': 'string', 'description': 'X/Twitter URL (sent as xLink:{primaryLinkUrl}).'}, 'extra': {'type': 'object', 'description': 'Passthrough object of additional/custom fields merged into the request body verbatim.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'jobTitle': {'type': 'string', 'description': 'Job title.'}, 'lastName': {'type': 'string', 'description': 'Last name (combined into name:{firstName,lastName}).'}, 'companyId': {'type': 'string', 'description': 'Id of the company to link this person to.'}, 'firstName': {'type': 'string', 'description': 'First name (combined into name:{firstName,lastName}).'}, 'linkedinUrl': {'type': 'string', 'description': 'LinkedIn URL (sent as linkedinLink:{primaryLinkUrl}).'}, 'primaryEmail': {'type': 'string', 'description': 'Primary email address (sent as emails:{primaryEmail}).'}, 'primaryPhone': {'type': 'string', 'description': 'Primary phone number (sent as phones:{primaryPhoneNumber}).'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The task id to update.'}, 'body': {'type': 'string', 'description': 'Task body / description.'}, 'dueAt': {'type': 'string', 'description': 'Due date/time (ISO 8601).'}, 'extra': {'type': 'object', 'description': 'Passthrough object of additional/custom fields merged into the request body verbatim.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'title': {'type': 'string', 'description': 'The task title.'}, 'status': {'type': 'string', 'description': 'Task status — e.g. TODO, IN_PROGRESS, DONE.'}, 'assigneeId': {'type': 'string', 'description': 'Id of the workspace member assigned to the task.'}}}
Cambios recientes en herramientas
Servidores MCP similares
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
GestãoClick
Connects to the GestãoClick ERP to manage customers, suppliers, products, sales, service orders, budgets, and financial records.
Odichat
Manages WhatsApp, Instagram, and Facebook inboxes with contacts, conversations, agents, automation rules, labels, canned response…
Coordinalo — Service Business Operations
Manages appointment-based service businesses, including clients, providers, services, availability, public booking agendas, recur…
StackFast FractWin Expert Brain
Provides governed sales, negotiation, strategy, operations, CRM, estimation, artifact, and risk-management workflows with human a…
GrowthKit Revenue Intelligence
Supports B2B revenue operations with lead campaigns, ICP and company enrichment, CRM records and activities, outreach drafting, t…
KaiCalls
Provides AI phone reception, outbound calling campaigns, call transcripts and recordings, lead management, routing, staff alerts,…