# Onedesk — MCP server on mcp.ai > Connect your Onedesk account and use 24 tools for customer support straight from your AI agent. Connect with your own API key. OneDesk is an all-in-one platform combining help desk and project management functionalities, enabling teams to manage customer support and project tasks seamlessly. By: mcp.ai · official Page: https://mcp.ai/onedesk ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_onedesk?ms=1787293620000 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/onedesk/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/onedesk/ 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/onedesk/skill.md Postman collection (v2.1): https://mcp.ai/onedesk/postman.json ## Tools - onedesk_create_worklog(works?: number, item_id: integer, billable?: boolean, comments?: string, date_start: string, percentage?: number, date_finish: string, lifecycle_status_id?: integer) — Create a worklog entry to track time spent on a work item (task, ticket, project, etc.). Records the start and finish time, work hours, completion percentage, and billability. Use this after obtaining - onedesk_delete_attachment(attachment_id: integer) — Delete a specific attachment from OneDesk by its ID. To use this tool, provide the attachment_id. Note that the OneDesk Public API has limited attachment management capabilities. Attachments are typic - onedesk_delete_comment(comment_id: integer) — Deletes a comment from OneDesk by its ID. Use this tool to permanently remove a comment when it's no longer needed. Note: OneDesk's Public API has limited DELETE support for comments. This action trie - onedesk_delete_customer(customer_id: string) — Deletes a customer from OneDesk using the DELETE /customers/{id} endpoint. This action permanently removes the customer record from the OneDesk account. Returns: - success=true: Customer was successfu - onedesk_delete_message(message_id: integer) — Deletes a message from OneDesk by its unique message ID. Returns success if the message is deleted or doesn't exist (idempotent operation). Use this when you need to permanently remove a message from - onedesk_delete_project(project_id: integer) — Delete a project in OneDesk by its ID. **API LIMITATION**: The OneDesk Public API does not support DELETE operations. DELETE requests return 405 Method Not Allowed on /rest/public/items endpoints. The - onedesk_delete_requirement(requirement_id: integer) — Delete a requirement from OneDesk. Requirements in OneDesk are work items used for product development, feature requests, and specifications. They are one of the core work item types (tickets, tasks, - onedesk_delete_task(task_id: integer) — Tool to delete a specific task. Use when you need to remove an existing task by its ID after confirming its details. - onedesk_delete_ticket(ticket_id: integer) — Deletes a ticket from OneDesk by its internal ID. Use this tool to permanently remove a ticket when it's no longer needed. The ticket will be moved to the 'Deleted Items' project and scheduled for per - onedesk_delete_timesheet(timesheet_id: integer) — Tool to delete a timesheet by its ID. Use when you need to remove a specific timesheet after confirming it's no longer needed. Example: {'timesheet_id': 123} - onedesk_delete_user(user_id: string) — Deletes a user from OneDesk by their unique user ID. This action permanently removes the specified user from the OneDesk account. Use this only after confirming the user should be removed from the sys - onedesk_get_attachments(external_id: string) — Retrieve attachments for a specific item by its external ID. IMPORTANT: The OneDesk Public API (/rest/public) has limited functionality and does NOT provide: - A dedicated attachments list endpoint - - onedesk_get_comment_details(comment_id: integer) — Retrieve detailed information for a specific comment by its ID. This action attempts to fetch comment details from OneDesk using the comment ID. It tries multiple endpoint patterns to maximize compati - onedesk_get_comments(item_id?: integer) — Attempts to retrieve comments (discussion posts) from OneDesk. **IMPORTANT LIMITATION**: The OneDesk Public REST API does not provide an endpoint to list or retrieve comments. According to OneDesk's A - onedesk_get_feedback(page?: integer, per_page?: integer) — Retrieve all feedback items from OneDesk. **IMPORTANT LIMITATION**: The OneDesk Public API does not provide a GET endpoint to list feedback items. The public API only supports: - Creating items via PO - onedesk_get_feedback_details(feedback_id: integer) — Retrieve detailed information about a specific item in OneDesk by its internal ID. This endpoint retrieves ANY type of item (Tickets, Tasks, Feedback, etc.), not just feedback items. Use this action w - onedesk_get_issue_details(issue_id: integer) — Retrieve comprehensive details of a specific issue by its ID. This action fetches full information about an issue including its title, description, status, priority, creation/update timestamps, and ot - onedesk_get_issues() — Retrieve a list of issues from OneDesk. **API LIMITATION**: The OneDesk Public API does not provide an endpoint to list or retrieve issues. The public API only supports: 1. Creating items via POST /re - onedesk_get_messages(limit?: integer, offset?: integer, search?: string, direction?: string, ticket_id?: integer, contact_id?: integer) — Tool to retrieve a list of messages from OneDesk. **IMPORTANT LIMITATION**: The OneDesk Public API does not provide an endpoint to list or retrieve messages. The public API only supports: 1. Creating - onedesk_get_requirements() — Retrieve a list of requirements from OneDesk. **IMPORTANT LIMITATION**: This action cannot function as intended because the OneDesk Public API does not provide an endpoint to list or retrieve requirem - onedesk_get_task_details(task_id: integer) — Retrieves comprehensive details of a specific task/item in OneDesk by its ID. Use this tool when you need complete information about a task including its title, description, status, assignee, priority - onedesk_get_tickets(end_id?: integer, start_id?: integer, max_tickets?: integer) — Retrieve tickets from OneDesk by querying a range of item IDs. **API LIMITATION WORKAROUND**: The OneDesk Public API does not provide a direct endpoint to list all tickets. This action works around th - onedesk_get_timesheet_details(timesheet_id: integer) — Tool to retrieve details of a specific timesheet entry. Use when you have the `timesheet_id` and need full metadata (user, project, hours, dates). Tries multiple endpoint/header variants and gracefull - onedesk_get_worklogs(limit?: integer, offset?: integer, to_date?: string, user_id?: string, from_date?: string, object_id?: string) — Retrieve a list of worklogs from OneDesk with optional filtering and pagination. This action attempts to list worklogs by trying multiple candidate endpoints and parameter formats. Note: The OneDesk P ## Example prompts - "What can I do in Onedesk?" - "Show me a summary of my Onedesk account" ## Links Docs: https://mcp.ai/docs/mcps/onedesk Website: https://mcp.ai/mcps/onedesk