# FuseDesk — MCP server on 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. By: mcp.ai · official Page: https://mcp.ai/fusedesk ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_fusedesk?ms=1787298900000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/fusedesk/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/fusedesk/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/fusedesk/skill.md Postman collection (v2.1): https://mcp.ai/fusedesk/postman.json ## Tools - fusedesk_add_case_note(note: string, title: string, rep_id?: integer, status?: string, case_id: integer, record_type: string, template_id?: integer) — Add an internal note or call record to a case and optionally change its status. - fusedesk_bulk_merge_cases(case_ids: integer[]) — Irreversibly merge multiple FuseDesk cases. This cannot be undone; call only after the user explicitly requests a merge and verifies every case ID. - fusedesk_bulk_update_cases(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) — Apply an assignment, department, status, tag, CRM automation, CRM tag, or snooze operation to multiple FuseDesk cases. - fusedesk_change_case_tag(case_id: integer, operation: string, case_tag_id: integer) — Apply or remove one existing case tag from one FuseDesk case. - fusedesk_close_chat(rep_id?: integer, chat_id: string, case_status?: string, department_id?: integer) — 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. - fusedesk_create_case(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) — Open a support case for a customer in a FuseDesk department. - fusedesk_create_case_tag(tag_name: string) — Create a reusable FuseDesk case tag. - fusedesk_create_contact(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) — 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. - fusedesk_get_case(case_id: integer) — Get one FuseDesk support case and its complete history by case ID. - fusedesk_get_chat(chat_id: string) — Get one FuseDesk chat and its complete message history by chat UUID. - fusedesk_get_contact(contact_id: string) — Get a FuseDesk contact by UUID, including current data from its linked CRM contact. - fusedesk_get_department(department_id: integer) — Get a FuseDesk department's assignment, template, staleness, feedback, phone, and archive settings by department ID. - fusedesk_get_email(email_id: integer) — Get one FuseDesk email by its numeric ID, including its complete body. - fusedesk_get_rep(user_id: integer) — Get a FuseDesk rep's detailed profile, permissions, and signatures. - fusedesk_list_case_tags() — List available FuseDesk case tags and their case counts. - fusedesk_list_chats() — List active FuseDesk chats across connected chat platforms, including assignment links, recent-message context, and lifecycle state. - fusedesk_list_departments(state?: string) — List active, archived, or all FuseDesk departments using the current v2 representation. - fusedesk_list_reps() — List active and disabled FuseDesk reps for assignment and ownership decisions. - fusedesk_list_webhooks() — List configured FuseDesk webhook subscriptions. - fusedesk_reply_to_case(cc?: string, to?: string, bcc?: string, case_id: integer, html_body?: string, text_body?: string, template_id?: integer, from_address?: string) — Send an external email reply on a FuseDesk case using supplied content or an existing reply template. This immediately emails the resolved recipients. - fusedesk_search_cases(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) — Search support cases by customer, assignment, status, text, and lifecycle dates, returning one controllable page. - fusedesk_search_contacts(search: string) — Search FuseDesk and linked CRM contacts by required text. The connected API key must include FuseDesk's View Contacts permission. - fusedesk_search_emails(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) — Search all or only unassigned FuseDesk emails, returning one controllable page with optionally truncated bodies. - fusedesk_snooze_case(until: string, case_id: integer) — Snooze a case until an absolute date/time or FuseDesk relative-time expression. - fusedesk_update_case(rep_id?: integer, status?: string, case_id: integer, details?: string, summary?: string, company_id?: integer, contact_id?: integer, contact_uuid?: string, department_id?: integer) — Change a case's content, customer link, assignment, department, or status. Provide at least one field to update. - fusedesk_update_chat(title?: string, rep_id?: integer, case_id?: integer, chat_id: string, client_name?: string, contact_uuid?: string, unseen_count?: integer, department_id?: integer) — Rename, transfer, relink, or mark a live FuseDesk chat seen or unseen. Provide at least one field to update. - fusedesk_update_contact(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) — 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 ## Example prompts - "What can I do in FuseDesk?" - "Show me a summary of my FuseDesk account" ## Links Docs: https://mcp.ai/docs/mcps/fusedesk Website: https://mcp.ai/mcps/fusedesk