# FuseDesk — how to use (mcp.ai)

Connect your FuseDesk account and use 27 tools for customer support straight from your AI agent. Connect with your own API key. FuseDesk is a customer support platform for managing cases, email conversations, contacts, departments, representatives, chats, and webhooks.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_fusedesk?ms=1787298840000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `fusedesk_add_case_note`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/fusedesk`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/fusedesk/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/fusedesk/add/case/note` — Add an internal note or call record to a case and optionally change its status.
  - body: { note: string, title: string, rep_id?: integer, status?: string, case_id: integer, record_type: string, template_id?: integer }
- `POST https://api.mcp.ai/api/fusedesk/bulk/merge/cases` — Irreversibly merge multiple FuseDesk cases. This cannot be undone; call only after the user explicitly requests a merge and verifies every case ID.
  - body: { case_ids: integer[] }
- `POST https://api.mcp.ai/api/fusedesk/bulk/update/cases` — Apply an assignment, department, status, tag, CRM automation, CRM tag, or snooze operation to multiple FuseDesk cases.
  - body: { status?: string, rep_ids?: integer[], tag_ids?: integer[], case_ids: integer[], crm_tag_id?: integer, snooze_until?: string, department_ids?: integer[], crm_automation_id?: integer }
- `POST https://api.mcp.ai/api/fusedesk/change/case/tag` — Apply or remove one existing case tag from one FuseDesk case.
  - body: { case_id: integer, operation: string, case_tag_id: integer }
- `POST https://api.mcp.ai/api/fusedesk/close/chat` — Irreversibly close a FuseDesk chat and end the live conversation. This cannot be undone. Supplying rep_id, department_id, or case_status may also create and assign a new support case from the chat.
  - body: { rep_id?: integer, chat_id: string, case_status?: string, department_id?: integer }
- `POST https://api.mcp.ai/api/fusedesk/create/case` — Open a support case for a customer in a FuseDesk department.
  - body: { rep_id?: integer, status?: string, details: string, summary: string, opened_by: string, company_id?: integer, contact_id?: integer, date_opened?: string, case_tag_ids?: integer[], contact_uuid?: string, date_assigned?: string, department_id: integer }
- `POST https://api.mcp.ai/api/fusedesk/create/case/tag` — Create a reusable FuseDesk case tag.
  - body: { tag_name: string }
- `POST https://api.mcp.ai/api/fusedesk/create/contact` — Create a FuseDesk contact. FuseDesk also links the new contact to a matching contact in the connected CRM, or creates that CRM contact when no match exists.
  - body: { company?: string, phone_1?: string, phone_2?: string, website?: string, last_name?: string, time_zone?: string, first_name?: string, email_address?: string, billing_address?: object, email_address_2?: string, email_address_3?: string, phone_extension_1?: string, phone_extension_2?: string }
- `POST https://api.mcp.ai/api/fusedesk/get/case` — Get one FuseDesk support case and its complete history by case ID.
  - body: { case_id: integer }
- `POST https://api.mcp.ai/api/fusedesk/get/chat` — Get one FuseDesk chat and its complete message history by chat UUID.
  - body: { chat_id: string }
- `POST https://api.mcp.ai/api/fusedesk/get/contact` — Get a FuseDesk contact by UUID, including current data from its linked CRM contact.
  - body: { contact_id: string }
- `POST https://api.mcp.ai/api/fusedesk/get/department` — Get a FuseDesk department's assignment, template, staleness, feedback, phone, and archive settings by department ID.
  - body: { department_id: integer }
- `POST https://api.mcp.ai/api/fusedesk/get/email` — Get one FuseDesk email by its numeric ID, including its complete body.
  - body: { email_id: integer }
- `POST https://api.mcp.ai/api/fusedesk/get/rep` — Get a FuseDesk rep's detailed profile, permissions, and signatures.
  - body: { user_id: integer }
