JIRA MCPツール
Claude Desktop を介して JIRA API と対話するためのモデル コンテキスト プロトコル (MCP)。
特徴
JQL (JIRA クエリ言語) を使用して JIRA の問題を検索する
認証されたユーザーの JIRA プロジェクトを一覧表示する
JIRA の問題の作成、更新、削除
コメントを追加し、ステータス間の移行の問題を報告します
ユーザーの検索(GDPRコンプライアンスサポート付き)
Related MCP server: HH JIRA MCP Server
インストール
このリポジトリをクローンします:
git clone https://github.com/yourusername/mcp-jira.git cd mcp-jira仮想環境を作成してアクティブ化します。
# On macOS/Linux python -m venv venv source venv/bin/activate # On Windows python -m venv venv .\venv\Scripts\activate依存関係をインストールします:
pip install -r requirements.txtプロジェクト ルートに
.envファイルを作成します。touch .envJIRA 資格情報を
.envファイルに追加します。JIRA_SERVER=https://your-domain.atlassian.net JIRA_EMAIL=your.email@example.com JIRA_API_TOKEN=your_api_token_hereインストールをテストします。
# Run all tests python -m pytest # Run a specific test file python -m pytest tests/test_search_issues.pyMCP サーバーを起動します。
python run.py
環境設定
JIRA APIトークン
JIRA インスタンスで認証するには、JIRA API トークンが必要です。
Atlassianアカウントにログイン
アカウント設定 > セキュリティ > APIトークンの作成と管理に移動します
「APIトークンを作成」をクリックします
名前を付けます(例:「Claude Desktop Integration」)
「作成」をクリックし、生成されたトークンを安全に保存します
GDPRコンプライアンス
JIRA Cloud インスタンス (GDPR 厳格モードである可能性が高い) を使用している場合:
ユーザー検索は表示名とメールアドレスのみに一致します
ユーザー名ベースの検索はサポートされていません
結果はユーザーの権限に基づいて制限される場合があります
このツールはGDPRの要件を自動的に処理しますが、検索パターンを調整する必要がある場合があります。
トラブルシューティング
よくある問題と解決策:
ModuleNotFoundError: 'src' という名前のモジュールがありません
# Run with PYTHONPATH set PYTHONPATH=/path/to/mcp-jira python run.pyJIRA API認証エラー
APIトークンが正しいことを確認してください
メールアドレスがAtlassianアカウントと一致していることを確認してください
JIRAインスタンスURLが正しく、「https://」が含まれていることを確認してください。
GDPR関連のエラー
「ユーザー名パラメータがサポートされていません」というエラーが表示される場合、インスタンスはGDPRモードになっています。
検索にはユーザー名の代わりに表示名またはメールアドレスを使用します
このツールは、GDPR準拠のためにAPI呼び出しを自動的に調整します。
JIRA APIトークンの取得
Atlassianアカウントにログイン
アカウント設定 > セキュリティ > APIトークンの作成と管理に移動します
「APIトークンを作成」をクリックします
名前を付けます(例:「Claude Desktop Integration」)
「作成」をクリックし、生成されたトークンを安全に保存します
ツール
検索の問題
JQL (JIRA クエリ言語) を使用して JIRA の問題を検索します。
パラメータ:
jql: JIRA クエリ言語文字列 (例: "project=DEMO AND status=Open")
max_results: 返される結果の最大数(デフォルト: 10)
フィールド: 結果に含めるフィールドのコンマ区切りリスト (デフォルト: "summary,status,assignee,priority,issuetype")
問題を作成
指定されたプロジェクトに新しい JIRA 問題を作成します。
パラメータ:
project_key: 問題を作成するプロジェクトのキー(例:"DEMO")
概要: 問題の概要
description: 問題の説明(オプション)
issue_type: 問題の種類 (デフォルト: 「タスク」、または「バグ」、「ストーリー」など)
優先度: 問題の優先度(オプション、「高」、「中」、「低」など)
担当者: 問題を割り当てるユーザー名(オプション)
アップデートの問題
既存の JIRA 問題を新しい値で更新します。
パラメータ:
issue_key: JIRA 課題キー (例: "PROJ-123")
summary: 問題の新しい概要(オプション)
説明: 問題の新しい説明(オプション)
ステータス: 問題の新しいステータス (オプション、例: 「進行中」、「完了」)
優先度: 問題の新しい優先度(オプション、例:「高」、「中」、「低」)
担当者: 課題の新しい担当者(オプション)
comment: 問題に追加するコメント(オプション)
問題を削除
JIRA の問題を削除します (明示的な確認が必要です)。
パラメータ:
issue_key: JIRA 課題キー (例: "PROJ-123")
確認: 誤って削除されないようにするための確認フラグ。True に設定する必要があります。
プロジェクトの一覧
認証されたユーザーの JIRA プロジェクトを一覧表示します。
パラメータ:
limit: 返されるプロジェクトの最大数(デフォルト: 10)
コメントを追加
既存の JIRA 問題にコメントを追加します。
パラメータ:
issue_key: JIRA 課題キー (例: "PROJ-123")
コメント: 問題に追加するコメントテキスト
移行問題
JIRA の問題を新しいステータスに移行します。
パラメータ:
issue_key: JIRA 課題キー (例: "PROJ-123")
ステータス: 問題を遷移させる目標ステータス (例: 「進行中」、「完了」)
コメント: トランジション時に追加するオプションのコメント
問題の詳細を取得する
JIRA の問題に関する詳細情報を取得します。
パラメータ:
issue_key: JIRA 課題キー (例: "PROJ-123")
include_comments: レスポンスに問題コメントを含めるかどうか(デフォルト: False)
ユーザーを検索
名前、メールアドレス、またはユーザー名でJIRAユーザーを検索できます。このツールは、課題の割り当てやウォッチャーの追加が必要な際にユーザーを見つけるのに役立ちます。
重要事項:GDPR厳格モードが有効になっているJIRA Cloudインスタンス(新しいインスタンスではデフォルト)の場合、ユーザー検索には
usernameではなくqueryパラメータを使用する必要があります。ツールはこれを自動的に処理しますが、状況に応じて検索パターンを調整する必要がある場合があります。
パラメータ:
query(str): ユーザーの表示名とメールアドレスと照合する検索文字列GDPR準拠のインスタンスの場合、表示名とメールアドレスを検索します
検索は大文字と小文字を区別せず、部分的な文字列に一致します
例: 「john」は「John Doe」と「 johnny@example.com 」に一致します。
max_results(int, オプション): 返されるユーザーの最大数 (デフォルト: 10)include_active_users(bool, オプション): 検索結果にアクティブユーザーを含める (デフォルト: True)include_inactive_users(bool, オプション): 検索結果に非アクティブなユーザーを含める (デフォルト: False)
使用例:
GDPRコンプライアンスに関する注意事項:
GDPR厳格モードでは、ユーザーのプライバシーを保護するためにユーザー検索がより制限されます。
検索はユーザーの表示名とメールアドレスのみに一致します
ユーザー名の正確な一致はサポートされていません
検索は常に大文字と小文字を区別しません
部分一致がサポートされています(例:「jo」は「John」と一致します)
結果はユーザーの権限とプライバシー設定に基づいて制限される場合があります
使用例
発達
この MCP を変更または拡張したい開発者向け:
リポジトリをクローンする
仮想環境をセットアップする:
python -m venv venv && source venv/bin/activate依存関係をインストールします:
pip install -r requirements.txtテストを実行:
python -m pytest変更を加える
Claude Desktopでテスト