Skip to main content
Glama

atlassian-mcp

Model Context Protocol (MCP) サーバー for 自己ホスト型 Jira (Server / Data Center) および自己ホスト型 Bitbucket (Server / Data Center)。チケット、プルリクエスト、レビュースレッド、git コンテキストに関する自然言語ワークフローのためのツールを提供します。

注: このサーバーは自己ホスト型インスタンスのみをサポートしています。Jira Cloud と Bitbucket Cloud は異なる API を使用するため、サポートされていません。


ツール

ワークフロー

ツール

説明

get_dev_context

主要エントリポイント: git 状態 + リンクされた Jira チケット + レビュアー/ブロッカー状態と次のステップのヒントを含むオープン PR

start_work

Jira チケットを開始します: 取得し、ローカルブランチ (feature/FOO-123-slug) を作成し、必要に応じてチケットを遷移させます

complete_work

完了した作業をクローズします: オープン PR をマージし、Jira チケットを Done に遷移させます

Git

ツール

説明

git_get_context

ブランチ、上流の状態、リモート URL、最近のコミット、作業ツリーの状態、差分統計、ブランチ名に含まれる Jira キー

git_get_diff

未コミット変更の差分、または 2 つの参照間の差分。charOffset によるページングをサポート

Jira

ツール

説明

jira_search

resource パラメータ経由でリソースを検出: issues, projects, issue_types, boards, sprints, board_overview, versions, components, fields、または users

jira_get

1 件の課題の完全な詳細: 要約、説明、ステータス、スプリント、トランジション、コメント、添付ファイル一覧

jira_get_attachment

Jira 添付ファイルを ID で取得します。画像、動画、アニメーション画像 (GIF/APNG/アニメーション WebP)、音声、PDF はすべてインラインでデコードされるため、モデルはそれらを表示/再生できます。テキスト/JSON はインライン。容量が大きい、またはレンダリングできない添付ファイルは一時ファイルに自動保存され、そのパスが返されます。saveTo=/absolute/path は元のファイルをディスクにストリーミングします

jira_mutate

作成、更新、遷移、コメント、リンク、スプリント追加、作業ログを 1 回の呼び出しで実行

jira_comment

課題へのコメントを追加、更新、削除 (action: add / update / delete)

jira_version

修正バージョン / リリースを管理 (action: create / update / release / archive / delete)

Bitbucket

ツール

説明

bitbucket_search

resource パラメータ経由でリソースを検出: pull_requests (デフォルト), repos, branches、または users。自分の受信トレイには mine=true

bitbucket_get_pr

PR の完全な詳細: メタデータ、コミット、コメント、ブロッカー、ビルドステータス、オプションの差分、説明またはコメントで参照されている添付ファイル

bitbucket_get_attachment

リポジトリ添付ファイルを ID で取得します。jira_get_attachment と同じデコードパイプライン (画像、動画、アニメーション画像、音声、PDF)。容量が大きい、またはレンダリングできない添付ファイルは一時ファイルに自動保存され、そのパスが返されます。saveTo は元のファイルをディスクにストリーミングします

bitbucket_mutate

PR を作成/更新、またはライフサイクルアクションを実行: approve, unapprove, needs_work, merge, decline

bitbucket_comment

PR コメントを追加、更新、削除します。コード変更には suggestion を使用すると、Bitbucket に Apply suggestion が表示されます (suggestion ブロックの後にテキストを付けないこと)

bitbucket_get_file

ブランチ、タグ、またはコミットで Bitbucket から生のファイルコンテンツを取得

bitbucket_pr_tasks

PR タスク (チェックリスト項目) を管理: list, create, resolve, reopen, delete

