mcpField
J
jira-admin-mcp

jira-admin-mcp

ローカル
github.com/its-qusai-nasr生産性118 週間前に更新

jira-admin-mcp について

jira-admin-mcpは、課題、フィールド、ワークフロー、権限、プロジェクト、一括操作を扱うJira Cloud管理向けMCPサーバーです。ドライラン、共有スキームの確認、ID確認などにより、管理変更を慎重に実行できます。

主な機能

  1. 01課題、プロジェクト、グループの管理
  2. 02カスタムフィールド、権限、ワークフローの管理
  3. 03保存済みフィルターの作成と管理
  4. 04課題の一括編集とステータス遷移
  5. 05ドライランによる書き込みのプレビュー
  6. 06共有スキームの確認と対処可能なエラー

活用シーン

  1. 01カスタムフィールドの対象プロジェクトと課題タイプの設定
  2. 02共有権限スキームを確認してから変更
  3. 03課題タイプやステータスの一括変更
  4. 04JQLフィルターの作成と共有

MCP 対応

MCPクライアントにJira Cloud管理ツールを公開し、Jira Cloud REST API v3を利用します。クライアントにはAtlassianのメールアドレスとAPIトークンを設定します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"its-qusai-nasr-jira-admin": {
"command": "uvx",
"args": [
"jira-admin-mcp"
],
"env": {
"JIRA_BASE_URL": "<JIRA_BASE_URL>",
"JIRA_EMAIL": "<JIRA_EMAIL>",
"JIRA_API_TOKEN": "<JIRA_API_TOKEN>",
"JIRA_DRY_RUN": "<JIRA_DRY_RUN>"
}
}
}
}
起動コマンドuvx jira-admin-mcp
設定が必要な環境変数
JIRA_BASE_URLJira Cloud base URL, e.g. https://your-company.atlassian.net
JIRA_EMAILAtlassian account email that owns the API token
JIRA_API_TOKENシークレットAtlassian API token (id.atlassian.com/manage-profile/security/api-tokens)
JIRA_DRY_RUNWhen true, simulate all write operations instead of executing them

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypijira-admin-mcp0.1.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Jira Admin MCP サーバー

PyPI version Python License: MIT CI MCP

AI アシスタント(Claude、Cursor、VS Code、その他の MCP クライアント)に、Jira Cloud サイトを管理するための専用ツール78個を提供するModel Context Protocolサーバーです。チケットの読み取りや作成だけでなく、カスタムフィールドとその表示場所、権限スキーム、ワークフロー、画面、課題タイプスキーム、グループ、プロジェクトロール、保存済みフィルター、一括操作など、舞台裏の管理作業にも対応します。

多くの Jira MCP サーバーが日常的な利用を対象とするのに対し、このサーバーは管理作業に対応し、安全策(ドライランモード、共有スキームの検出、グループ変更前の本人確認、対処可能なエラー)も備えているため、エージェントが実際の管理タスクを最初から最後まで実行できます。

FastMCPで構築されています。独自の Atlassian メールアドレスと API トークンを使って、Jira Cloud REST API v3 に接続します。


クイックスタート

前提条件は2つだけで、どちらも初回に一度準備すればすぐに完了します。

  1. Atlassian API トークン(Jira の権限が引き継がれるため、必要なアクセス権を持つアカウントを使用してください):こちらから作成できます。
  2. uvをインストールします(1行で完了します。Python と依存関係を管理するため、仮想環境は不要です)。

次に、ツール用のワンクリックボタンまたは1行のコマンドでサーバーを追加し、3つの JIRA_* 値を設定します。

Cursor

Add to Cursor

ボタンをクリックして Cursor で確定した後、~/.cursor/mcp.json(または Cursor Settings -> MCP)を開き、jira-admin のエントリに JIRA_BASE_URL、JIRA_EMAIL、JIRA_API_TOKEN を設定します。

Claude Code

コマンドを1つ実行します(3つの値はご自身のものに置き換えてください)。

