trengo
What this MCP does
Manages Trengo customer-support tickets, contacts, teams, messages, assignments, board cards, and operational reports.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id', 'type'], 'properties': {'note': {'type': 'string', 'description': 'Optional assignment note.'}, 'type': {'enum': ['user', 'team'], 'type': 'string', 'description': 'Assign to a user or to a team.'}, 'team_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The team id — required when type is team.', 'exclusiveMinimum': 0}, 'user_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The user id — required when type is user.', 'exclusiveMinimum': 0}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}, 'ticket_result_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Optional ticket result to apply.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['board_id', 'stage_id', 'name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The card's name."}, 'board_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The board id.', 'exclusiveMinimum': 0}, 'stage_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The stage id.', 'exclusiveMinimum': 0}, 'description': {'type': 'string', 'description': "The card's description."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel_id', 'identifier'], 'properties': {'name': {'type': 'string', 'description': "The contact's full name."}, 'channel_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The channel id.', 'exclusiveMinimum': 0}, 'identifier': {'type': 'string', 'minLength': 1, 'description': 'Email address or phone number, depending on the channel.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel_id', 'contact_id'], 'properties': {'subject': {'type': 'string', 'description': 'Optional subject.'}, 'channel_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The channel id.', 'exclusiveMinimum': 0}, 'contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The contact id.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'end_date': {'type': 'string', 'description': 'Period end as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'team_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these team ids.'}, 'user_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these user ids.'}, 'label_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these label ids.'}, 'start_date': {'type': 'string', 'description': 'Period start as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'channel_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these channel ids.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['contact_id'], 'properties': {'contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The contact id.', 'exclusiveMinimum': 0}, 'include_notes': {'type': 'boolean', 'description': "Also return the contact's notes."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id', 'message_id'], 'properties': {'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}, 'message_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The message id.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['metrics'], 'properties': {'metrics': {'type': 'array', 'items': {'enum': ['new_tickets', 'assigned_tickets', 'average_total_resolution_time', 'average_first_response_time', 'created_tickets', 'closed_tickets', 'reopened_tickets'], 'type': 'string'}, 'minItems': 1, 'description': 'Which metrics to return.'}, 'end_date': {'type': 'string', 'description': 'Period end as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'team_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these team ids.'}, 'direction': {'enum': ['INBOUND', 'OUTBOUND'], 'type': 'string', 'description': 'Only INBOUND or OUTBOUND conversations.'}, 'label_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these label ids.'}, 'start_date': {'type': 'string', 'description': 'Period start as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'channel_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these channel ids.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'sort_by': {'enum': ['first_resolution_time_opening_hours', 'first_resolution_time', 'first_response_time_opening_hours', 'first_response_time', 'total_resolution_time_opening_hours', 'total_resolution_time', 'created_at', 'assigned_at', 'closed_at'], 'type': 'string', 'description': 'Sort column.'}, 'statuses': {'type': 'array', 'items': {'enum': ['OPEN', 'ASSIGNED', 'CLOSED', 'INVALID'], 'type': 'string'}, 'description': 'Only tickets in these statuses.'}, 'team_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these team ids.'}, 'direction': {'enum': ['INBOUND', 'OUTBOUND'], 'type': 'string', 'description': 'Only INBOUND or OUTBOUND conversations.'}, 'label_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these label ids.'}, 'sort_order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction.'}, 'channel_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these channel ids.'}, 'closed_end_date': {'type': 'string', 'description': 'Closed-until as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'created_end_date': {'type': 'string', 'description': 'Created-until as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'assigned_end_date': {'type': 'string', 'description': 'Assigned-until as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'closed_start_date': {'type': 'string', 'description': 'Closed-from as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'created_start_date': {'type': 'string', 'description': 'Created-from as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'assigned_start_date': {'type': 'string', 'description': 'Assigned-from as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'start_after_ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Keyset cursor: return tickets after this ticket id (replaces page for huge accounts).', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'term': {'type': 'string', 'description': 'Search term, matched on email, phone number and name.'}, 'include_last_interaction': {'type': 'boolean', 'description': "Also return each contact's last interaction."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'type': {'enum': ['MESSAGING', 'EMAIL'], 'type': 'string', 'description': 'Only quick replies of this type.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'sort': {'enum': ['-date', 'date'], 'type': 'string', 'description': 'By last message time: -date newest first (default), date oldest first.'}, 'users': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these assigned user ids.'}, 'labels': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these label ids.'}, 'status': {'enum': ['OPEN', 'ASSIGNED', 'CLOSED', 'INVALID'], 'type': 'string', 'description': 'Only tickets in this status. INVALID = spam.'}, 'channels': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these channel ids.'}, 'contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Only tickets of this contact.', 'exclusiveMinimum': 0}, 'updated_at_gt': {'type': 'string', 'description': 'Only tickets updated after this date-time.'}, 'last_message_type': {'enum': ['INBOUND', 'OUTBOUND'], 'type': 'string', 'description': 'Only tickets whose last message was INBOUND or OUTBOUND.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'sort': {'enum': ['id', 'first_name', 'last_name', 'created_at'], 'type': 'string', 'description': 'Sort column (default id).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id', 'message'], 'properties': {'message': {'type': 'string', 'minLength': 1, 'description': 'The message. May contain HTML when the channel is email.'}, 'subject': {'type': 'string', 'description': "Email channels only. Trengo prefixes it with 'Re:' when replying."}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}, 'internal_note': {'type': 'boolean', 'description': 'true = internal note for agents only; false/omitted = sent to the customer.'}, 'attachment_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Email channels only: ids of previously uploaded attachments.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['board_id', 'card_id'], 'properties': {'name': {'type': 'string', 'description': "The card's new name."}, 'card_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The card id.', 'exclusiveMinimum': 0}, 'board_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The board id.', 'exclusiveMinimum': 0}, 'stage_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Move the card to this stage.', 'exclusiveMinimum': 0}, 'user_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Trengo user ids on the card, e.g. deal owners (replaces the set).'}, 'contact_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Trengo contact ids on the card, e.g. leads (replaces the set).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['contact_id'], 'properties': {'name': {'type': 'string', 'description': "The contact's new name."}, 'contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The contact id.', 'exclusiveMinimum': 0}, 'contact_group_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'The full set of contact group ids (replaces the current groups).'}}}
Recent tool changes
Similar MCP servers
Odichat
Manages WhatsApp, Instagram, and Facebook inboxes with contacts, conversations, agents, automation rules, labels, canned response…
KaiCalls
Provides AI phone reception, outbound calling campaigns, call transcripts and recordings, lead management, routing, staff alerts,…
Agent Broker
Finds and verifies businesses, captures leads, sends compliant messages, places calls, and schedules appointments.
Crisp
Provides access to Crisp customer support, live chat, CRM, and helpdesk capabilities.
neuron
Operates AI chatbots and messaging workflows across WhatsApp and social channels, including contacts, campaigns, conversations, p…
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
独行录 / opcmenu
Supports founder and company discovery, collaboration goals and tasks, events and signups, networking, messaging, profiles, produ…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…