MCPサーバー

trengo

io.usefulapi/trengo

このMCPでできること

Manages Trengo customer-support tickets, contacts, teams, messages, assignments, board cards, and operational reports.

trengo_assign_ticket
Assign a ticket
Assign a ticket to a user or a team, with an optional assignment note. Reversible by reassigning. Trengo: POST /tickets/{ticket_id}/assign.
破壊的操作あり
入力スキーマ
{'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}}}
trengo_close_ticket
Close a ticket
Close a ticket, optionally applying a ticket result (see trengo_list_ticket_results). Reversible with trengo_reopen_ticket. Trengo: POST /tickets/{ticket_id}/close.
破壊的操作あり
入力スキーマ
{'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}}}
trengo_create_board_card
Create a board card
Create a card (e.g. a deal or task) in a stage of a Trengo board. The board id is in the board's URL in Trengo. Trengo: POST /boards/{boardId}/cards.
破壊的操作あり
入力スキーマ
{'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."}}}
trengo_create_contact
Create a contact
Create a contact on a channel. The identifier is the contact's address on that channel: an email address for email channels, a phone number for WhatsApp/SMS/voice. Trengo: POST /channels/{channel_id}/contacts.
破壊的操作あり
入力スキーマ
{'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.'}}}
trengo_create_ticket
Create a ticket
Open a new ticket for an existing contact on a channel. Nothing is sent to the customer until you post a message with trengo_send_ticket_message. Trengo: POST /tickets.
破壊的操作あり
入力スキーマ
{'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}}}
trengo_get_agent_performance
Get agent performance
Per-agent performance over a period: messages sent, notes, tickets assigned and closed, average first response and resolution times (with and without business hours). Trengo: GET /reporting/agent_performance.
読み取り専用
入力スキーマ
{'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.'}}}
trengo_get_contact
Get a contact
Fetch one contact with name, email, phone and custom field data, optionally with notes. Trengo: GET /contacts/{id}.
読み取り専用
入力スキーマ
{'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."}}}
trengo_get_email_message
Get an email message
Fetch the full email behind one message of a ticket: original HTML body, from, to, subject and Message-ID. The message must be an email message. Trengo: GET /tickets/{ticket_id}/full_email_messages/{message_id}.
読み取り専用
入力スキーマ
{'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}}}
trengo_get_reporting_metrics
Get reporting metrics
Aggregate support metrics over a period: new, created, assigned, closed and reopened tickets, average first response time and average total resolution time (seconds). Filter by team, channel, label or direction. Trengo: GET /reporting/metrics.
読み取り専用
入力スキーマ
{'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.'}}}
trengo_get_ticket_details_report
Get ticket details report
Per-ticket reporting rows: status, assignee, labels, first reply, first resolution and total resolution times (with and without business hours). Filter by team, channel, label, direction, status and created/closed/assigned date ranges; sort by a timing metric. For large accounts page with start_after_ticket_id instead of page. Trengo: GET /reporting/details/ticket.
読み取り専用
入力スキーマ
{'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}}}
trengo_list_contact_groups
List contact groups
List the contact groups in the account — use their ids with trengo_update_contact. Trengo: GET /contact_groups.
読み取り専用
入力スキーマ
{'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.'}}}
trengo_list_contacts
List or search contacts
List contacts, or search them by name, email or phone number. Trengo: GET /contacts.
読み取り専用
入力スキーマ
{'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."}}}
trengo_list_custom_fields
List custom fields
List the custom fields defined for tickets, contacts and profiles. Trengo: GET /custom_fields.
読み取り専用
入力スキーマ
{'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.'}}}
trengo_list_labels
List labels
List the ticket labels (tags) in the account, for filtering tickets and reports. Trengo: GET /labels.
読み取り専用
入力スキーマ
{'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.'}}}
trengo_list_quick_replies
List quick replies
List the saved quick replies (canned responses), optionally only the messaging or email ones — useful for drafting consistent answers. Trengo: GET /quick_replies.
読み取り専用
入力スキーマ
{'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.'}}}
trengo_list_teams
List teams
List the teams in the account — use their ids to assign tickets to a team. Trengo: GET /teams.
読み取り専用
入力スキーマ
{'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.'}}}
trengo_list_ticket_messages
List a ticket's messages
List the messages of one ticket — inbound, outbound and internal notes — with the contact or agent behind each. Trengo: GET /tickets/{ticket_id}/messages.
読み取り専用
入力スキーマ
{'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}}}
trengo_list_ticket_results
List ticket results
List the ticket results (closing outcomes, e.g. 'Resolved', 'Sale') that can be applied when closing a ticket. Trengo: GET /ticket_results.
読み取り専用
入力スキーマ
{'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.'}}}
trengo_list_tickets
List tickets
List tickets (conversations) visible to the token's user, newest activity first, with channel and latest message. Filter by status, contact, assignee, channel, label, last message direction or update time. Trengo: GET /tickets.
読み取り専用
入力スキーマ
{'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.'}}}
trengo_list_users
List users
List the agents (users) in the Trengo account — use their ids to assign tickets or filter. Trengo: GET /users.
読み取り専用
入力スキーマ
{'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).'}}}
trengo_reopen_ticket
Reopen a ticket
Reopen a closed ticket. Trengo: POST /tickets/{ticket_id}/reopen.
破壊的操作あり
入力スキーマ
{'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}}}
trengo_send_ticket_message
Send a ticket message
Post a message on a ticket. With internal_note=true it is an internal note visible only to agents. OTHERWISE IT IS DELIVERED TO THE CUSTOMER on the ticket's channel (email, WhatsApp, chat...) and cannot be recalled — confirm the text first. Trengo: POST /tickets/{ticket_id}/messages.
破壊的操作あり
入力スキーマ
{'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.'}}}
trengo_update_board_card
Update a board card
Partially update a board card: rename it, move it to another stage, or set its users (owners) and contacts (leads). user_ids / contact_ids replace the current sets. Trengo: PUT /boards/{boardId}/cards/{cardId}.
破壊的操作あり
入力スキーマ
{'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).'}}}
trengo_update_contact
Update a contact
Rename a contact and/or set the contact groups it belongs to. contact_group_ids REPLACES the contact's groups. Trengo: PUT /contacts/{id}.
破壊的操作あり
入力スキーマ
{'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).'}}}
追加
trengo_update_board_card
2026年10月2日2:40
追加
trengo_create_board_card
2026年10月2日2:40
追加
trengo_update_contact
2026年10月2日2:40
追加
trengo_create_contact
2026年10月2日2:40
追加
trengo_send_ticket_message
2026年10月2日2:40
追加
trengo_reopen_ticket
2026年10月2日2:40
追加
trengo_close_ticket
2026年10月2日2:40
追加
trengo_assign_ticket
2026年10月2日2:40
追加
trengo_create_ticket
2026年10月2日2:40
追加
trengo_get_ticket_details_report
2026年10月2日2:40
追加
trengo_get_agent_performance
2026年10月2日2:40
追加
trengo_get_reporting_metrics
2026年10月2日2:40
追加
trengo_list_quick_replies
2026年10月2日2:40
追加
trengo_list_custom_fields
2026年10月2日2:40
追加
trengo_list_ticket_results
2026年10月2日2:40
追加
trengo_list_labels
2026年10月2日2:40
追加
trengo_list_teams
2026年10月2日2:40
追加
trengo_list_users
2026年10月2日2:40
追加
trengo_list_contact_groups
2026年10月2日2:40
追加
trengo_get_contact
2026年10月2日2:40
追加
trengo_list_contacts
2026年10月2日2:40
追加
trengo_get_email_message
2026年10月2日2:40
追加
trengo_list_ticket_messages
2026年10月2日2:40
追加
trengo_list_tickets
2026年10月2日2:40