OTRS MCP Server

by spoonbobo

381 downloads Not rated yet Apache-2.0 license
GitHub

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name OTRS MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.