Confluence Mcp Server について
Confluence Mcp Serverは、Confluence Cloud、Server、Data Center向けのページ検索、読み取り、編集ツールを提供します。セクションやアンカー単位の編集に対応し、プレビュー、ステージング、ハッシュ検証付きの確定を行えます。
主な機能
- 01キーワード検索とネイティブCQLクエリ
- 02ページ、目次、セクションの読み取り
- 03ページ作成とコンテンツ更新
- 04セクションまたはアンカー単位の編集
- 05プレビュー、ステージング、検証付き確定
- 06添付ファイルのアップロードとユーザー確認
活用シーン
- 01ページを検索して必要なセクションを読む
- 02ページを作成または既存の内容を編集する
- 03編集内容を確認してから確定する
- 04Wikiの変更をレビュー用に一時保存する
MCP 対応
MCPクライアントに、Confluenceの検索、読み取り、ページ編集、添付ファイル管理ツールを公開します。環境変数または実行時設定で接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
confluence-mcp-server
Confluence Cloud/Server/Data Center 向けの MCP サービスです。ページ検索、CQL クエリ、読み取り、作成、更新、添付ファイルのアップロード、ユーザー ID の照会に対応しています。
機能
confluence_search_pages:キーワードでページを検索confluence_execute_cql_search:ネイティブ CQL クエリを実行confluence_get_page:ページ ID でコンテンツを取得(storage 形式)confluence_get_page_outline:ページの見出し一覧を取得。トークン消費を抑えたナビゲーションに適していますconfluence_get_page_section:見出しで単一の section を読み取り、ページ全体の本文をモデルに返すことを避けますconfluence_get_page_anchor_block:Anchor の開始・終了境界でブロックコンテンツを読み取りますconfluence_create_page:ページを作成(parentIdは省略可能)confluence_update_page:ページのコンテンツを更新し、バージョンを自動的にインクリメントconfluence_update_page_section:見出しで単一の section を更新。ページ全体の置換と送信は MCP サーバー側で行いますconfluence_preview_page_section_update:見出しによる更新の該当範囲をプレビューし、旧コンテンツと確認用ハッシュを返しますconfluence_update_page_section_confirmed:ハッシュ確認付きで見出しによる更新を送信し、プレビュー後にコンテンツが変更されていた場合の誤更新を防ぎますconfluence_add_anchor_block_to_section:見出し section に開始・終了 Anchor を自動追加し、以降の安定した更新を可能にしますconfluence_preview_page_anchor_block_update:Anchor 範囲による更新の該当ブロックをプレビューし、旧コンテンツと確認用ハッシュを返しますconfluence_update_page_anchor_block_confirmed:ハッシュ確認付きで Anchor 範囲による更新を送信しますconfluence_stage_page_update:ページ全体の変更を MCP サーバーのメモリに一時保存し、Confluence には送信しませんconfluence_stage_page_section_update:見出し section の変更を MCP サーバーのメモリに一時保存し、Confluence には送信しませんconfluence_stage_page_anchor_block_update:Anchor ブロックの変更を MCP サーバーのメモリに一時保存し、Confluence には送信しませんconfluence_list_pending_page_updates:現在の MCP プロセスにある未送信の wiki 変更を一覧表示しますconfluence_get_pending_page_update:未送信の変更について、old/new/diff の内容を確認しますconfluence_commit_pending_page_update:ハッシュを検証した後、未送信の変更を Confluence に実際に送信しますconfluence_discard_pending_page_update:未送信の変更を破棄しますconfluence_upload_attachment:ページ添付ファイルをアップロード(ローカルファイルパスまたは base64 に対応。同名の添付ファイルはデフォルトで新しいバージョンに更新)confluence_get_current_user:現在の認証ユーザーを取得(whoami)
環境要件
- Node.js 18+
- アクセス可能な Confluence Cloud/Server/Data Center
クイックスタート
npm install
npm run build
npm start
npx での使用(推奨)
npm に公開した後は、リポジトリを手動でクローンせず、MCP クライアントから npx を直接起動できます。
{
"mcpServers": {
"confluence": {
"command": "npx",
"args": ["-y", "confluence-mcp-server"],
"env": {
"CONF_MODE": "server",
"CONF_BASE_URL": "https://confluence.example.com",
"CONF_USERNAME": "your-username",
"CONF_TOKEN": "your-token",
"CONF_DEFAULT_SPACE": "DOC"
}
}
}
}
クライアント設定に接続情報を記述せず、まず MCP サービスだけを起動することもできます。
{
"mcpServers": {
"confluence": {
"command": "npx",
"args": ["-y", "confluence-mcp-server"]
}
}
}
その後、会話内で接続パラメーターを指定し、モデルに confluence_configure_connection を呼び出させます。
{
"baseUrl": "https://confluence.example.com",
"mode": "server",
"authMode": "auto",
"username": "your-username",
"token": "your-token",
"defaultSpace": "DOC"
}
この設定は現在の MCP サービスプロセスのメモリ内にのみ保存され、再起動すると失われます。継続して使用する場合は、会話のコンテキストに秘密情報が露出しないよう、MCP クライアントの環境変数設定に記述することをおすすめします。
現在のプロセスにすでに接続設定がある場合(環境変数で古いアドレスに接続している場合など)、一部の項目だけを切り替えることもできます。たとえば、アカウントとパスワードはそのままにして、接続先を別の Confluence に切り替える場合は次のようにします。
{
"baseUrl": "http://192.168.40.82:8090"
}
指定していない mode、認証情報、defaultSpace は現在の接続設定を引き継ぎます。token/password/username/authMode を明示的に指定した場合は、認証情報を再計算します。
環境変数
CONF_BASE_URL:Confluence のベース URL。例:https://confluence.example.comCONF_MODE:デプロイモード。cloudまたはserver(デフォルトはserver)CONF_AUTH_MODE:認証モード。auto/basic/bearer(デフォルトはauto)CONF_USERNAME:ログインユーザー名(Cloud では必須。Server ではbasicモードの場合、またはパスワードを使用する場合に必須)CONF_PASSWORD:ユーザーパスワード(モードに応じてCONF_TOKENと組み合わせて使用)CONF_TOKEN:アクセストークン(Cloud では API Token として使用。Server ではデフォルトで Bearer 認証を使用)CONF_DEFAULT_SPACE:デフォルトのスペース Key(省略可能)
これらの環境変数が設定されていない場合、サービスは「接続未設定」の状態で起動します。この場合は、まず confluence_configure_connection を呼び出してください。confluence_get_connection_status で現在の接続状態を確認できます。このツールが token/password を返すことはありません。
MCP クライアント設定例
{
"mcpServers": {
"confluence": {
"command": "node",
"args": ["dist/index.js"],
"env": {
"CONF_MODE": "server",
"CONF_BASE_URL": "https://confluence.example.com",
"CONF_USERNAME": "your-username",
"CONF_TOKEN": "your-token",
"CONF_DEFAULT_SPACE": "DOC"
}
}
}
}
備考
- このプロジェクトは現在 Confluence の機能に特化しており、Jira ツールは含まれていません。
- Cloud モードでは Basic 認証(
CONF_USERNAME+CONF_TOKEN/CONF_PASSWORD)を固定で使用します。 - Server モードでは Bearer または Basic 認証を使用できます(
CONF_AUTH_MODE=autoの場合は Bearer が優先されます)。 - Cloud モードの API ベースパスは
/wiki/rest/api、Server モードは/rest/apiです。 - 画像をアップロードすると、
confluence_upload_attachmentはstorageImageMarkupを返します。これをconfluence_update_pageのbodyStorageValueに追加すると、画像を表示できます。 - Confluence のネイティブな更新は、引き続きページ全体をバージョン管理して
PUTする方式です。confluence_update_page_sectionは「ページ全体の読み取り + 部分置換 + ページ全体の送信」を MCP サーバー側で行い、モデル側のトークン消費を大幅に削減します。 - 2 段階更新では Confluence 側へのリクエスト回数は減りませんが、誤更新のリスクを大幅に低減できます。プレビューでは旧コンテンツと
expectedCurrentHashが返され、確認付き更新ではページを再取得してハッシュが一致することを確認してから送信します。 - 更新を一時保存するツールは、変更を現在の MCP サーバープロセスのメモリ内に保存し、Confluence の
PUTは呼び出しません。MCP サービスを再起動すると、未送信の下書きは失われます。 - Anchor モードでは Confluence の Anchor マクロを非表示の境界として使用し、固定領域を長期的に自動管理するのに適しています。通常の閲覧モードでは、これらのアンカーは通常表示されません。
トークン消費を抑えるための推奨フロー
- まず
confluence_search_pagesまたはconfluence_execute_cql_searchでページを特定します。 - 次に
confluence_get_page_outlineで見出し一覧を取得し、ページ全体の本文を直接読み込まないようにします。 confluence_get_page_sectionを使い、headingで必要な section を取得します。- 変更後、
confluence_update_page_sectionを使ってその section の storage コンテンツのみを送信します。
ページ内に重複する見出しがある場合は、occurrence で同じ見出しの何番目かを指定できます。matchMode=contains は見出しのあいまい検索に使用できます。
更安全的两阶段更新
- 先调用
confluence_preview_page_section_update。 - 检查返回的
oldStorageValue和newStorageValue是否符合预期。 - 把返回的
expectedCurrentHash原样传给confluence_update_page_section_confirmed。 - 服务端会重新拉取页面并校验 hash,一致才真正提交更新。
未提交改动流程
如果希望 AI 先改 wiki、你检查后再决定是否真正保存,可以使用暂存工具:
- 用
confluence_stage_page_section_update、confluence_stage_page_anchor_block_update或confluence_stage_page_update创建未提交草稿。 - 检查返回的
oldStorageValue、newStorageValue、diffStorageValue和draftId。 - 需要稍后查看时,用
confluence_list_pending_page_updates或confluence_get_pending_page_update。 - 确认保存时,用
confluence_commit_pending_page_update提交;服务端会重新拉取页面并校验expectedCurrentHash,一致才写入 Confluence。 - 不想保存时,用
confluence_discard_pending_page_update丢弃。
这些草稿只存在于当前 MCP 服务端内存,不会出现在 Confluence 页面历史里,也不会跨服务重启持久化。
更稳定的 Anchor 更新
- 先用
confluence_add_anchor_block_to_section给目标 section 加上startAnchor/endAnchor。 - 后续读取时用
confluence_get_page_anchor_block。 - 更新时先用
confluence_preview_page_anchor_block_update,确认后再调用confluence_update_page_anchor_block_confirmed。
Anchor 名称建议使用业务语义化命名,例如 risk-summary-start、risk-summary-end,避免依赖标题文本本身。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。