自然言語の例

  • 「何に取り組んでいますか?」 → get_dev_context

  • 「FOO-123 のブランチを作成」 → start_work

  • 「これをリリース / マージしてチケットをクローズ」 → complete_work

  • 「レビュー待ちの自分の PR を表示」 → bitbucket_searchmine=true を指定

  • 「このリポジトリの feature/ABC-123 からのオープン PR を一覧表示」 → bitbucket_searchfromBranch を指定

  • 「PR 42 の完全な概要を教えて」 → bitbucket_get_pr

  • 「現在のブランチから master への PR を開く」 → bitbucket_mutatecreate を指定

  • 「PR 42 を承認 / マージ / 却下」 → bitbucket_mutateaction を指定

  • 「PR 42 のコメント 123 に返信」 → bitbucket_commentcommentId=123 を指定

  • 「PR 42 のこのブロッカーを解決」 → bitbucket_commentaction=update, severity=BLOCKER, state=RESOLVED を指定

  • 「PR のチェックリストタスクを一覧表示」 → bitbucket_pr_tasksaction=list を指定

  • 「PAY プロジェクトで自分に割り当てられたバグを検索」 → jira_searchmine=true, issueType=Bug を指定

  • 「現在のスプリントには何がありますか?」 → jira_searchresource=board_overview を指定

  • 「FOO-123 を In Progress に移動」 → jira_mutatetransitionName="In Progress" を指定

  • 「FOO-123 に 2h を記録」 → jira_mutateworklog を指定

  • 「PAY にバージョン 9.1.0 を作成」 → jira_versionaction=create, projectKey=PAY, name=9.1.0 を指定

  • 「PAY のリリースを一覧表示」 → jira_searchresource=versions, project=PAY を指定

  • 「バージョン 12345 をリリース」 → jira_versionaction=release, id=12345 を指定

  • 「FOO-123 の修正バージョンを 9.1.0 に設定」 → jira_mutateupdate.fixVersion=9.1.0 を指定

  • 「エピック FOO-100 の下にタスクを作成」 → jira_mutatecreate.issueType=Task, create.parent=FOO-100 を指定 (エピックを自動検出して Epic Link を設定)

  • 「FOO-123 をエピック FOO-100 の下に移動」 → jira_mutateupdate.epicLink=FOO-100 を指定

  • 「エピックを作成」 → jira_mutatecreate.issueType=Epic を指定 (エピック名はデフォルトで要約になります)

  • 「ストーリーポイントを 5 に設定」 → jira_mutateupdate.customFields={"Story Points": 5} を指定 — 値はプレーン (オプションラベル、ユーザー名、日付、ラベルの配列) で、サーバーがフィールドスキーマに従ってラップします

  • 「このチケット / エピックには何を設定できますか?」 → jira_search resource=fieldsissueKey=FOO-123 (編集画面) または project=FOO+issueType=Epic (作成画面) を指定: 必須フィールドと任意フィールド、値の形式、許可される値


Related MCP server: Bitbucket Server MCP

セットアップ

1. 設定ファイルを作成する

~/.atlassian-mcp.json を作成します:

{
  "$schema": "https://raw.githubusercontent.com/stubbedev/atlassian-mcp/master/atlassian-mcp.schema.json",
  "jira": {
    "url": "https://jira.example.com",
    "token": "your-jira-personal-access-token"
  },
  "bitbucket": {
    "url": "https://bitbucket.example.com",
    "token": "your-bitbucket-personal-access-token"
  }
}

$schema フィールドは任意ですが、エディターのオートコンプリートと検証が有効になります。

  • projectKey はプロジェクトコードを意味します:

    • Jira の例: チケット PAY-123 内の PAY

    • Bitbucket の例: リポジトリパス ENG/payments-service 内のプロジェクト ENG

  • より使いやすいエイリアスも使用できます:

    • Jira: project (projectKey のエイリアス)

    • Bitbucket: projectrepo (projectKeyrepoSlug のエイリアス)

  • Bitbucket ツールでは、projectKeyrepoSlug は通常、ローカルの origin リモートから自動検出されます。

  • bitbucket_create_pull_request は現在のブランチから fromBranch も自動検出し、そのブランチに既存のオープン PR がある場合はそれを返します。

  • Jira のプロジェクトスコープの呼び出しは projectKey を受け付け、指定すると最もよく機能します。

  • projectKey が Jira の課題作成 / タイプ検索で省略された場合、サーバーは現在のブランチのチケットキーから推測を試み、表示されているプロジェクトが 1 つだけの場合は自動選択にフォールバックし、それ以外の場合は番号付きプロジェクト一覧を返して選択させます。

