putcho01

Back

TABLE OF CONTENTS

Jira / Confluence を操作する CLI を Go で自作したBlur image

作ったもの#

https://github.com/putcho01/atlassian-cli

Jira と Confluence を操作する Go 製の CLI ツールです。MCP サーバーも内蔵しています。

なぜ作ったか#

AI エージェント から Jira のチケットを検索したり、Confluence のページを取得したりしたいと思いました。既存の選択肢として公式 ACLIAtlassian リモート MCP サーバーがありましたが、どちらも自分のユースケースに合いませんでした。

atlassian-cliACLIAtlassian MCP サーバー
配布形式シングルバイナリ(依存なし)パッケージインストール必要リモートサーバー
認証環境変数のみ対話ログインOAuth ブラウザフロー
コンテキスト消費必要分だけロード多数のスキーマを一括ロード
Server/DC 対応あり(PAT 認証)Cloud 中心Cloud のみ
主な用途開発者・自動化・AI エージェント管理者向けバルク操作汎用 AI 連携

ACLI は認証に acli auth login という対話ログインが必要です。開発者が日常的に使う操作には機能が多すぎます。

Atlassian リモート MCP サーバー は 2026 年 2 月に GA になりました。ただし、多数のツールスキーマを起動時に一括ロードするため、コンテキストを消費します(参考)。また OAuth のブラウザフローが必要です。

そこで atlassian-cli を作りました。Go 製のシングルバイナリで、環境変数だけで認証が完結し、必要なツールだけをロードできる MCP サーバーを内蔵しています。

使い方#

# 進行中のチケットを検索
atlassian-cli jira issue search "project = PROJ AND status = 'In Progress'" -o markdown

# チケットの詳細を取得
atlassian-cli jira issue get PROJ-123

# ステータスを更新
atlassian-cli jira issue transition PROJ-123 "Done"

# チケットを作成
atlassian-cli jira issue create --project PROJ --summary "ログインのバグを修正" --type Bug --priority High
bash

Claude Code に MCP サーバーとして組み込む場合は以下のように設定します。

{
  "mcpServers": {
    "atlassian": {
      "command": "atlassian-cli",
      "args": ["mcp-server", "--tools", "jira_issue,jira_search,jira_transition"],
      "env": {
        "JIRA_URL": "https://your-domain.atlassian.net",
        "JIRA_EMAIL": "[email protected]",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}
json

実装のポイント#

シングルバイナリ#

go install だけで使えるシングルバイナリとして配布しています。AI エージェント環境に組み込む際に、ランタイムのバージョン差異や依存関係のインストール手順がないのは地味に重要でした。

HTML → Markdown 変換#

Confluence はページ本文を HTML と独自マクロ(ac:structured-macroac:link など)で保存しています。-o markdown を指定すると、GitHub Flavored Markdown に変換します。

これにより、Confluence のページ内容をターミナルで読んだり、AI エージェントにそのままコンテキストとして渡したりできます。

3 種類の出力フォーマット#

全コマンドで --output / -o を受け付けます。

atlassian-cli jira issue search "project = PROJ AND status = 'In Progress'" -o markdown
atlassian-cli jira issue get PROJ-123 -o json
bash
  • table — デフォルト。人間が読みやすい表形式
  • json — 他のツールへのパイプやスクリプト向け
  • markdown — AI エージェントにコンテキストとして渡す用途

MCP ツールグループの絞り込み#

内蔵の MCP サーバーはツールをグループ単位で管理していて、--tools フラグで必要なものだけをロードできます。

# issue の取得と検索
atlassian-cli mcp-server --tools jira_issue,jira_search
bash

利用可能なグループ:jira_userjira_issuejira_searchjira_createjira_updatejira_deletejira_transitionconfluence_pageconfluence_labelconfluence_restriction

スキーマの数を絞ることで、エージェントが本来の作業に使えるコンテキストを最大化できます。

まとめ#

機能を絞ることを意識して作りました。go install して環境変数を設定するだけで使えて、出力をパイプできるものが欲しい場合はこのツールが役に立つかもしれません。

ソースコード:github.com/putcho01/atlassian-cli

profile

putcho01

サーバーサイドエンジニア。 GoとGCPをよく触っています。

Jira / Confluence を操作する CLI を Go で自作した
Author Nagattyo
Published at 2026年5月9日