OTRS MCP Server
About
A Model Context Protocol (MCP) server for OTRS (Open Ticket Request System) API integration. It provides standardized MCP interfaces for ticket management, configuration items, and other OTRS functionality, enabling AI assistants to create, search, and manage tickets and…
Details
- License
- Apache-2.0 license
Explore
- [x] Create, read, update, and search tickets
- [x] Access ticket history and detailed information
- [x] Manage configuration items (CMDB)
- [x] Session management and authentication
- [x] Configurable default values for tickets
- [x] Docker containerization support
- [x] SSL/TLS support with certificate verification options
- [x] Provide interactive tools for AI assistants
The list of tools is configurable, so you can choose which tools you want to make available to the MCP client.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
OTRS MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
1. GitHub Account with a repository for this project
2. GitHub Personal Access Token with write:packages permission
3. Docker installed locally
Before using this MCP server, you need to configure your OTRS instance:
1. Navigate to: System Administration → Web Services
2. Create or verify you have a webservice (e.g., "TestInterface") with these operations:
- ✅ SessionCreate
- ✅ TicketCreate
- ✅ TicketGet
- ✅ TicketSearch
- ✅ TicketUpdate
- ✅ TicketHistoryGet
- ✅ ConfigItemGet
- ✅ ConfigItemSearch
Alternatively, you can run the server directly using UV. First, set your environment variables:
export OTRS_BASE_URL="https://your-otrs-server/otrs/nph-genericinterface.pl/Webservice/TestInterface"
export OTRS_USERNAME="your-username"
export OTRS_PASSWORD="your-password"
export OTRS_VERIFY_SSL="false"
export OTRS_DEFAULT_QUEUE="Raw"
export OTRS_DEFAULT_STATE="new"
export OTRS_DEFAULT_PRIORITY="3 normal"
export OTRS_DEFAULT_TYPE="Unclassified"
Then edit your Claude Desktop config file and add the server configuration:
{
"mcpServers": {
"otrs": {
"command": "uv",
"args": [
"--directory",
"<full path to otrs-mcp-server directory>",
"run",
"src/otrs_mcp/main.py"
],
"env": {
"OTRS_BASE_URL": "https://your-otrs-server/otrs/nph-genericinterface.pl/Webservice/TestInterface",
"OTRS_USERNAME": "your-username",
"OTRS_PASSWORD": "your-password",
"OTRS_VERIFY_SSL": "false"
}
}
}
}
> Note: if you see Error: spawn uv ENOENT in Claude Desktop, you may need to specify the full path to uv or set the environment variable NO_UV=1 in the configuration.
| Variable | Required | Default | Description |
| ----------------------- | -------- | -------------- | ----------------------------------- |
| OTRS_BASE_URL | ✅ | - | Base URL for OTRS webservice |
| OTRS_USERNAME | ✅ | - | OTRS username |
| OTRS_PASSWORD | ✅ | - | OTRS password |
| OTRS_VERIFY_SSL | ❌ | false | Enable SSL certificate verification |
| OTRS_DEFAULT_QUEUE | ❌ | Raw | Default queue for new tickets |
| OTRS_DEFAULT_STATE | ❌ | new | Default state for new tickets |
| OTRS_DEFAULT_PRIORITY | ❌ | 3 normal | Default priority for new tickets |
| OTRS_DEFAULT_TYPE | ❌ | Unclassified | Default type for new tickets |
export OTRS_BASE_URL="https://your-otrs-server/otrs/nph-genericinterface.pl/Webservice/TestInterface"
export OTRS_USERNAME="your-username"
export OTRS_PASSWORD="your-password"
export OTRS_VERIFY_SSL="false"
uv pip install -e ".[dev]"
- get_config_item - Get detailed information about a configuration item
- search_config_items - Search for configuration items
For reference, here's a working configuration example:
```bash
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"otrs mcp server": {
"otrs-mcp-server": {
"command": "docker",
"args": [
"build",
"-t",
"otrs-mcp-server",
"."
]
}
}
}
}
McpServers
{
"otrs-mcp-server": {
"command": "docker",
"args": [
"build",
"-t",
"otrs-mcp-server",
"."
]
}
}
A [Model Context Protocol][mcp] (MCP) server for OTRS (Open Ticket Request System) API integration.
This provides access to OTRS ticket management, configuration items, and other OTRS functionality through standardized MCP interfaces, allowing AI assistants to create, search, and manage tickets and configuration items.
[mcp]: https://modelcontextprotocol.io/introduction/introduction
Features
- [x] Create, read, update, and search tickets
- [x] Access ticket history and detailed information
- [x] Manage configuration items (CMDB)
- [x] Session management and authentication
- [x] Configurable default values for tickets
- [x] Docker containerization support
- [x] SSL/TLS support with certificate verification options
- [x] Provide interactive tools for AI assistants
The list of tools is configurable, so you can choose which tools you want to make available to the MCP client.
Prerequisites
OTRS Server Configuration
Before using this MCP server, you need to configure your OTRS instance:
Step 1: Access OTRS Admin Panel
- URL: https://your-otrs-server/otrs/index.pl?Action=Admin
- Login with your admin credentials
Step 2: Configure Web Services
1. Navigate to: System Administration → Web Services
2. Create or verify you have a webservice (e.g., "TestInterface") with these operations:
- ✅ SessionCreate
- ✅ TicketCreate
- ✅ TicketGet
- ✅ TicketSearch
- ✅ TicketUpdate
- ✅ TicketHistoryGet
- ✅ ConfigItemGet
- ✅ ConfigItemSearch
Step 3: Note Your Webservice URL
Your webservice URL should look like:
https://your-otrs-server/otrs/nph-genericinterface.pl/Webservice/YourWebserviceName
Step 4: Ensure User Permissions
Make sure your OTRS user has appropriate permissions for:
- Creating and updating tickets
- Accessing configuration items
- Using the Generic Interface
Usage
Docker (Recommended)
The easiest way to run otrs-mcp with Claude Desktop is using Docker. If you don't have Docker installed, you can get it from Docker's official website.
Using Pre-built Image
You can use the pre-built Docker image from GitHub Container Registry:
{
"mcpServers": {
"otrs": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"OTRS_BASE_URL=https://your-otrs-server/otrs/nph-genericinterface.pl/Webservice/TestInterface",
"-e",
"OTRS_USERNAME=your-username",
"-e",
"OTRS_PASSWORD=your-password",
"-e",
"OTRS_VERIFY_SSL=false",
"-e",
"OTRS_DEFAULT_QUEUE=Raw",
"-e",
"OTRS_DEFAULT_STATE=new",
"-e",
"OTRS_DEFAULT_PRIORITY=3 normal",
"ghcr.io/yourusername/otrs-mcp-server:latest"
]
}
}
}
Building Locally
If you prefer to build the image locally:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



