eDesk MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi
Work with eDesk support tickets, replies, internal notes, contacts and sales orders.
18 tools: 4 can delete or cancel things and 14 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads14Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http edesk https://edesk.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
18 tools
Deletes or cancels 4Claude Code: deny
edesk_add_order_noteWRITE: add an internal note to a sales order (never sent to the customer).No findings
Why it is in this group
- The name "edesk_add_order_note" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: add an internal note to a sales order (never sent to the customer). POST /order-notes.
Annotations the server declares
- title: Add order note
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
edesk_add_ticket_noteWRITE: add an internal note to a ticket.No findings
Why it is in this group
- The name "edesk_add_ticket_note" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: add an internal note to a ticket. The note is for the team only and is never sent to the customer. POST /messages with type Note.
Annotations the server declares
- title: Add internal ticket note
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
edesk_reply_to_ticketWRITE, CUSTOMER-VISIBLE: send a reply on a ticket.No findings
Why it is in this group
- The name "edesk_reply_to_ticket" says "reply": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE, CUSTOMER-VISIBLE: send a reply on a ticket. eDesk queues it for delivery to the marketplace or email channel, so it cannot be recalled once queued. The audience is the channel's default: on a Mirakl channel it is the channel's "Default messages recipients" setting (customer, operator or both), and this API cannot choose recipients (use the eDesk reply box when they matter). Only call this when the user has approved the exact text and audience. If the call fails in transit, the reply may still be queued: check the ticket before retrying. Use edesk_add_ticket_note for an internal note. POST /messages with type Message.
Annotations the server declares
- title: Reply to customer
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
edesk_update_ticketWRITE: change a ticket's status, owner (assignee), tags or subject.No findings
Why it is in this group
- The name "edesk_update_ticket" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: change a ticket's status, owner (assignee), tags or subject. Only the fields you pass are sent. tag_ids is sent as given: read the ticket first (tags_ids) and include the tags to keep. Nothing is sent to the customer. PUT /tickets/{id}.
Annotations the server declares
- title: Update ticket
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Only reads 14Claude Code: allow
edesk_get_messageOne ticket message or internal note by id (from a ticket's message ids): body, direction, type (Message or Note), author and attachments.No findings
Why it is in this group
- The name "edesk_get_message" says "get": a word for reading.
Description, as the server wrote it One ticket message or internal note by id (from a ticket's message ids): body, direction, type (Message or Note), author and attachments. GET /messages/{id}.
Annotations the server declares
- title: Get message
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_get_sales_orderOne sales order by id with items, amounts, ship-to and bill-to addresses, tracking codes, delivery dates, the linked ticket id and order note ids.No findings
Why it is in this group
- The name "edesk_get_sales_order" says "get": a word for reading.
Description, as the server wrote it One sales order by id with items, amounts, ship-to and bill-to addresses, tracking codes, delivery dates, the linked ticket id and order note ids. GET /sales-orders/{id}.
Annotations the server declares
- title: Get sales order
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_get_templateOne reply template by id.No findings
Why it is in this group
- The name "edesk_get_template" says "get": a word for reading.
Description, as the server wrote it One reply template by id. GET /templates/{id}.
Annotations the server declares
- title: Get template
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_get_ticketOne ticket by id with its status, owner, tags, custom fields, linked sales order and the ids of its messages (read each with edesk_get_message).No findings
Why it is in this group
- The name "edesk_get_ticket" says "get": a word for reading.
Description, as the server wrote it One ticket by id with its status, owner, tags, custom fields, linked sales order and the ids of its messages (read each with edesk_get_message). GET /tickets/{id}.
Annotations the server declares
- title: Get ticket
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_list_channelsList the sales channels connected to eDesk (Amazon, eBay, Shopify, email, ...) with id, type, name, country and currency.No findings
Why it is in this group
- The name "edesk_list_channels" says "list": a word for reading.
Description, as the server wrote it List the sales channels connected to eDesk (Amazon, eBay, Shopify, email, ...) with id, type, name, country and currency. Use the ids to filter tickets and orders. GET /channels.
Annotations the server declares
- title: List channels
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_list_contactsSearch the contacts (customers) of the helpdesk by free text, email, name, phone number or consumer id.No findings
Why it is in this group
- The name "edesk_list_contacts" says "list": a word for reading.
Description, as the server wrote it Search the contacts (customers) of the helpdesk by free text, email, name, phone number or consumer id. Returns id, channel, full name, email and phone. GET /contacts.
Annotations the server declares
- title: List contacts
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_list_order_notesList the internal notes attached to sales orders (id, sales order id, author, text, attachments).No findings
Why it is in this group
- The name "edesk_list_order_notes" says "list": a word for reading.
Description, as the server wrote it List the internal notes attached to sales orders (id, sales order id, author, text, attachments). GET /order-notes.
Annotations the server declares
- title: List order notes
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_list_sales_ordersList the marketplace/store orders that eDesk holds, with status, items, amounts, addresses, tracking codes and the linked ticket id.No findings
Why it is in this group
- The name "edesk_list_sales_orders" says "list": a word for reading.
Description, as the server wrote it List the marketplace/store orders that eDesk holds, with status, items, amounts, addresses, tracking codes and the linked ticket id. Filter by status, channel, contact, marketplace order id, id range and created/updated dates. GET /sales-orders.
Annotations the server declares
- title: List sales orders
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_list_tag_groupsList the tag groups that organize ticket tags.No findings
Why it is in this group
- The name "edesk_list_tag_groups" says "list": a word for reading.
Description, as the server wrote it List the tag groups that organize ticket tags. GET /tag-groups.
Annotations the server declares
- title: List tag groups
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_list_tagsList ticket tags with id, name, color, active flag and tag group id.No findings
Why it is in this group
- The name "edesk_list_tags" says "list": a word for reading.
Description, as the server wrote it List ticket tags with id, name, color, active flag and tag group id. Use the ids in edesk_update_ticket (tag_ids). GET /tags.
Annotations the server declares
- title: List tags
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_list_templatesList saved reply templates (id, name, subject, body text, channels, usage).No findings
Why it is in this group
- The name "edesk_list_templates" says "list": a word for reading.
Description, as the server wrote it List saved reply templates (id, name, subject, body text, channels, usage). GET /templates.
Annotations the server declares
- title: List templates
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_list_ticketsList support tickets from all channels with subject, type, status, channel, owner, contact, linked sales order id, tag ids, message ids, reply count and AI classification.No findings
Why it is in this group
- The name "edesk_list_tickets" says "list": a word for reading.
Description, as the server wrote it List support tickets from all channels with subject, type, status, channel, owner, contact, linked sales order id, tag ids, message ids, reply count and AI classification. Filter by status, type, channel, contact, owner, sales order, seller (marketplace) order id and last-updated date. GET /tickets.
Annotations the server declares
- title: List tickets
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_list_usersList the eDesk users (support agents) with id, name, email, username, role and active flag.No findings
Why it is in this group
- The name "edesk_list_users" says "list": a word for reading.
Description, as the server wrote it List the eDesk users (support agents) with id, name, email, username, role and active flag. Use the ids as ticket owners. GET /users.
Annotations the server declares
- title: List users
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
edesk_whoamiThe eDesk user the API token belongs to: id, name, email, username, role and active flag.No findings
Why it is in this group
- The name "edesk_whoami" says "whoami": a word for reading.
Description, as the server wrote it The eDesk user the API token belongs to: id, name, email, username, role and active flag. GET /whoami.
Annotations the server declares
- title: Who am I
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.3.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http edesk https://edesk.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__edesk__edesk_whoami",
"mcp__edesk__edesk_list_users",
"mcp__edesk__edesk_list_channels",
"mcp__edesk__edesk_list_tag_groups",
"mcp__edesk__edesk_list_tags",
"mcp__edesk__edesk_list_templates",
"mcp__edesk__edesk_get_template",
"mcp__edesk__edesk_list_tickets",
"mcp__edesk__edesk_get_ticket",
"mcp__edesk__edesk_get_message",
"mcp__edesk__edesk_list_contacts",
"mcp__edesk__edesk_list_sales_orders",
"mcp__edesk__edesk_get_sales_order",
"mcp__edesk__edesk_list_order_notes"
],
"ask": [],
"deny": [
"mcp__edesk__edesk_update_ticket",
"mcp__edesk__edesk_add_ticket_note",
"mcp__edesk__edesk_reply_to_ticket",
"mcp__edesk__edesk_add_order_note"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as edesk. Review it before you use it.