claude mcp add --scope user \
  --env JIRA_BASE_URL=https://your-company.atlassian.net \
  --env [email protected] \
  --env JIRA_API_TOKEN=your_api_token_here \
  --transport stdio jira-admin \
  -- uvx jira-admin-mcp

--scope user を指定するとすべてのプロジェクトで利用できます。省略すると現在のプロジェクトだけに追加されます。claude mcp list で確認できます。

VS Code

Install in VS Code Install in VS Code Insiders

インストール後、.vscode/mcp.json(またはユーザーの mcp.json)にある jira-admin のエントリに JIRA_* の値を設定します。

その他の MCP クライアント(手動)

次のブロックをクライアントの MCP 設定に追加します。

{
  "mcpServers": {
    "jira-admin": {
      "command": "uvx",
      "args": ["jira-admin-mcp"],
      "env": {
        "JIRA_BASE_URL": "https://your-company.atlassian.net",
        "JIRA_EMAIL": "[email protected]",
        "JIRA_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

PyPI リリースではなく、未リリースの main を使いますか?"args": ["jira-admin-mcp"] を "args": ["--from", "git+https://github.com/its-qusai-nasr/jira-admin-mcp", "jira-mcp"] に置き換えてください。

設定ファイルの場所:Claude Desktop claude_desktop_config.json(macOS ~/Library/Application Support/Claude/、Windows %APPDATA%\Claude\);Cursor ~/.cursor/mcp.json;VS Code .vscode/mcp.json(注:VS Code では "mcpServers" の代わりにトップレベルの "servers" キーを使用します)。編集後にクライアントを再起動すると、サーバーが jira-admin として表示され、78 個すべてのツールを利用できます。

ローカルクローン(開発用)
git clone https://github.com/its-qusai-nasr/jira-admin-mcp
cd jira-admin-mcp
uv sync                 # creates .venv and installs deps from uv.lock
cp .env.example .env    # then edit .env with your Jira credentials
uv run jira-mcp         # starts the server over stdio

設定

サーバーは環境変数(上記の env ブロック経由で渡すか、ローカルクローンを実行する際にプロジェクトディレクトリ内の .env ファイルから読み込みます)から設定を読み込みます。

変数必須説明
JIRA_BASE_URLはいJira Cloud のベース URL。例:https://your-company.atlassian.net
JIRA_EMAILはいAPI トークンを所有する Atlassian アカウントのメールアドレス
JIRA_API_TOKENはいhttps://id.atlassian.com/manage-profile/security/api-tokens から取得した API トークン
JIRA_DRY_RUNいいえtrue にすると、すべての書き込み(POST/PUT/DELETE)をシミュレートし、Jira を呼び出さずに送信される予定のペイロードを返します。デフォルトは false です。

**ヒント:**最初のセッションでは JIRA_DRY_RUN=true に設定してください。各書き込みツールは {"dry_run": true, "would_call": ...} のプレビューを返すため、ライブデータに変更を加える前に、エージェントが実行しようとしている内容を確認できます。


依頼できること

接続すると、アシスタントに次のような操作を依頼できます。

  • 「[email protected] を jira-developers グループに追加して。」
  • 「Team カスタムフィールドの対象を、Story と Bug の課題タイプについて、プロジェクト ENG と OPS のみに制限して。」
  • 「権限スキーム 10789 を共有しているプロジェクトはどれですか?ほかのプロジェクトに影響を与えずに編集したいです。」
  • 「プロジェクト OPS の Internal Task をすべて Task タイプに変更してから、未完了のものを In Progress に遷移して。」
  • 「自分に割り当てられた未解決のバグを対象とする保存済みフィルターを作成して、開発者グループと共有して。」
  • 「PROJ-123 の変更履歴を表示して、誰が再オープンしたか教えて。」

ツール(合計 78 個)

課題(12)
ツール説明
jira_issues_searchページネーションを使って JQL で課題を検索
jira_issues_getキーを指定して単一の課題を取得(概要または詳細全体)
jira_issues_createプロジェクト、タイプ、フィールドを指定して課題を作成
jira_issues_update既存の課題のフィールドを更新
jira_issues_transition新しいステータスに遷移(遷移 ID を自動解決)
jira_issues_assign課題を割り当てる/割り当てを解除する
jira_issues_get_transitions利用可能なワークフロー遷移を一覧表示
jira_issues_get_createmeta課題の作成に必要なフィールドを取得
jira_issues_delete課題を完全に削除
jira_issues_link2 つの課題間にリンクを作成
jira_issues_get_changelog監査履歴を取得(誰が何を変更したか)
jira_issues_bulk_create最大 50 件の課題を一括作成
コメント(2)
ツール説明
jira_comments_list課題のコメントを一覧表示
jira_comments_addコメントを追加(プレーンテキストは自動的に ADF に変換)
ユーザー(2)
ツール説明
jira_users_searchメールアドレスまたは表示名で検索
jira_users_getアカウント ID を指定してユーザーの詳細と所属グループを取得
グループ(6)
ツール説明
jira_groups_listメンバー数とともにグループを一覧表示
jira_groups_get_membersグループのメンバーを取得
jira_groups_add_userユーザーをグループに追加
jira_groups_remove_userユーザーをグループから削除
jira_groups_create新しいグループを作成
jira_groups_deleteグループを削除
プロジェクト(10)
ツール説明
jira_projects_list名前またはキーで絞り込んでプロジェクトを一覧表示します
jira_projects_getプロジェクトの詳細と課題タイプを取得します
jira_projects_get_statuses課題タイプごとにグループ化されたすべてのステータスを取得します
jira_projects_get_rolesアクター(ユーザー/グループ)を含むロールを取得します
jira_projects_update_roleプロジェクトロールのアクターを追加または削除します
jira_projects_get_versionsプロジェクトのバージョン/リリースを一覧表示します
jira_projects_create_version新しいバージョン/リリースを作成します
jira_projects_get_features有効または無効な機能を取得します
jira_projects_get_notification_scheme通知スキームを取得します
jira_projects_get_categoriesプロジェクトカテゴリーを一覧表示します
権限(4)
ツール説明
jira_permissions_list_schemesすべての権限スキームを一覧表示します
jira_permissions_get_schemeすべての許可設定を含むスキームを取得します
jira_permissions_add_grantスキームに権限の許可設定を追加します
jira_permissions_assign_schemeプロジェクトにスキームを割り当てます
カスタムフィールド(12)
ツール説明
jira_fields_searchフィールドを名前で検索し、フィールド ID を確認します
jira_fields_get_contextsカスタムフィールドのコンテキストを取得します
jira_fields_get_options選択/ドロップダウンフィールドのオプションを取得します
jira_fields_manage_optionsフィールドのオプションを追加、更新、または並べ替えます
jira_fields_create_contextコンテキストを作成します。必要に応じてプロジェクト/課題タイプを対象に設定できます
jira_fields_update_contextコンテキストの名前または説明を変更します
jira_fields_delete_contextコンテキストとそのオプションを削除します
jira_fields_assign_context_projectsコンテキストの対象を特定のプロジェクトに限定します
jira_fields_remove_context_projectsコンテキストの対象からプロジェクトを除外します
jira_fields_add_context_issuetypesコンテキストの対象を特定の課題タイプに限定します
jira_fields_remove_context_issuetypesコンテキストから課題タイプを除外します
jira_fields_get_project_mapping各コンテキストの対象プロジェクトを監査します
フィルター(10)
ツール説明
jira_filters_search保存済みの JQL フィルターを検索します
jira_filters_create新しい保存済み JQL フィルターを作成します
jira_filters_get所有者と共有権限を含むフィルターを取得します
jira_filters_update名前/JQL/説明を更新します
jira_filters_deleteフィルターを完全に削除します
jira_filters_change_ownerフィルターの所有者を変更します
jira_filters_get_sharesフィルターの共有権限を一覧表示します
jira_filters_add_share共有設定を追加します(フィルターの所有者である必要があります)
jira_filters_remove_share共有権限を削除します
jira_filters_force_add_share所有していないフィルターに共有設定を追加します(所有者を入れ替える回避策)
課題リンク、ステータス(2)
ツール説明
jira_issue_link_types_list利用可能なリンクタイプ(Blocks、Relates など)を一覧表示します
jira_statuses_searchインスタンス全体のステータスを検索します
ワークフロー(8)
ツール説明
jira_workflows_searchワークフローを名前で検索します
jira_workflows_get_schemesワークフロースキームを一覧表示します
jira_workflows_get_scheme_mappings課題タイプとワークフローのマッピングを取得します
jira_workflows_get_scheme_project_usagesスキームを使用しているプロジェクトを一覧表示します(共有スキームの安全性チェック)
jira_workflows_set_scheme_issuetype課題タイプをワークフローにマッピングします
jira_workflows_delete_scheme_issuetype課題タイプのワークフローマッピングを削除します
jira_workflows_create_scheme_draft編集可能なスキームのドラフトを作成します
jira_workflows_publish_scheme_draftスキームのドラフトを公開し、運用環境に反映します
課題タイプ、画面(6) | ツール | 説明 | |---|---| | `jira_issuetypes_list` | 課題タイプを一覧表示します(プロジェクトで絞り込むこともできます) | | `jira_issuetypes_get_schemes` | 課題タイプスキームを一覧表示します | | `jira_issuetypes_get_scheme_mappings` | スキーム内の課題タイプを取得します | | `jira_screens_list` | 画面を一覧表示します | | `jira_screens_get_fields` | 画面タブ上のフィールドを取得します | | `jira_screens_get_schemes` | 画面スキームを一覧表示します |
一括操作、タスク(4)
ツール説明
jira_bulk_edit_issues複数の課題のフィールドを一括編集します
jira_bulk_transition_issues課題を新しいステータスへ一括トランジションします
jira_tasks_get_statusID を指定して、一般タスクまたは一括キュータスクの状態を確認します
jira_tasks_cancel一般的な非同期タスクのキャンセルをリクエストします

設計上の注意点

  • ラップではなく統合 — すべての REST エンドポイントを 1 対 1 で複製するのではなく、ワークフローを重視した 78 個のツールに集約しています。
  • ドライラン — JIRA_DRY_RUN=true を設定すると、すべての書き込み操作でシミュレーション結果が返されます。
  • レスポンスのフィルタリング — self、_links、avatarUrls などの不要な情報を除去し、エージェントには有用なフィールドのみを表示します。
  • 詳細レベル — 読み取りツールでは、detail="summary"(デフォルト)または detail="full" を指定できます。
  • ADF の自動ラップ — コメントや説明のプレーンテキストは、Atlassian Document Format に自動変換されます。
  • トランジションの解決 — jira_issues_transition はステータス名からトランジション ID を自動的に解決します。
  • 対処可能なエラー — エラーメッセージには、何が問題だったのか、次に何を試せばよいのかが示されます。
  • トークン認証の適用範囲 — webhook エンドポイント(/webhook)は意図的にラップしていません。Atlassian はこれらの利用を Connect/OAuth 2.0 アプリに制限しており、トークン認証では要件を満たせないためです。

ローカルでのテスト

MCP Inspector を使って、ツールを対話的に調査、呼び出します。

npx @modelcontextprotocol/inspector uvx --from . jira-mcp

ネットワーク呼び出しなしでユニットテストを実行します。

uv sync --extra dev
uv run pytest
uv run ruff check .

セキュリティ

  • 認証情報を絶対にコミットしないでください。 .env は gitignore されています。クライアント設定の env ブロックまたは OS のシークレットマネージャーを使用してください。
  • 最小権限を適用してください。 API トークンは Jira ユーザーとして機能します。特に書き込み/管理者ツールを使う場合は、必要な権限だけを持つアカウントを使用してください。
  • まずドライランで始めてください。 JIRA_DRY_RUN=true を設定すると、本番運用を開始する前に、実行予定のすべての書き込み操作を確認できます。
  • 公式の MCP セキュリティのベストプラクティスを参照してください。

コントリビューション

Issue と PR を歓迎します。CONTRIBUTING.md をご覧ください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。