OTRS MCP Server
OTRS MCP Server
Ein Model Context Protocol-Server (MCP) für die OTRS-API-Integration (Open Ticket Request System).
Dies bietet Zugriff auf die OTRS-Ticketverwaltung über standardisierte MCP-Schnittstellen und ermöglicht es KI-Assistenten, Tickets zu erstellen, zu suchen und zu verwalten.
Funktionen
Tickets erstellen, lesen, aktualisieren und suchen
Zugriff auf Ticketverlauf und detaillierte Informationen
Konfigurierbare Standardwerte für Tickets
Unterstützung für Docker-Containerisierung
SSL/TLS-Unterstützung mit Optionen zur Zertifikatsprüfung
Bereitstellung interaktiver Tools für KI-Assistenten
Die Liste der Tools ist konfigurierbar, sodass Sie auswählen können, welche Tools Sie dem MCP-Client zur Verfügung stellen möchten.
Related MCP server: tickiti-mcp
Voraussetzungen
OTRS-Serverkonfiguration
Bevor Sie diesen MCP-Server verwenden, müssen Sie Ihre OTRS-Instanz konfigurieren:
Schritt 1: OTRS-Admin-Panel aufrufen
URL:
https://your-otrs-server/otrs/index.pl?Action=AdminMelden Sie sich mit Ihren Admin-Zugangsdaten an
Schritt 2: Web Services konfigurieren
Navigieren Sie zu: Systemadministration → Web Services
Erstellen Sie einen Webservice (z. B. „TestInterface") oder verifizieren Sie, dass Sie einen mit den folgenden Operationen haben:
✅ SessionCreate
✅ TicketCreate
✅ TicketGet
✅ TicketSearch
✅ TicketUpdate
✅ TicketHistoryGet
Schritt 3: Notieren Sie Ihre Webservice-URL
Ihre Webservice-URL sollte wie folgt aussehen:
https://your-otrs-server/otrs/nph-genericinterface.pl/Webservice/YourWebserviceName
Schritt 4: Benutzerberechtigungen sicherstellen
Stellen Sie sicher, dass Ihr OTRS-Benutzer über entsprechende Berechtigungen verfügt für:
Erstellen und Aktualisieren von Tickets
Zugriff auf Konfigurationselemente
Verwendung der Generic Interface
Verwendung
Docker (empfohlen)
Der einfachste Weg, otrs-mcp mit Claude Desktop auszuführen, ist Docker. Wenn Sie Docker nicht installiert haben, können Sie es von der offiziellen Docker-Website herunterladen.
Verwendung des vorgefertigten Images
Sie können das vorgefertigte Docker-Image aus dem GitHub Container Registry verwenden:
{
"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/eduardoantoniojunior/otrs-mcp-server:latest"
]
}
}
}Lokales Erstellen
Wenn Sie das Image lieber lokal erstellen möchten:
# Clone the repository
git clone https://github.com/eduardoantoniojunior/otrs-mcp-server.git
cd otrs-mcp-server
# Build the Docker image
docker build -t otrs-mcp-server .
# Run the container
docker 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" \
otrs-mcp-serverAusführung mit UV
Alternativ können Sie den Server direkt mit UV ausführen. Setzen Sie zunächst Ihre Umgebungsvariablen:
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"Bearbeiten Sie dann Ihre Claude-Desktop-Konfigurationsdatei und fügen Sie die Serverkonfiguration hinzu:
{
"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"
}
}
}
}Hinweis: Wenn Sie
Error: spawn uv ENOENTin Claude Desktop sehen, müssen Sie möglicherweise den vollständigen Pfad zuuvangeben oder die UmgebungsvariableNO_UV=1in der Konfiguration setzen.
Umgebungsvariablen
Variable | Erforderlich | Standard | Beschreibung |
| ✅ | - | Basis-URL für den OTRS-Webservice |
| ✅ | - | OTRS-Benutzername |
| ✅ | - | OTRS-Passwort |
| ❌ |
| SSL-Zertifikatsprüfung aktivieren |
| ❌ |
| Standard-Warteschlange für neue Tickets |
| ❌ |
| Standardstatus für neue Tickets |
| ❌ |
| Standardpriorität für neue Tickets |
| ❌ |
| Standardtyp für neue Tickets |
Entwicklung
Beiträge sind willkommen! Bitte öffnen Sie ein Issue oder reichen Sie einen Pull Request ein, wenn Sie Vorschläge oder Verbesserungen haben.
Dieses Projekt zielt auf Python 3.12 ab (siehe requires-python in pyproject.toml) und ist für den Produktionseinsatz auf dieser Version validiert.
Dieses Projekt verwendet uv zur Verwaltung von Abhängigkeiten. Installieren Sie uv gemäß den Anweisungen für Ihre Plattform:
curl -LsSf https://astral.sh/uv/install.sh | shInstallieren Sie Python 3.12 (falls nicht vorhanden) und erstellen Sie die virtuelle Umgebung mit den festgelegten Abhängigkeiten:
# Install the interpreter (managed by uv)
uv python install 3.12
# Create the environment and install dependencies from uv.lock
uv sync --python 3.12 --extra devAlternativ mit dem klassischen Workflow:
uv venv --python 3.12
source .venv/bin/activate # On Unix/macOS
.venv\Scripts\activate # On Windows
uv pip install -e .Testen
Testen Sie Ihre OTRS-Verbindung und API-Funktionalität:
# Set 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"
# Run connectivity test
uv run python tests/connectivity_test.py
# Run API functionality test
uv run python tests/test_working_api.py
# Run debug diagnostics
uv run python tests/debug_test.pyDas Projekt enthält Testskripte, die helfen, Ihre OTRS-Konfiguration und API-Konnektivität zu überprüfen.
Führen Sie die Tests mit pytest aus:
# Install development dependencies
uv pip install -e ".[dev]"
# Run the tests
pytest
# Run with coverage report
pytest --cov=src --cov-report=term-missingVeröffentlichen des Docker-Images
So veröffentlichen Sie das Docker-Image im GitHub Container Registry zur öffentlichen Nutzung:
Voraussetzungen
GitHub-Konto mit einem Repository für dieses Projekt
GitHub Personal Access Token mit
write:packages-BerechtigungDocker lokal installiert
Schritt-für-Schritt-Veröffentlichung
GitHub Personal Access Token erstellen:
Gehen Sie zu GitHub-Einstellungen → Entwicklereinstellungen → Personal Access Tokens → Tokens (klassisch)
Generieren Sie ein neues Token mit
write:packages- undread:packages-BerechtigungenSpeichern Sie das Token sicher
Beim GitHub Container Registry anmelden:
echo $GITHUB_TOKEN | docker login ghcr.io -u yourusername --password-stdinImage erstellen und taggen:
# Build the image docker build -t otrs-mcp-server . # Tag for GitHub Container Registry docker tag otrs-mcp-server ghcr.io/yourusername/otrs-mcp-server:latest docker tag otrs-mcp-server ghcr.io/yourusername/otrs-mcp-server:v0.1.0In das Registry pushen:
# Push latest tag docker push ghcr.io/yourusername/otrs-mcp-server:latest # Push version tag docker push ghcr.io/yourusername/otrs-mcp-server:v0.1.0Paket öffentlich machen (optional):
Gehen Sie zu Ihrem GitHub-Repository
Navigieren Sie zum Abschnitt „Packages"
Klicken Sie auf Ihr Paket
Gehen Sie zu „Package settings"
Ändern Sie die Sichtbarkeit auf „Public"
Automatisierte Veröffentlichung mit GitHub Actions
Erstellen Sie .github/workflows/docker-publish.yml:
name: Build and Push Docker Image
on:
push:
branches: [main]
tags: ["v*"]
pull_request:
branches: [main]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}Alternative: Docker Hub
Um stattdessen auf Docker Hub zu veröffentlichen:
# Login to Docker Hub
docker login
# Tag for Docker Hub
docker tag otrs-mcp-server yourusername/otrs-mcp-server:latest
docker tag otrs-mcp-server yourusername/otrs-mcp-server:v0.1.0
# Push to Docker Hub
docker push yourusername/otrs-mcp-server:latest
docker push yourusername/otrs-mcp-server:v0.1.0Aktualisieren Sie dann die Claude-Desktop-Konfiguration, um Folgendes zu verwenden:
"ghcr.io/yourusername/otrs-mcp-server:latest"oder
"yourusername/otrs-mcp-server:latest"Verfügbare Tools
🎫 Ticketverwaltung
create_ticket– Ein neues Ticket in OTRS erstellenget_ticket– Detaillierte Informationen zu einem bestimmten Ticket abrufensearch_tickets– Tickets anhand verschiedener Kriterien suchenupdate_ticket– Eigenschaften eines vorhandenen Tickets aktualisierenget_ticket_history– Den vollständigen Verlauf eines Tickets abrufen
📊 Ressourcen
otrs://ticket/{ticket_id}– Direkter Zugriff auf Ticketdatenotrs://ticket/{ticket_id}/history– Zugriff auf den Ticketverlaufotrs://search/tickets– Übersicht über aktuelle Tickets
Fehlerbehebung
Häufige Probleme
SSL-Zertifikatsfehler: Setzen Sie
OTRS_VERIFY_SSL=falsefür selbstsignierte ZertifikateHTTP-301-Weiterleitungen: Stellen Sie sicher, dass Sie HTTPS-URLs verwenden, wenn Ihr OTRS-Server HTTP auf HTTPS umleitet
Authentifizierungsfehler: Überprüfen Sie Benutzername, Passwort und Webservice-Konfiguration
Fehlende Operationen: Stellen Sie sicher, dass Ihr OTRS-Webservice alle erforderlichen Operationen enthält
Debug-Modus
Führen Sie das Debug-Skript aus, um Verbindungsprobleme zu diagnostizieren:
uv run python tests/debug_test.pyDies testet sowohl HTTP- als auch HTTPS-Verbindungen und liefert detaillierte Fehlerinformationen.
Beispiel für eine funktionierende Konfiguration
Hier ist ein funktionierendes Konfigurationsbeispiel zur Referenz:
# 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"OTRS-Webservice-Operationen
Ihr OTRS-Webservice sollte diese Operationen enthalten:
Operationsname | Controller | Beschreibung |
TicketCreate | Ticket::TicketCreate | Neue Tickets erstellen |
TicketGet | Ticket::TicketGet | Ticketdetails abrufen |
TicketSearch | Ticket::TicketSearch | Nach Tickets suchen |
TicketUpdate | Ticket::TicketUpdate | Vorhandene Tickets aktualisieren |
TicketHistoryGet | Ticket::TicketHistoryGet | Ticketverlauf abrufen |
Lizenz
Apache-2.0
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityCmaintenanceAn MCP server that enables AI assistants to interact with JIRA, allowing for querying issue details, creating and updating work items, and managing attachments through a standardized interface.124MIT

tickiti-mcpofficial
AlicenseBqualityBmaintenanceAn MCP server that exposes the Tickiti helpdesk API to AI assistants, enabling ticket management and helpdesk operations via natural language.11MIT- AlicenseAqualityDmaintenanceMCP server for Otobo ITSM enabling AI assistants to search, create, update, and manage tickets via the Generic Interface REST API.10111MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that connects AI assistants to Zammad, providing tools for managing tickets, users, organizations, and attachments.38AGPL 3.0
Related MCP Connectors
MCP server for AI access to Swagger by SmartBear.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
An MCP server that integrates with Discord to provide AI-powered features.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/eduardoantoniojunior/otrs-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server