- `POST https://api.mcp.ai/api/fusedesk/list/case/tags` — List available FuseDesk case tags and their case counts.
- `POST https://api.mcp.ai/api/fusedesk/list/chats` — List active FuseDesk chats across connected chat platforms, including assignment links, recent-message context, and lifecycle state.
- `POST https://api.mcp.ai/api/fusedesk/list/departments` — List active, archived, or all FuseDesk departments using the current v2 representation.
  - body: { state?: string }
- `POST https://api.mcp.ai/api/fusedesk/list/reps` — List active and disabled FuseDesk reps for assignment and ownership decisions.
- `POST https://api.mcp.ai/api/fusedesk/list/webhooks` — List configured FuseDesk webhook subscriptions.
- `POST https://api.mcp.ai/api/fusedesk/reply/to/case` — Send an external email reply on a FuseDesk case using supplied content or an existing reply template. This immediately emails the resolved recipients.
  - body: { cc?: string, to?: string, bcc?: string, case_id: integer, html_body?: string, text_body?: string, template_id?: integer, from_address?: string }
- `POST https://api.mcp.ai/api/fusedesk/search/cases` — Search support cases by customer, assignment, status, text, and lifecycle dates, returning one controllable page.
  - body: { email?: string, limit?: integer, sender?: string, rep_ids?: integer[], subject?: string, order_by?: string[], statuses?: string[], company_id?: integer, contact_id?: integer, date_closed?: string, date_opened?: string, next_cursor?: string, contact_uuid?: string, date_updated?: string, date_assigned?: string, department_ids?: integer[], creator_rep_ids?: integer[], date_first_response?: string }
- `POST https://api.mcp.ai/api/fusedesk/search/contacts` — Search FuseDesk and linked CRM contacts by required text. The connected API key must include FuseDesk's View Contacts permission.
  - body: { search: string }
- `POST https://api.mcp.ai/api/fusedesk/search/emails` — Search all or only unassigned FuseDesk emails, returning one controllable page with optionally truncated bodies.
  - body: { limit?: integer, case_id?: integer, content?: string, mailbox?: string, subject?: string, order_by?: string, body_limit?: integer|string, case_number?: string, next_cursor?: string, from_address?: string }
- `POST https://api.mcp.ai/api/fusedesk/snooze/case` — Snooze a case until an absolute date/time or FuseDesk relative-time expression.
  - body: { until: string, case_id: integer }
- `POST https://api.mcp.ai/api/fusedesk/update/case` — Change a case's content, customer link, assignment, department, or status. Provide at least one field to update.
  - body: { rep_id?: integer, status?: string, case_id: integer, details?: string, summary?: string, company_id?: integer, contact_id?: integer, contact_uuid?: string, department_id?: integer }
- `POST https://api.mcp.ai/api/fusedesk/update/chat` — Rename, transfer, relink, or mark a live FuseDesk chat seen or unseen. Provide at least one field to update.
  - body: { title?: string, rep_id?: integer, case_id?: integer, chat_id: string, client_name?: string, contact_uuid?: string, unseen_count?: integer, department_id?: integer }
- `POST https://api.mcp.ai/api/fusedesk/update/contact` — Update a FuseDesk contact. Warning: FuseDesk also updates the linked CRM contact, so confirm that both records should change before calling this tool. Provide at least one contact field or non-empty b
  - body: { company?: string, phone_1?: string, phone_2?: string, website?: string, last_name?: string, time_zone?: string, contact_id: string, first_name?: string, email_address?: string, billing_address?: object, email_address_2?: string, email_address_3?: string, phone_extension_1?: string, phone_extension_2?: string }

## Example prompts
- "What can I do in FuseDesk?"
- "Show me a summary of my FuseDesk account"

## More
- Page: https://mcp.ai/fusedesk
- Agent spec (llms.txt): https://mcp.ai/fusedesk/llms.txt
- Postman collection: https://mcp.ai/fusedesk/postman.json
