osTicket MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@osTicket MCP Serverreply to ticket #204 saying we're looking into it and assign it to Sarah"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
osTicket MCP Server
Manage your osTicket helpdesk with AI — from Claude Code, Cursor, Windsurf, or any MCP client.
Talk to your helpdesk in natural language. Reply to tickets, add internal notes, assign agents, transfer departments, close tickets — all without leaving your editor.
> show me the open tickets
> reply to ticket 32 saying we're investigating the issue
> assign it to Sarah
> close all the automated notification ticketsWhy?
osTicket doesn't have a public API. This MCP server reverse-engineers the staff panel to give AI tools full access to your helpdesk — using the same session-based auth as the web UI. No API keys, no plugins, no osTicket modifications needed.
Quick Start
1. Install
npm install -g mcp-osticketOr clone and build from source:
git clone https://github.com/tecnologicachile/mcp-osticket.git
cd mcp-osticket
npm install && npm run build2. Configure
Add to your MCP client config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"osticket": {
"command": "npx",
"args": ["-y", "mcp-osticket"],
"env": {
"OSTICKET_URL": "https://helpdesk.example.com",
"OSTICKET_EMAIL": "agent@example.com",
"OSTICKET_PASSWORD": "your-password"
}
}
}
}{
"mcpServers": {
"osticket": {
"command": "mcp-osticket",
"env": {
"OSTICKET_URL": "https://helpdesk.example.com",
"OSTICKET_EMAIL": "agent@example.com",
"OSTICKET_PASSWORD": "your-password"
}
}
}
}If installed from source, use "command": "node" with "args": ["/path/to/mcp-osticket/dist/mcp-server.js"].
{
"mcpServers": {
"osticket": {
"command": "mcp-osticket",
"env": {
"OSTICKET_URL": "https://helpdesk.example.com",
"OSTICKET_EMAIL": "agent@example.com",
"OSTICKET_PASSWORD": "your-password"
}
}
}
}{
"mcpServers": {
"osticket": {
"command": "mcp-osticket",
"env": {
"OSTICKET_URL": "https://helpdesk.example.com",
"OSTICKET_EMAIL": "agent@example.com",
"OSTICKET_PASSWORD": "your-password"
}
}
}
}3. Use
Restart your editor. The tools are available immediately — just ask in natural language.
Tools
Tool | Description |
| List tickets by queue — |
| Full ticket detail with conversation thread |
| Reply to a ticket with email control ( |
| Add an internal note (not visible to the end user) |
| Change status to |
| Assign a ticket to a staff member |
| Transfer a ticket to another department |
| List available staff for assignment |
| List available departments for transfer |
| Search users by name or email |
| Get ticket counts per queue |
Reply Control
When replying, you control who gets the email:
| Behavior |
| Email all active recipients (default) |
| Email only the ticket owner |
| No email — just post the reply in the thread |
Examples
Triage your inbox:
> list open tickets and summarize them by priorityBulk operations:
> close all the automated notification tickets (ZohoMail, BaseAPI, etc.)Reply without email:
> reply to ticket 15 with "Fixed in latest deploy" but don't send an emailAssign and transfer:
> assign ticket 8 to Sarah and transfer it to the Sales departmentSearch users:
> find all users with @example.com emailsEnvironment Variables
Variable | Required | Description |
| Yes | Base URL of your osTicket instance (e.g. |
| Yes | Staff agent email for login |
| Yes | Staff agent password |
How It Works
This server authenticates as a staff agent through osTicket's web panel and operates using the same internal endpoints the browser uses:
Session auth — logs in via
/scp/login.php, maintains session cookieCSRF handling — automatically extracts and refreshes CSRF tokens
Ticket locking — acquires and releases locks for write operations (reply, note)
AJAX endpoints — uses
/scp/ajax.php/*for assign, transfer, and status changesHTML scraping — parses ticket data from the staff panel using Cheerio
No osTicket plugins, API keys, or server modifications required.
Compatibility
osTicket Version | Status |
v1.18.x | Tested |
v1.17.x | Should work (not verified) |
v1.15–1.16 | May work with minor differences |
The server adapts to dynamic form field names that osTicket generates per-session, so it should be resilient across minor versions.
Integration Tests
Run the test suite against a live osTicket instance:
OSTICKET_URL=http://localhost:8082 \
OSTICKET_EMAIL=agent@example.com \
OSTICKET_PASSWORD=secret \
npx tsx src/test-integration.tsContributing
PRs welcome. The main files:
src/mcp-server.ts— MCP tool definitionssrc/osticket-client.ts— osTicket HTTP client (session, scraping, AJAX)src/test-integration.ts— integration tests against a live instance
License
MIT
This server cannot be deployed
Related MCP Connectors
Read tickets, contacts, companies, agents and groups; create, update and reply to tickets.
AI-native helpdesk hosted in Germany: tickets, replies, KPIs and knowledge base over MCP.
Connect any AI assistant to Syncro: manage tickets, invoices, customers, assets, and more.
Run AI customer support from your terminal: conversations, knowledge base, and chat widget.