Skip to main content
Glama

JIRA MCPツール

Claude Desktop を介して JIRA API と対話するためのモデル コンテキスト プロトコル (MCP)。

特徴

  • JQL (JIRA クエリ言語) を使用して JIRA の問題を検索する

  • 認証されたユーザーの JIRA プロジェクトを一覧表示する

  • JIRA の問題の作成、更新、削除

  • コメントを追加し、ステータス間の移行の問題を報告します

  • ユーザーの検索(GDPRコンプライアンスサポート付き)

Related MCP server: HH JIRA MCP Server

インストール

  1. このリポジトリをクローンします:

    git clone https://github.com/yourusername/mcp-jira.git cd mcp-jira
  2. 仮想環境を作成してアクティブ化します。

    # On macOS/Linux python -m venv venv source venv/bin/activate # On Windows python -m venv venv .\venv\Scripts\activate
  3. 依存関係をインストールします:

    pip install -r requirements.txt
  4. プロジェクト ルートに.envファイルを作成します。

    touch .env
  5. JIRA 資格情報を.envファイルに追加します。

    JIRA_SERVER=https://your-domain.atlassian.net JIRA_EMAIL=your.email@example.com JIRA_API_TOKEN=your_api_token_here
  6. インストールをテストします。

    # Run all tests python -m pytest # Run a specific test file python -m pytest tests/test_search_issues.py
  7. MCP サーバーを起動します。

    python run.py

環境設定

JIRA APIトークン

JIRA インスタンスで認証するには、JIRA API トークンが必要です。

  1. Atlassianアカウントにログイン

  2. アカウント設定 > セキュリティ > APIトークンの作成と管理に移動します

  3. 「APIトークンを作成」をクリックします

  4. 名前を付けます(例:「Claude Desktop Integration」)

  5. 「作成」をクリックし、生成されたトークンを安全に保存します

GDPRコンプライアンス

JIRA Cloud インスタンス (GDPR 厳格モードである可能性が高い) を使用している場合:

  1. ユーザー検索は表示名とメールアドレスのみに一致します

  2. ユーザー名ベースの検索はサポートされていません

  3. 結果はユーザーの権限に基づいて制限される場合があります

  4. このツールはGDPRの要件を自動的に処理しますが、検索パターンを調整する必要がある場合があります。

トラブルシューティング

よくある問題と解決策:

  1. ModuleNotFoundError: 'src' という名前のモジュールがありません

    # Run with PYTHONPATH set PYTHONPATH=/path/to/mcp-jira python run.py
  2. JIRA API認証エラー

    • APIトークンが正しいことを確認してください

    • メールアドレスがAtlassianアカウントと一致していることを確認してください

    • JIRAインスタンスURLが正しく、「https://」が含まれていることを確認してください。

  3. GDPR関連のエラー

    • 「ユーザー名パラメータがサポートされていません」というエラーが表示される場合、インスタンスはGDPRモードになっています。

    • 検索にはユーザー名の代わりに表示名またはメールアドレスを使用します

    • このツールは、GDPR準拠のためにAPI呼び出しを自動的に調整します。

JIRA APIトークンの取得

  1. Atlassianアカウントにログイン

  2. アカウント設定 > セキュリティ > APIトークンの作成と管理に移動します

  3. 「APIトークンを作成」をクリックします

  4. 名前を付けます(例:「Claude Desktop Integration」)

  5. 「作成」をクリックし、生成されたトークンを安全に保存します

ツール

検索の問題

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)

使用例:

# Search for users with "john" in their display name or email search_users(query="john") # Search for up to 20 users, including inactive ones search_users( query="smith", max_results=20, include_inactive_users=True )

GDPRコンプライアンスに関する注意事項:

  • GDPR厳格モードでは、ユーザーのプライバシーを保護するためにユーザー検索がより制限されます。

  • 検索はユーザーの表示名とメールアドレスのみに一致します

  • ユーザー名の正確な一致はサポートされていません

  • 検索は常に大文字と小文字を区別しません

  • 部分一致がサポートされています(例:「jo」は「John」と一致します)

  • 結果はユーザーの権限とプライバシー設定に基づいて制限される場合があります

使用例

Search for bugs in the PROJECT with high priority: search_issues(jql="project=PROJECT AND issuetype=Bug AND priority=High") Create a new bug in the PROJECT: create_issue(project_key="PROJECT", summary="Login button not working", description="Users cannot log in using the login button on the homepage", issue_type="Bug", priority="High") Update an existing issue: update_issue(issue_key="PROJECT-123", summary="Updated: Login button fixed", status="In Progress", comment="Fixed the CSS styling issue") Delete an issue: delete_issue(issue_key="PROJECT-123", confirm=True) List the first 5 projects: list_projects(limit=5) Add a comment to an issue: add_comment(issue_key="PROJECT-123", comment="The fix has been deployed to production") Transition an issue: transition_issue(issue_key="PROJECT-123", status="In Progress", comment="Starting work on this issue") Get issue details: get_issue_details(issue_key="PROJECT-123", include_comments=True)

発達

この MCP を変更または拡張したい開発者向け:

  1. リポジトリをクローンする

  2. 仮想環境をセットアップする: python -m venv venv && source venv/bin/activate

  3. 依存関係をインストールします: pip install -r requirements.txt

  4. テストを実行: python -m pytest

  5. 変更を加える

  6. Claude Desktopでテスト

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

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/NZenitram/mcp-jira'

If you have feedback or need assistance with the MCP directory API, please join our Discord server