Atlassian MCP Server のベータ版がリリースされました
Atlassian の MCP Server エンドポイントに MCP Inspector で接続して、MCP プロトコルの雰囲気を体験してみます。
Atlassian から MCP Server のベータ版がリリースされ、Claude などの LLM と Atlassian 製品(Jira と Confluence)をシームレスに連携できるようになりました。
https://www.atlassian.com/blog/announcements/remote-mcp-server
例えば、次のようなタスクが可能になります:
- Jira の作業アイテムや Confluence ページの要約
- Claude から直接 Jira の作業アイテムや Confluence ページを作成
- モデルに複数のアクションを一度に実行させ、作業アイテムやページをまとめて作成
- Claude がアクセス可能な多様なソースからコンテキストを Jira のタスクに追加
Claude への接続方法は次の記事で紹介されており、数分で試すことができます。
https://community.atlassian.com/forums/Atlassian-Platform-articles/Using-the-Atlassian-Remote-MCP-Server-beta/ba-p/3005104
MCP について
これらの機能は、MCP (Model Communication Protocol) という共通仕様に基づいて動作します。
MCP は、LLM と Jira や Confluence といった外部システムをつなぐ標準プロトコルで、その背景には、以下のような技術的潮流があります。
- RAG (Retrieval-Augmented Generation):LLM が外部情報ソースを参照し、知識の補完を行うための枠組み
- Function Calling:LLM が外部ツールや API を意図的に呼び出せる仕組み
MCP はこれらを単一のプロトコルにまとめ、権限制御やストリーミングまでをフルカバーします。 AI アシスタントは「検索」だけでなく、実際の業務操作をオーケストレーションできるようになります。
MCP Inspector の紹介
MCP Server と直接やり取りするには、MCP Inspector というツールが便利です。 ブラウザベースで起動し、GUI 上からサーバーのエンドポイントを指定するだけで接続できます。
今回は、MCP Inspector を使って Atlassian の MCP Server に接続し、MCP プロトコルの雰囲気を体験してみます。
MCP Inspector を起動します。
npx @modelcontextprotocol/inspector
http://localhost:6274 にアクセスすると、設定画面が表示されます。
次のように設定してください。
Setting | Value |
---|---|
Transport Type | SSE |
URL | https://mcp.atlassian.com/v1/sse |
Connect ボタンを押すと、MCP Server への接続が開始され、Atlassian の認可画面が表示されます。
承認が完了すると、右ペインに Resources / Prompts / Tools / Sampling / Roots が表示されます。
MCP には 6 つの主要機能があり、Resource, Prompts は非アクティブで Atlassian MCP Server ではまだ利用できないことがわかります。
Feature | Description |
---|---|
Resources | LLM が参照できる社内ドキュメントやファイル |
Prompts | 再利用可能なプロンプトテンプレート集 |
Tools | Jira / Confluence など外部システムを操作するコマンド群 |
Sampling | Tool 実行サンプルをそのまま試せるギャラリー |
Roots | サーバーのメタ情報とエントリーポイント |
Tools の内容をみてみましょう。
Tools セクションでは、Atlassian MCP Server が提供する Tool の一覧を確認できます。 一覧された Tools の詳細を確認すると Parameters などが表示され、Tool の仕様を把握できます。
試しに atlassianUserInfo
を実行すると、認可された範囲で自身のユーザープロファイルが返ってきます。
MCP Server の認可
MCP Server 経由で Jira や Confluence を操作するには、ユーザーごとのアクセス制御が必要です。 Jira や Confluence には権限制御があるため、MCP Server との接続時も、ユーザーが閲覧・操作できる範囲に限定されます。
MCP Inspector を使って接続した際、Atlassian の認証画面が表示されました。 これは MCP が OAuth 2.0 の認証フローを採用しており、ユーザー認可を得たうえでアクセストークンを発行する仕組みになっているからです。
ポイントとして、MCP では DCR (Dynamic Client Registration) が Should
レベルで採用されています。
これにより、固定クライアント ID を手動発行する必要がなくなり、NxM の連携パターン(複数クライアントと複数モデルの組み合わせ)にもスケーラブルに対応できます。
ここでは、httpie コマンドを使ってその仕組みを追ってみましょう。
まず、well-known エンドポイントを確認します。
http https://mcp.atlassian.com/.well-known/oauth-authorization-server
{
"authorization_endpoint": "https://mcp.atlassian.com/v1/authorize",
"code_challenge_methods_supported": [
"plain",
"S256"
],
"grant_types_supported": [
"authorization_code",
"refresh_token"
],
"issuer": "https://atlassian-remote-mcp-production.atlassian-remote-mcp-server-production.workers.dev",
"registration_endpoint": "https://atlassian-remote-mcp-production.atlassian-remote-mcp-server-production.workers.dev/v1/register",
"response_modes_supported": [
"query"
],
"response_types_supported": [
"code"
],
"revocation_endpoint": "https://atlassian-remote-mcp-production.atlassian-remote-mcp-server-production.workers.dev/v1/token",
"token_endpoint": "https://atlassian-remote-mcp-production.atlassian-remote-mcp-server-production.workers.dev/v1/token",
"token_endpoint_auth_methods_supported": [
"client_secret_basic",
"client_secret_post",
"none"
]
}
revocation_endpoint
が提供され、DCR がサポートされていることがわかります。
次に、DCR を使ってクライアントを登録します。
REGISTER_RESPONSE=$(http POST https://atlassian-remote-mcp-production.atlassian-remote-mcp-server-production.workers.dev/v1/register \
Content-Type:application/json \
client_name="Automated MCP Client" \
redirect_uris:='["http://localhost:3000/callback"]' \
grant_types:='["authorization_code","refresh_token"]')
DCR の登録が成功すると、クライアント ID とクライアントシークレットが返されます。 それらの値を使って、OAuth 2.0 の認証フローを進めます。
CLIENT_ID=$(jq -r '.client_id' <<<"$REGISTER_RESPONSE")
CLIENT_SECRET=$(jq -r '.client_secret' <<<"$REGISTER_RESPONSE")
REDIRECT_URI="http://localhost:3000/callback"
CODE_VERIFIER=$(openssl rand 32 | \
openssl base64 -A | tr '+/' '-_' | tr -d '=')
CODE_CHALLENGE=$(printf '%s' "$CODE_VERIFIER" | \
openssl dgst -sha256 -binary | \
openssl base64 -A | tr '+/' '-_' | tr -d '=')
AUTH_URL="https://mcp.atlassian.com/v1/authorize?client_id=$CLIENT_ID&response_type=code&redirect_uri=$REDIRECT_URI&code_challenge=$CODE_CHALLENGE&code_challenge_method=S256"
open "$AUTH_URL"
ブラウザで認可画面が開き、ユーザーが同意すると、リダイレクト URI に認可コードが付与されます。
http://localhost:3000/callback?code={認可コード}
AUTHORIZATION_CODE="{認可コード}"
http --form POST https://atlassian-remote-mcp-production.atlassian-remote-mcp-server-production.workers.dev/v1/token \
grant_type=authorization_code \
code="$AUTHORIZATION_CODE" \
code_verifier="$CODE_VERIFIER" \
client_id="$CLIENT_ID" \
client_secret="$CLIENT_SECRET" \
redirect_uri="$REDIRECT_URI"
{
"access_token": "***",
"token_type": "bearer",
"expires_in": 3300,
"refresh_token": "***",
"scope": ""
}
このようにして登録を済ませたクライアントからは、OAuth 2.0 のフローに従ってトークンを取得し、MCP Server にアクセスできるようになります。
まとめ
Atlassian MCP Server の登場により、Jira や Confluence の利用者は MCP Server を通じて LLM と連携し、業務の効率化や自動化を図ることができるようになりました。 今後は MCP 対応のサービスがどんどん増えていくことが予想されます。 アプリケーション開発の視点でも、MCP Server 対応は求められていくトレンドになりそうですね。