osTicket MCP Server: Usage
Practical examples for the osTicket MCP Server: requests in natural language and the matching tool calls for searching, creating with an attachment, changing, notes and subtickets.
osTicket MCP Server: Usage
This documentation always describes the latest published version.
You phrase requests in plain language. Claude picks the right tool and fills in the parameters. This page shows typical requests and the calls behind them. All parameters are listed on the page Tools.
Requests
| Request | Tool |
|---|---|
| Show me the open tickets | osticket_list_tickets with status: "open" |
| Search tickets about dashboard widget | osticket_search_tickets |
| Get ticket 680284 with all messages | osticket_get_ticket |
| How many tickets are overdue? | osticket_get_stats |
| Create a ticket for this bug | osticket_create_ticket |
| Set ticket 680284 to Closed | osticket_update_ticket |
| Write a note on ticket 680284 | osticket_update_ticket with note |
| Show the subtickets of 680284 | osticket_get_child_tickets |
Find and close a ticket
{ "query": "Dashboard Widget", "limit": 10 }
With the number from the result you fetch the ticket and close it:
{ "number": "680284", "statusId": "Closed", "note": "Fixed and deployed." }
The status name must match a status of your osTicket instance, case does not matter. If you know the ID, pass it as a number.
Create a ticket with project context and attachment
{
"subject": "Payment calculation returns wrong total",
"message": "## Problem\n\nThe total is wrong when discount codes are used.",
"projectContext": "invoice-management",
"attachments": [{ "path": "/tmp/screenshot.png" }]
}
The ticket starts with the line **Projekt:** invoice-management. The message is sent as Markdown unless you pass a format. Whether osTicket renders Markdown depends on the plugins of the instance, such as Markdown Support.
Name and email address come from OSTICKET_DEFAULT_NAME and OSTICKET_DEFAULT_EMAIL when you do not pass them.
Change properties
{
"number": "680284",
"departmentId": 5,
"staffId": 3,
"dueDate": "2026-03-15"
}
You pass department, staff member, help topic and SLA as an ID. You can find the IDs in the osTicket admin panel or in a fetched ticket (departmentId, staffId).
Attach a file to a note
{
"number": "680284",
"note": "The audit report is attached.",
"noteTitle": "Audit",
"attachments": [{ "path": "/tmp/audit.pdf" }]
}
Attachments always belong to the note. Without note the tool rejects the call.
Download a ticket attachment
- Fetch the ticket with
osticket_get_ticket. - Find the thread entry with the attachment in the thread and take its
file_id. - Call
osticket_download_attachmentwith thatfile_id.
The response names the path of the saved file in the temporary directory.
Manage subtickets
{ "parentNumber": "680284", "childNumber": "680290" }
This is the call for osticket_create_subticket_link. A ticket can only have one parent. With osticket_unlink_subticket and the child number you remove the link again.