deskpro
What this MCP does
Searches and manages Deskpro helpdesk tickets, people, organizations, replies, internal notes and knowledgebase articles.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id', 'message', 'is_note'], 'properties': {'format': {'enum': ['html', 'text'], 'type': 'string', 'description': 'Format of the body. Default text.'}, 'is_note': {'type': 'boolean', 'description': 'true = internal agent note; false = public reply to the requester.'}, 'message': {'type': 'string', 'minLength': 1, 'description': 'The message body.'}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The ticket's numeric id.", 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The organization's name."}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels to set.'}, 'summary': {'type': 'string', 'description': 'A short description.'}, 'email_domains': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Email domains belonging to the organization, e.g. example.com.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subject', 'message'], 'properties': {'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels to set.'}, 'status': {'type': 'string', 'pattern': '^(awaiting_agent|awaiting_user|pending|resolved)(\\.\\d+)?$', 'description': 'Ticket status: awaiting_agent, awaiting_user, pending or resolved, optionally with a custom sub-status id suffix (e.g. pending.5 — see deskpro_list_ticket_statuses). The hidden (deleted/spam) status is not settable here.'}, 'message': {'type': 'string', 'minLength': 1, 'description': 'The first message body.'}, 'subject': {'type': 'string', 'minLength': 1, 'description': 'The ticket subject.'}, 'urgency': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Urgency 1-10.'}, 'agent_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Assign to this agent id.'}, 'person_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The requester's person id.", 'exclusiveMinimum': 0}, 'agent_team': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Assign to this agent team id.'}, 'department': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Department id (see deskpro_list_departments).'}, 'person_name': {'type': 'string', 'description': "The requester's name, for a new person."}, 'organization': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Organization id.'}, 'person_email': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': "The requester's email (used when person_id is not given)."}, 'message_format': {'enum': ['html', 'text'], 'type': 'string', 'description': 'Format of the message body. Default text.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['article_id'], 'properties': {'article_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The article's numeric id.", 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['organization_id'], 'properties': {'include': {'type': 'string', 'description': "Comma-separated related object types to side-load into the response's `linked` section, e.g. person,agent,department,organization."}, 'organization_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The organization's numeric id.", 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['person_id'], 'properties': {'include': {'type': 'string', 'description': "Comma-separated related object types to side-load into the response's `linked` section, e.g. person,agent,department,organization."}, 'person_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The person's numeric id.", 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'include': {'type': 'string', 'description': "Comma-separated related object types to side-load into the response's `linked` section, e.g. person,agent,department,organization."}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The ticket's numeric 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, starting at 1.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}, 'online': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 0}, {'type': 'number', 'const': -1}], 'description': '1 = online only, 0 = offline only, -1 = both.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}, 'author': {'type': 'string', 'pattern': '^(\\d+|me)$', 'description': "Only articles by this author id, or 'me' for the key's agent."}, 'status': {'enum': ['published', 'archived', 'hidden'], 'type': 'string', 'description': 'Only articles in this status.'}, 'category': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Only articles in this category id.'}, 'order_by': {'enum': ['date_created', 'date_updated', 'person'], 'type': 'string', 'description': 'Sort field.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'Only the organization with this name.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}, 'labels': {'type': 'string', 'description': 'Only organizations with these labels (comma-separated).'}, 'search': {'type': 'string', 'description': 'Search on name.'}, 'include': {'type': 'string', 'description': "Comma-separated related object types to side-load into the response's `linked` section, e.g. person,agent,department,organization."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['organization_id'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}, 'organization_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The organization's numeric 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, starting at 1.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}, 'search': {'type': 'string', 'description': 'Search on name.'}, 'include': {'type': 'string', 'description': "Comma-separated related object types to side-load into the response's `linked` section, e.g. person,agent,department,organization."}, 'is_agent': {'type': 'boolean', 'description': 'true for agents only, false for end users only.'}, 'order_by': {'enum': ['id', 'date_created', 'date_last_login', 'name', 'first_name', 'last_name', 'primary_email', 'timezone', 'organization'], 'type': 'string', 'description': 'Sort field.'}, 'order_dir': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction.'}, 'organization': {'type': 'string', 'pattern': '^\\d+(,\\d+)*$', 'description': 'Only members of these organization ids (comma-separated).'}, 'primary_email': {'type': 'string', 'description': 'Only the person with this primary email.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['person_id'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}, 'person_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The person's numeric id.", 'exclusiveMinimum': 0}}}
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, starting at 1.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}, 'include': {'type': 'string', 'description': "Comma-separated related object types to side-load into the response's `linked` section, e.g. person,agent,department,organization."}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The ticket's numeric id.", 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ids': {'type': 'string', 'pattern': '^\\d+(,\\d+)*$', 'description': 'Fetch exactly these ticket ids (comma-separated).'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'agent': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Only tickets assigned to this agent id.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}, 'labels': {'type': 'string', 'description': 'Only tickets with these labels (comma-separated).'}, 'person': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Only tickets raised by this person id.'}, 'status': {'type': 'string', 'description': 'Only tickets in this status, e.g. awaiting_agent, awaiting_user, pending, resolved.'}, 'include': {'type': 'string', 'description': "Comma-separated related object types to side-load into the response's `linked` section, e.g. person,agent,department,organization."}, 'order_by': {'enum': ['id', 'urgency', 'date_created', 'date_status', 'date_last_agent_reply', 'date_last_user_reply', 'date_last_reply', 'date_user_waiting', 'total_user_waiting', 'subject', 'status'], 'type': 'string', 'description': 'Sort field.'}, 'department': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Only tickets in this department id.'}, 'group_sort': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction.'}, 'organization': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Only tickets from this organization id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'count': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Results per page, 1-200.'}, 'status_type': {'enum': ['pending', 'awaiting_agent', 'awaiting_user', 'resolved'], 'type': 'string', 'description': 'Only statuses of this type.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['q'], 'properties': {'q': {'type': 'string', 'minLength': 1, 'description': 'The search term.'}, 'types': {'type': 'string', 'pattern': '^(article|download|community|news|ticket|person|agent|organization|chat_conversation)(,(article|download|community|news|ticket|person|agent|organization|chat_conversation))*$', 'description': 'Comma-separated types to search, e.g. ticket,person,organization. Omit for all.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': "The ticket's labels."}, 'status': {'type': 'string', 'pattern': '^(awaiting_agent|awaiting_user|pending|resolved)(\\.\\d+)?$', 'description': 'Ticket status: awaiting_agent, awaiting_user, pending or resolved, optionally with a custom sub-status id suffix (e.g. pending.5 — see deskpro_list_ticket_statuses). The hidden (deleted/spam) status is not settable here.'}, 'is_hold': {'type': 'boolean', 'description': 'Put the ticket on hold (true) or take it off hold (false).'}, 'subject': {'type': 'string', 'minLength': 1, 'description': 'New subject.'}, 'urgency': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Urgency 1-10.'}, 'agent_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Assign to this agent id.'}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The ticket's numeric id.", 'exclusiveMinimum': 0}, 'agent_team': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Assign to this agent team id.'}, 'department': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Move to this department id.'}, 'organization': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Set the organization id.'}}}
Recent tool changes
Similar MCP servers
Dock
Provides collaborative workspaces with tables, documents, HTML surfaces, files, formulas, comments, activity tracking, agent mess…
AgentBoard
Provides agents with private memory, knowledge pages, evidence, posts, tasks, coordination spaces, proposals, voting, and resumab…
Kythene
Provides shared team memory, collections, wikis, artifacts, comments, approvals, review workflows, presence, and controlled shari…
Tiflux
Manages Tiflux help-desk operations including tickets, replies, internal notes, clients, assignments, SLAs, time entries, contrac…
hiveposts
Publishes, searches, verifies, discusses, and exports a community library of reproducible technical fixes and agent solutions.
happyfox
Manages HappyFox support tickets, contacts, replies, private notes, assignments, reporting, and customer-facing or internal knowl…
kayako
Searches and manages Kayako customer-support cases, users, replies, internal notes, organizations and help-center articles.
re-amaze
Manages Re:amaze customer contacts, support conversations, messages, channels and help-center articles, with response-time and vo…