OTRS MCP Server
OTRS MCP サーバー
OTRS(Open Ticket Request System)API 統合のための Model Context Protocol(MCP)サーバーです。
標準化された MCP インターフェースを通じて OTRS のチケット管理にアクセスできるようにし、AI アシスタントがチケットの作成、検索、管理を行えるようにします。
特徴
チケットの作成、読み取り、更新、検索
チケット履歴と詳細情報へのアクセス
チケットのデフォルト値を設定可能
Docker コンテナ化のサポート
証明書検証オプション付きの SSL/TLS サポート
AI アシスタント向けの対話型ツールを提供
ツールのリストは設定可能なため、MCP クライアントで利用可能にしたいツールを選択できます。
Related MCP server: tickiti-mcp
前提条件
OTRS サーバーの設定
この MCP サーバーを使用する前に、OTRS インスタンスを設定する必要があります:
ステップ 1: OTRS 管理パネルにアクセス
URL:
https://your-otrs-server/otrs/index.pl?Action=Admin管理者資格情報でログインします
ステップ 2: Web サービスの設定
システム管理 → Web サービス に移動します
以下の操作を含む Web サービス(例:「TestInterface」)を作成または確認します:
✅ SessionCreate
✅ TicketCreate
✅ TicketGet
✅ TicketSearch
✅ TicketUpdate
✅ TicketHistoryGet
ステップ 3: Web サービスの URL をメモ
Web サービスの URL は次のようになります:
https://your-otrs-server/otrs/nph-genericinterface.pl/Webservice/YourWebserviceName
ステップ 4: ユーザー権限を確認
OTRS ユーザーに以下の適切な権限があることを確認してください:
チケットの作成と更新
設定項目へのアクセス
汎用インターフェースの使用
使用方法
Docker(推奨)
otrs-mcp を Claude Desktop で実行する最も簡単な方法は Docker を使用することです。Docker がインストールされていない場合は、Docker 公式サイトから入手できます。
ビルド済みイメージを使用する
GitHub Container Registry のビルド済み Docker イメージを使用できます:
{
"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"
]
}
}
}ローカルでビルドする
ローカルでイメージをビルドする場合:
# 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-serverUV で実行する
または、UV を使用してサーバーを直接実行することもできます。まず、環境変数を設定します:
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"次に、Claude Desktop の設定ファイルを編集して、サーバー設定を追加します:
{
"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"
}
}
}
}注:Claude Desktop で
Error: spawn uv ENOENTが表示される場合は、uvのフルパスを指定するか、設定で環境変数NO_UV=1を設定する必要がある場合があります。
環境変数
変数 | 必須 | デフォルト | 説明 |
| ✅ | - | OTRS Web サービスのベース URL |
| ✅ | - | OTRS ユーザー名 |
| ✅ | - | OTRS パスワード |
| ❌ |
| SSL 証明書の検証を有効にする |
| ❌ |
| 新規チケットのデフォルトキュー |
| ❌ |
| 新規チケットのデフォルト状態 |
| ❌ |
| 新規チケットのデフォルト優先度 |
| ❌ |
| 新規チケットのデフォルトタイプ |
開発
コントリビューションは歓迎します!提案や改善があれば、issue を開くかプルリクエストを送信してください。
このプロジェクトは Python 3.12 をターゲットとしており(pyproject.toml の requires-python を参照)、そのバージョンでの本番環境での使用が検証されています。
このプロジェクトは依存関係の管理に uv を使用しています。お使いのプラットフォームの手順に従って uv をインストールしてください:
curl -LsSf https://astral.sh/uv/install.sh | shPython 3.12 をインストールし(まだの場合)、固定された依存関係で仮想環境を作成します:
# 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 devまたは、従来のワークフローを使用する場合:
uv venv --python 3.12
source .venv/bin/activate # On Unix/macOS
.venv\Scripts\activate # On Windows
uv pip install -e .テスト
OTRS 接続と API 機能をテストします:
# 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.pyこのプロジェクトには、OTRS 設定と API 接続を検証するのに役立つテストスクリプトが含まれています。
pytest でテストを実行します:
# Install development dependencies
uv pip install -e ".[dev]"
# Run the tests
pytest
# Run with coverage report
pytest --cov=src --cov-report=term-missingDocker イメージの公開
Docker イメージを GitHub Container Registry に公開して一般公開するには:
前提条件
このプロジェクト用の GitHub アカウント とリポジトリ
write:packages権限を持つ GitHub パーソナルアクセストークンローカルにインストールされた Docker
公開手順
GitHub パーソナルアクセストークンを作成:
GitHub 設定 → 開発者設定 → パーソナルアクセストークン → トークン(クラシック)に移動
write:packagesとread:packages権限で新しいトークンを生成トークンを安全に保管
GitHub Container Registry にログイン:
echo $GITHUB_TOKEN | docker login ghcr.io -u yourusername --password-stdinイメージをビルドしてタグ付け:
# 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.0レジストリにプッシュ:
# 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.0パッケージを公開(任意):
GitHub リポジトリに移動
パッケージセクションに移動
パッケージをクリック
パッケージ設定に移動
可視性を「パブリック」に変更
GitHub Actions による自動公開
.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 }}代替:Docker Hub
代わりに Docker Hub に公開する場合:
# 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.0次に、Claude Desktop の設定を更新して次を使用します:
"ghcr.io/yourusername/otrs-mcp-server:latest"または
"yourusername/otrs-mcp-server:latest"利用可能なツール
🎫 チケット管理
create_ticket- OTRS に新しいチケットを作成get_ticket- 特定のチケットの詳細情報を取得search_tickets- さまざまな条件でチケットを検索update_ticket- 既存のチケットのプロパティを更新get_ticket_history- チケットの完全な履歴を取得
📊 リソース
otrs://ticket/{ticket_id}- チケットデータへの直接アクセスotrs://ticket/{ticket_id}/history- チケット履歴へのアクセスotrs://search/tickets- 最近のチケットの概要
トラブルシューティング
一般的な問題
SSL 証明書エラー: 自己署名証明書の場合は
OTRS_VERIFY_SSL=falseを設定しますHTTP 301 リダイレクト: OTRS サーバーが HTTP を HTTPS にリダイレクトする場合は、HTTPS URL を使用していることを確認します
認証エラー: ユーザー名、パスワード、Web サービスの設定を確認します
操作の欠落: OTRS Web サービスに必要なすべての操作が含まれていることを確認します
デバッグモード
接続の問題を診断するには、デバッグスクリプトを実行します:
uv run python tests/debug_test.pyこれにより、HTTP 接続と HTTPS 接続の両方がテストされ、詳細なエラー情報が提供されます。
設定例
参考までに、動作する設定例を次に示します:
# 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 Web サービスの操作
OTRS Web サービスには、次の操作を含める必要があります:
操作名 | コントローラー | 説明 |
TicketCreate | Ticket::TicketCreate | 新しいチケットを作成 |
TicketGet | Ticket::TicketGet | チケットの詳細を取得 |
TicketSearch | Ticket::TicketSearch | チケットを検索 |
TicketUpdate | Ticket::TicketUpdate | 既存のチケットを更新 |
TicketHistoryGet | Ticket::TicketHistoryGet | チケット履歴を取得 |
ライセンス
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