または、環境変数 (またはこのディレクトリ内の .env ファイル) を使用します:

JIRA_URL=https://jira.example.com
JIRA_ACCESS_TOKEN=your-jira-personal-access-token
BITBUCKET_URL=https://bitbucket.example.com
BITBUCKET_ACCESS_TOKEN=your-bitbucket-personal-access-token

設定は次の順序で解決されます: --config <path> CLI 引数 → ATLASSIAN_MCP_CONFIG 環境変数 → ~/.atlassian-mcp.json$XDG_CONFIG_HOME/atlassian-mcp/config.json (デフォルト ~/.config/atlassian-mcp/config.json) → cwd 内の .atlassian-mcp.json → 環境変数。

2. AI ツールに接続する

クローンやビルドは不要です — npx @stubbedev/atlassian-mcp@latest をツールに指定するだけで、自動的にインストールされて実行されます。

注: --prefer-online は一部のクライアントで MCP の起動を壊す可能性があります。コマンドはシンプルに保ち、更新したい場合は以下の更新手順を使用してください。


Claude Code

claude mcp add atlassian -- npx -y @stubbedev/atlassian-mcp@latest --config ~/.atlassian-mcp.json

Cursor

~/.cursor/mcp.json (グローバル) または .cursor/mcp.json (プロジェクトのみ) に追加します:

