Enchant MCP by usefulapi

io.usefulapi/enchant

Work with Enchant help desk tickets: list, read, reply, add notes and labels, manage customers.

Yes, your AI can use this right now.Answered a live MCP handshake in 154 ms with no sign-in needed and exposes 16 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://enchant.usefulapi.io/mcp

16 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
enchant_list_ticketsread-only

List and filter tickets (newest first by default). Enchant REST: GET /tickets. Use user_ids ["null"] for unassigned tickets. Each result has a short summary; use enchant_get_ticket for messages.

enchant_get_ticketread-only

Get one ticket by id. Embed related data with `embed`: messages (the conversation: replies and notes), customer, user, inbox, labels. Each embedded type costs 1 extra rate-limit credit. Enchant REST: GET /tickets/{id}.

enchant_list_usersread-only

List the help desk users (agents): id, name, email. Use the ids to assign tickets and to author replies and notes. Enchant REST: GET /users.

enchant_list_customersread-only

List customers, or find one by contact: set contact_type and contact_value (for example email + an address). Enchant REST: GET /customers.

enchant_get_customerread-only

Get one customer by id, with the contacts (emails, phones, Twitter names). Enchant REST: GET /customers/{id}.

enchant_get_attachmentread-only

Get the metadata of an attachment (name, size, MIME type) by id; attachment ids appear in ticket messages. Enchant REST: GET /attachments/{id}.

enchant_create_ticketcan modify

WRITE: create an email ticket. Give customer_id, or a customer (matched by contact email, created if new). Optionally add the customer's first message with body (needs the customer's email). Enchant REST: POST /tickets.

enchant_update_ticketcan modify

WRITE: change a ticket: state (open, hold, closed), assignee, inbox, subject, spam or trash (not both true). label_ids REPLACES all labels (empty array clears them); use enchant_add_ticket_labels to keep existing ones. Enchant REST: PATCH /tickets/{id}.

enchant_add_ticket_labelscan modify

WRITE: add one or more labels to a ticket without changing its other labels. Enchant REST: PUT /tickets/{id}/labels/{label_ids}.

enchant_remove_ticket_labelscan modify

WRITE: remove one or more labels from a ticket; its other labels stay. Enchant REST: DELETE /tickets/{id}/labels/{label_ids}.

enchant_reply_to_ticketcan modify

WRITE: send an outbound reply on a ticket. This SENDS A REAL EMAIL to the customer address in `to`. Use enchant_add_note for an internal note. Enchant REST: POST /tickets/{id}/messages (type reply, direction out).

enchant_add_notecan modify

WRITE: add an internal note to a ticket (not sent to the customer). Enchant REST: POST /tickets/{id}/messages (type note).

enchant_create_customercan modify

WRITE: create a customer with optional contacts (email, twitter, phone). Enchant REST: POST /customers.

enchant_update_customercan modify

WRITE: update a customer's name or summary. If `contacts` is given, it REPLACES the contact list; use enchant_add_customer_contact to add one. Enchant REST: PATCH /customers/{id}.

enchant_add_customer_contactcan modify

WRITE: add one contact (email, twitter or phone) to a customer. Enchant REST: POST /customers/{id}/contacts.

enchant_delete_customer_contactcan modify

WRITE, DELETES DATA: remove one contact from a customer. Enchant REST: DELETE /customers/{id}/contacts/{contact_id}.

Alternatives in Productivity

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”