Jira MCP Server
JIRA MCP Server
これは、JIRA と連携するためのツールを提供する Model Context Protocol (MCP) サーバーです。MCP インターフェースを通じて、アクティブなスプリントのチケットを取得したり、詳細なチケット情報を取得したりできます。
機能
サーバーは以下のツールを提供します:
list-sprint-tickets:指定されたプロジェクトのアクティブなスプリントの全チケットを取得します必須パラメータ:
projectKey(string)
get-ticket-details:特定のチケットに関する詳細情報を取得します必須パラメータ:
issueKey(string)
add-comment:特定のチケットにコメントを追加します必須パラメータ:
issueKey(string)comment(string) またはfilePath(string) のいずれか — ファイルからコンテンツを編集する を参照オプションパラメータ:
commentFormat—plain(デフォルト)、wiki、markdownまたはadf
link-tickets:2つのチケットを「関連あり」の関係でリンクします必須パラメータ:
sourceIssueKey(string)必須パラメータ:
targetIssueKey(string)
update-description:特定のチケットの説明を更新します必須パラメータ:
issueKey(string)description(string) またはfilePath(string) のいずれか — ファイルからコンテンツを編集する を参照オプションパラメータ:
descriptionFormat—plain(デフォルト)、wiki、markdownまたはadf
list-child-issues:親チケットのすべての子課題を取得します必須パラメータ:
parentKey(string)
create-sub-ticket:親チケットのサブチケット(子課題)を作成します必須パラメータ:
parentKey(string)必須パラメータ:
summary(string)オプションパラメータ:
description(string) またはfilePath(string) — ファイルからコンテンツを編集する を参照オプションパラメータ:
issueType(string) - サブタスクの課題タイプの名前(例: 'Sub-task')
Related MCP server: mcp-jira
セットアップ
依存関係をインストール:
npm installTypeScript コードをビルド:
この手順は、現在 npx の実行に問題がある Windows 上の Cline でのみ必要です。
npm run buildClaude アプリの設定ファイルで MCP 設定を構成します(macOS では通常
~/Library/Application Support/Claude/claude_desktop_config.jsonにあり、Windows では%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonにあります):
Claude 向け設定:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["path/to/this/repo/jira.ts"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Cline 向け設定:
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["path/to/this/repo/dist/jira.js"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}構成
MCP 設定で次の環境変数を設定する必要があります:
JIRA_HOST:Atlassian ドメインの URL(例:https://your-company.atlassian.net)JIRA_EMAIL:JIRA アカウントのメールアドレスJIRA_API_TOKEN:JIRA API トークンAPI トークンは Atlassian アカウント設定 から生成できます。
使用方法
設定後、Claude の MCP インターフェースを通じてツールを使用できます:
スプリントチケットの一覧
プロジェクトのアクティブなスプリントの全チケットを取得するには:
<use_mcp_tool>
<server_name>jira</server_name>
<tool_name>list-sprint-tickets</tool_name>
<arguments>
{
"projectKey": "YOUR_PROJECT_KEY"
}
</arguments>
</use_mcp_tool>チケット詳細の取得
特定のチケットの詳細情報を取得するには:
<use_mcp_tool>
<server_name>jira</server_name>
<tool_name>get-ticket-details</tool_name>
<arguments>
{
"issueKey": "PROJECT-123"
}
</arguments>
</use_mcp_tool>ファイルからコンテンツを編集する
update-description、update-comment、add-comment、create-ticket および create-sub-ticket は、インラインテキストの代わりに filePath を受け入れます。これは長いコンテンツを対象としています。ソースをファイルに保存し、そのファイルを編集して再送信してください — 毎回ツール呼び出しで本文全体を再投稿する必要はありません。2つの作成ツールでは説明は任意のままなので、両方省略しても問題ありません。
形式は拡張子から推測されるため、descriptionFormat / commentFormat は省略できます:
拡張子 | 形式 | 内容 |
|
| Markdown ( |
|
| Jira wiki マークアップ ( |
|
| 生の Atlassian Document Format JSON |
|
| 段落にラップされたプレーンテキスト |
形式を明示的に渡すと拡張子が上書きされ、他の任意の拡張子のファイルを使用する方法でもあります。パスは絶対パスまたはサーバーの作業ディレクトリからの相対パスです。
{
"issueKey": "PROJECT-123",
"filePath": "/abs/path/to/description.md"
}空のファイルは、既存の説明やコメントを消去するのではなく拒否され、インラインテキストと filePath の両方を渡すとエラーになります。
既存コンテンツのパッチ
既に存在する説明やコメントの一部を変更するには、まず export-content でエクスポートし、ファイルを編集して再アップロードします — 全体を書き直す必要はありません:
{ "issueKey": "PROJECT-123", "commentId": "54660", "filePath": "/tmp/pir-timeline.md" }エクスポートでは、そのコンテンツを markdown として再アップロードしても安全かどうかが報告されます。Jira はコンテンツを ADF として保存しており、パネル、メンション、ステータスのロゼンジ、メディア、テーブル、タスクリスト、展開などの構造には markdown に相当するものがないため、markdown を再アップロードするとそれらが静かに失われます。これらのいずれかが存在する場合、ツールは警告してリストアップします。代わりに "format": "adf" でエクスポートして JSON をパッチしてください。これは常に正確に往復します(.json ファイルはアップロード時に ADF として認識されます)。
filePath を省略すると、ファイルを書き込む代わりにコンテンツをインラインで取得できます。コメント ID は get-ticket-details で表示されます。
コンテンツのバージョン(楽観的並行性)
update-description と update-comment は、置き換えるコンテンツが空でない場合、常に expectedVersion(編集の基となったバージョン)を要求します。その後 Jira でコンテンツが変更された場合、その変更を静かに破棄するのではなく更新が拒否されます — これは Confluence がページのバージョン番号から取得するのと同じロックです。
Jira には独自のバージョン番号がなく、課題の updated タイムスタンプは代用にはなりません。課題への変更があればそれは動くため、トランジション、ラベル、新しいコメントは、実際には競合していない説明パッチをすべて拒否します。したがって、バージョンはコンテンツ自体のハッシュ(v1-…)であり、パッチ対象が変更されたときに正確に変更されます。
バージョンは export-content と get-ticket-details から取得でき、get-ticket-details は Description version: と各コメントの version: を報告します。そのため、小さなインライン編集にはエクスポートの往復は不要です。
初めて説明を書く場合はバージョンは不要です。 expectedVersion を省略すること自体が「まだここには何もない」という表明であり、サーバーがチェックします。説明がまだ空の場合は書き込みが行われ、その間に誰かが書いた場合は拒否され(現在 Jira にあるバージョンを指定)、ロックは最初の書き込みもカバーします。呼び出し側が空のコンテンツのバージョンを取得する必要はありません。
"force": true を渡すとチェックをスキップして、条件に関係なく上書きします。
開発
サーバーは TypeScript で書かれており、次を使用します:
MCP サーバー実装用の
@modelcontextprotocol/sdkJIRA API 統合用の
jira.js
推奨スクリプト:
一度ビルド:
npm run buildビルドして監視:
npm run build:watch型チェックのみ:
npm run typecheck監視付き開発実行:
npm run start:devコンパイル済みサーバーを実行:
npm startフォーマットチェック:
npm run fmt:checkフォーマット書き込み:
npm run fmt
一般的なワークフロー:
jira.tsに変更を加えます開発中は
npm run start:devを実行するか、コンパイル実行にはnpm run buildの後にnpm startを実行します変更を反映する必要がある場合は MCP クライアントを再起動します
エラー処理
サーバーには次のエラー処理が含まれています:
無効な JIRA 資格情報
アクティブなスプリントがない
無効なプロジェクトキーまたは課題キー
ネットワークエラー
エラーメッセージはツールの応答で返されます。
This server cannot be deployed
Maintenance
Related MCP Connectors
Agile project management over MCP: boards, epics, roadmap, retros, whiteboards, wiki, metrics
Kanban board for teams and coding agents: manage tasks, subtasks, sprints and wiki pages via MCP.
Manage Timequip projects, tasks, comments, members, and dashboards through MCP.
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides tools for AI assistants to interact with JIRA APIs, enabling them to read, create, update, and manage JIRA issues through standardized MCP tools.611 npm3MIT
- AlicenseNot gradedqualityCmaintenanceProvides JIRA issue search, retrieval, and update functionalities via MCP.68 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language interaction with JIRA through MCP, providing 35 tools for issues, comments, transitions, projects, boards, sprints, epics, links, worklogs, versions, attachments, users, and fields.MIT
- FlicenseNot gradedqualityDmaintenanceEnables natural language interaction with Jira Cloud tickets, including listing, searching, creating, and updating issues through a set of MCP tools.-