{
  "mcpServers": {
    "atlassian": {
      "command": "npx",
      "args": ["-y", "@stubbedev/atlassian-mcp@latest", "--config", "/Users/you/.atlassian-mcp.json"]
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json に追加します:

{
  "mcpServers": {
    "atlassian": {
      "command": "npx",
      "args": ["-y", "@stubbedev/atlassian-mcp@latest", "--config", "/Users/you/.atlassian-mcp.json"]
    }
  }
}

Zed

~/.config/zed/settings.json に追加します:

{
  "context_servers": {
    "atlassian": {
      "command": {
        "path": "npx",
        "args": ["-y", "@stubbedev/atlassian-mcp@latest", "--config", "/home/you/.atlassian-mcp.json"]
      }
    }
  }
}

OpenCode

プロジェクトルートの opencode.json (グローバルなら ~/.config/opencode/opencode.json) に追加します:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "atlassian": {
      "type": "local",
      "command": ["npx", "-y", "@stubbedev/atlassian-mcp@latest", "--config", "/home/you/.atlassian-mcp.json"]
    }
  }
}

Codex CLI

~/.codex/config.yaml に追加します:

mcpServers:
  atlassian:
    command: npx
    args:
      - -y
      - @stubbedev/atlassian-mcp@latest
      - --config
      - /home/you/.atlassian-mcp.json

その他の MCP 互換ツール

MCP をサポートするほとんどのツールは同じ JSON 形式を受け付けます。コマンドとして npx を使用し、引数に ["-y", "@stubbedev/atlassian-mcp@latest", "--config", "/path/to/config.json"] を指定します。

既存インストールの更新

MCPクライアントが既に設定済みで、最新のパッケージバージョンを使いたい場合:

npx clear-npx-cache

その後、MCPクライアントを再起動してください。


npmを使わずにインストールする

サーバーは単一の静的Goバイナリです。上記のnpxの方法では、初回実行時にプラットフォーム向けのプレビルドバイナリをダウンロードします。以下の代替手段はNodeを完全にスキップします:

# Go toolchain — installs to $GOBIN / $GOPATH/bin
go install github.com/stubbedev/atlassian-mcp@latest

# Nix flake
nix run github:stubbedev/atlassian-mcp -- --config ~/.atlassian-mcp.json

次に、MCPクライアントのcommandnpxの代わりに生成されたatlassian-mcpバイナリに向けます。これらのインストール経路では、ffmpeg/ffprobePATH上にある必要があります(またはATLASSIAN_MCP_FFMPEG_PATH / ATLASSIAN_MCP_FFPROBE_PATHを設定してください)。npmラッパーはこれらを自動的にバンドルします。

HTTPサーバーとして実行する(共有 / プロキシ背後)

デフォルトでは、サーバーはstdio経由でMCPを話します(エディタによって起動される、クライアントごとに1つのプロセス)。代わりに、多くのクライアントが共有する長時間稼働のStreamable HTTPサーバーとして実行することもできます。リバースプロキシの背後で役立ちます:

atlassian-mcp --http                 # binds 127.0.0.1:7337
atlassian-mcp --http 127.0.0.1:9000  # custom address
ATLASSIAN_MCP_HTTP=1 atlassian-mcp   # same, via env
  • 単一のエンドポイントPOST /mcp(JSON-RPC)に加え、サーバー→クライアントのリクエスト(roots/list、聞き出し)を運ぶオプションのGET /mcp SSEストリームがあります。サーバーはステートフルです。initializeはセッションを作成し、Mcp-Session-Idヘッダーを返します。クライアントは以降のすべてのリクエストとSSEストリームでそのヘッダーを必ずエコーする必要があります。セッションIDが欠落・不明・期限切れのリクエストはHTTP 404を受け取るため、クライアントは再初期化します(標準的なMCPクライアントの動作)。接続された各クライアント/ワークツリーは分離されたセッションです。

  • 認証: ループバックバインドではトークンは不要です。非ループバックアドレスへのバインドはATLASSIAN_MCP_HTTP_TOKEN必須とします(クライアントはAuthorization: Bearer …として送信)。それ以外の場合、サーバーは起動を拒否します。TLSはプロキシで終端してください。

  • **GET /healthz**は、プロキシ/ロードバランサー向けの認証不要の生存確認プローブです(okを返します)。アイドルセッションは1時間後に破棄されます。

リポジトリコンテキストはサーバーの作業ディレクトリではなく、クライアントから取得されます。 リポジトリを必要とするツール(git_*ツール、get_dev_contextstart_workcomplete_work、およびBitbucketプロジェクト/リポジトリの自動検出)は、次の順序で解決します。明示的なrepoPath引数 → リクエストヘッダーで固定されたルート(下記参照) → クライアントのMCPワークスペースルート(サーバーはroots/listで問い合わせ、セッションごとにキャッシュし、notifications/roots/list_changedで更新) → プロセスのcwd(stdioのみ)。したがって、1つの共有HTTPサーバーで多数のワークツリーを処理できます。各クライアント自身のワークスペースがその呼び出しを決定します。セッションが複数のルート(複数のワークツリー)を公開する場合、repoPathなしのツールは最初のgitリポジトリルートを使用します。特定のワークツリーを対象にするには、repoPath(絶対パス、またはルートのいずれかに一致するワークツリー名/ベース名)を渡します。Bitbucketでは、projectKey+repoSlugを明示的に渡すとリポジトリ検出を完全にスキップします。リポジトリはサーバーのホストから到達可能である必要があります(gitツールはgitをローカルで実行します)。

リクエストヘッダーによるルートの固定(HTTP)。 作業ツリーを既に把握しているリバースプロキシやハーネスは、roots/listの往復をスキップして、サーバーに直接渡すことができます(クライアントがroots機能を一切通知していない場合でも機能します)。file:// URIまたは絶対パスを送信します(複数の場合はカンマ区切り。最初のgitリポジトリが優先されます):

X-Mcp-Root: file:///srv/myrepo
X-Mcp-Roots: /srv/a, /srv/b

受け入れられるヘッダー名: X-Mcp-RootsX-Mcp-RootMcp-RootsMcp-Root。ヘッダー値は権威を持ちます。roots/listよりも優先され、list_changed後も維持されます。

既に実行中のHTTPサーバーに対するクライアント設定(Claude Codeの例):

claude mcp add --transport http atlassian http://127.0.0.1:7337/mcp

添付ファイルのデコードパイプライン

添付ファイルツール(jira_get_attachmentbitbucket_get_attachment)は、バイナリ添付ファイルをモデルが読み取り可能なコンテンツにデコードしてから返します:

入力

返される内容

方法

静的画像(PNG/JPEG/WebP/BMP/TIFF/GIF/SVG…)

リサイズされた画像コンテンツブロック

ネイティブGo(imaging、長辺 ≤ maxDimension、デフォルト1568、EXIF自動回転、アルファあればPNG、それ以外はJPEG)

アニメーション画像(GIF/APNG/アニメーションWebP)

サンプリングされたNフレームの画像コンテンツブロック

ffmpeg + ネイティブGo再エンコード(デフォルト6フレーム @ 768 px)

動画(mp4/webm/mov/…)

サンプリングされたNフレームの画像コンテンツブロック

ffmpeg/ffprobe。均等サンプリングまたはシーンチェンジサンプリング。startendframesmodesceneThresholdを指定して再呼び出しすると拡大できます

音声(mp3/wav/ogg/…)

MCPオーディオコンテンツブロック

パススルー

PDF

抽出されたテキスト — テキストが空の場合はラスタライズされたページ(スキャンPDF)

ネイティブGoテキスト抽出(ledongthuc/pdf)。ラスタライズはpdftoppm/mutoolが存在すればそれらを呼び出し、存在しなければ元のファイルをディスクに保存

テキスト類(json/xml/yaml/…)

テキストコンテンツブロック

パススルー

その他すべて(またはサイズ超過)

一時ファイルに自動保存され、パスが返される

atlmcp-プレフィックス付きのos.TempDir()

自動保存されたファイルは、TTLと合計サイズのクォータによって定期的に削除されます。詳細は下記の環境変数の上書きを参照してください。

外部ツール(オプション)

画像およびPDFテキストのデコードは純Goで実装されているため、追加のものは必要ありません。純Go実装がない2つのパイプラインは外部バイナリを呼び出します:

  • ffmpeg + ffprobe — 動画およびアニメーション画像のフレームサンプリング用です。npmラッパーはffmpeg-static / ffprobe-staticをバンドルし、それらのパスを注入するため、npxインストール経路では設定不要です。go install / Nix経路では、ffmpegをインストールするか(ffprobeも含まれます)、下記の環境変数を設定してください。

  • pdftoppm(poppler)またはmutool(MuPDF) — 抽出可能なテキストがないスキャンPDFをラスタライズする場合にのみ必要です。どちらもPATHにない場合、そのようなPDFは代わりにディスクに保存されます。

環境変数の上書き

変数

目的

デフォルト

ATLASSIAN_MCP_HTTP

stdioの代わりにStreamable HTTPサーバーとして実行。1/true127.0.0.1:7337、または明示的なhost:portを設定。--httpと同じ。

未設定(stdio)

ATLASSIAN_MCP_HTTP_TOKEN

HTTPモード用のBearerトークン。ループバックバインドでは任意。非ループバックバインドでは必須

未設定

ATLASSIAN_MCP_FFMPEG_PATH

ffmpegバイナリへのパス。

npm: バンドルされたffmpeg-static。それ以外はPATH上のffmpeg

ATLASSIAN_MCP_FFPROBE_PATH

ffprobeバイナリへのパス。

npm: バンドルされたffprobe-static。それ以外はPATH上のffprobe

ATLASSIAN_MCP_TMP_TTL_DAYS

これより古い自動保存された添付ファイルは削除されます。

7

ATLASSIAN_MCP_TMP_MAX_BYTES

os.tmpdir()内の自動保存された添付ファイルの合計サイズのクォータ。超過時は古いものから削除されます。

1073741824(1 GB)


リリース(メンテナー向け)

このパッケージはnpmに@stubbedev/atlassian-mcpとして公開されています。

リリースにはセマンティックバージョニングを使用してください。ツールのインターフェースを破壊する変更は、<1.0.0の間はマイナーバージョンを上げるべきです(例: 0.0.x -> 0.1.0)。

v*タグがプッシュされると、.github/workflows/publish.ymlがGoバイナリを14のOS/アーキテクチャターゲット向けにクロスコンパイルし、GitHubリリースに添付して、npmラッパーを公開します(npmラッパーはインストール時に一致するバイナリをダウンロードします)。

リリースの流れ:

# choose one: patch | minor | major (also: npm run release:patch / :minor / :major)
npm version patch          # bumps package.json, commits, tags vX.Y.Z
git push origin HEAD --follow-tags

flake.nixpackage.jsonからバージョンを読み取るため、Nixパッケージも同じバージョンアップに自動的に追従します。GitHub Actionsはプッシュされたタグからビルドおよび公開を行います。

  • ワークフローはnpm Trusted Publisher(OIDC)用に構成されているため、NPM_TOKENシークレットは不要です

必要なnpm設定(1回限り):

  • npmパッケージ設定で、このGitHubリポジトリ/ワークフローをTrusted Publisherとして追加してください


個人アクセストークンの作成

Jira Server / Data Center

個人アクセストークンはJira 8.14以降でサポートされています。

  1. Jiraインスタンスにログインします。

  2. 右上隅にあるプロフィールアバターをクリックし、プロフィールを選択します。

  3. 左側のサイドバーで個人アクセストークンをクリックします。

  4. トークンを作成をクリックします。

  5. トークンに名前を付け(例: atlassian-mcp)、必要に応じて有効期限を設定します。

  6. 作成をクリックしてトークンをコピーします。トークンは一度だけ表示されます。

設定ファイルのjiraの下にあるtokenの値としてトークンを貼り付けます。

Jiraのバージョンが8.14より古い場合は、代わりにHTTP Basic Authを使用できます。ただし、このサーバーはBearerトークン(PAT)認証のみをサポートしています。

Bitbucket Server / Data Center

個人アクセストークンはBitbucket Server 5.5以降でサポートされています。

  1. Bitbucketインスタンスにログインします。

  2. 右上隅にあるプロフィールアバターをクリックし、アカウントの管理を選択します。

  3. 左側のサイドバーのセキュリティの下にある個人アクセストークンをクリックします。

  4. トークンを作成をクリックします。

  5. トークンに名前を付けます(例: atlassian-mcp)。

  6. 権限を設定します:

    • プロジェクト: 読み取り

    • リポジトリ: 読み取り + 書き込み(書き込みはプルリクエストの作成とコメントの追加に必要です)

  7. 必要に応じて有効期限を設定します。

  8. 作成をクリックしてトークンをコピーします。トークンは一度だけ表示されます。

設定ファイルのbitbucketの下にあるtokenの値としてトークンを貼り付けます。


開発

サーバーはリポジトリルートにある単一のGoモジュールです(src/ツリーはありません)。

# Build the binary
go build -o atlassian-mcp .

# Run it
./atlassian-mcp --config /path/to/config.json

# Vet + unit tests
go vet ./...
go test ./...

# Test the tool list
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | ./atlassian-mcp

# Quick release smoke check (build + tools/list validation)
npm run smoke
Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
49Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Git-backed platform for skills, tools, and context for AI agents

View all MCP Connectors

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/stubbedev/atlassian-mcp'

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