osTicket MCP Server: Installation
Install the osTicket MCP Server: prepare plugins and API key in osTicket, clone and build the server, create the .env file, register it in the MCP client, update and remove.
osTicket MCP Server: Installation
This documentation always describes the latest published version.
Prerequisites
| Prerequisite | Note |
|---|---|
| Node.js 18 or higher | engines in package.json requires >=18.0.0 |
| npm | To install dependencies and to build |
| osTicket with the REST API enabled | According to their documentation, the plugins below run on osTicket 1.18.x |
| Plugin API Endpoints | Provides the endpoints for reading, searching, changing, deleting, statistics, attachment download and subtickets |
| Plugin API Key Wildcard | Provides the endpoint /api/wildcard/tickets.json, which the tool osticket_create_ticket always calls |
| Plugin Subticket Manager | Only for the four subticket tools |
Step 1: Prepare osTicket
- Install and enable the plugins from the table above. Each plugin page has its own instructions.
- Create an API key in the osTicket admin panel. For ticket creation the normal osTicket rules for keys apply: the key must be active and match the IP address the MCP server sends its requests from.
- Open Admin Panel → Manage → Plugins → API Endpoints → Configure and enable the permissions you need for the key. The page Tools lists which tool needs which permission.
The wildcard endpoint also accepts keys with the IP 0.0.0.0 from any source IP. According to the plugin documentation this is meant for development environments only. Bind production keys to the fixed IP of the machine that runs the MCP server.
Step 2: Download and build the server
The server reads its .env file from the fixed path ~/.claude/mcp-servers/osticket/.env and writes its log file to ~/.claude/mcp-servers/osticket/logs/server.log. Clone the repository into that directory.
git clone https://github.com/markus-michalski/claude-mcp-osTicket.git ~/.claude/mcp-servers/osticket
cd ~/.claude/mcp-servers/osticket
npm install
npm run build
npm run build compiles the TypeScript sources to dist/. The entry point is dist/index.js.
Step 3: Create the configuration file
cp .env.example .env
Fill in at least OSTICKET_API_URL and OSTICKET_API_KEY. All variables are listed on the page Configuration.
OSTICKET_API_URL=https://tickets.example.com
OSTICKET_API_KEY=your-api-key
If the directory lives elsewhere, the server only finds the
.envfile when it sits in the working directory of the process. It is more reliable then to pass the variables throughenvin the MCP client.
Step 4: Register it in the MCP client
The server is a stdio server. The client starts it with the command node and the path to dist/index.js. In Claude Code, for example:
claude mcp add -s user osticket node ~/.claude/mcp-servers/osticket/dist/index.js
Alternatively, add the server to your client's MCP configuration:
{
"mcpServers": {
"osticket": {
"type": "stdio",
"command": "node",
"args": ["/home/your-name/.claude/mcp-servers/osticket/dist/index.js"]
}
}
}
Restart the client afterwards. On startup the server runs a health check against /api/tickets-stats.php. If it fails, the server writes a warning to the log and keeps running.
Update
cd ~/.claude/mcp-servers/osticket
git pull
npm install
npm run build
Restart the MCP client afterwards so it loads the new build.
Removal
- Remove the
osticketentry from the MCP configuration, in Claude Code withclaude mcp remove osticket. - Delete the directory
~/.claude/mcp-servers/osticket. It also contains.envand the log files. - Disable or delete the API key in osTicket that the server used.