Skip to main content
Glama

mcp-confluence

MCP-сервер для Confluence Server / Data Center (Self-Hosted) с авторизацией по Personal Access Token. Даёт LLM-агенту доступ к поиску, чтению, созданию/редактированию страниц, комментариям, меткам и вложениям.

Работает с Confluence Server/DC REST API (/rest/api). Для Confluence Cloud API отличается — этот сервер ориентирован именно на self-hosted.

Возможности

Инструмент

Назначение

confluence_search

Поиск по CQL

confluence_get_page

Страница по ID (тело в storage-формате, версия, метки)

confluence_get_page_by_title

Страница по пространству + заголовку

confluence_list_spaces

Список пространств

confluence_get_child_pages

Дочерние страницы

confluence_create_page

Создать страницу

confluence_update_page

Обновить (версия инкрементируется автоматически)

confluence_delete_page

Удалить страницу

confluence_add_comment

Добавить комментарий

confluence_get_labels / confluence_add_labels / confluence_remove_label

Метки

confluence_list_attachments

Список вложений

confluence_upload_attachment

Загрузить файл как вложение

confluence_download_attachment

Скачать вложение на диск

Related MCP server: confluence-mcp-server

Установка

npm install
npm run build

Настройка

Вариант A — веб-панель (проще)

npm run config

Откройте http://127.0.0.1:4321. Форма позволяет:

  • заполнить все поля (Base URL, PAT либо логин/пароль, TLS);

  • проверить подключение одной кнопкой (запрос к вашему Confluence);

  • сохранить .env в корень проекта;

  • скопировать готовый JSON-конфиг для Claude.

Панель слушает только 127.0.0.1 и наружу не доступна.

Вариант B — вручную

Скопируйте .env.example в .env и заполните, либо задайте переменные окружения:

Переменная

Обязательна

Описание

CONFLUENCE_BASE_URL

да

URL инстанса, например https://confluence.company.local

CONFLUENCE_PAT

да*

Personal Access Token (рекомендуемый способ)

CONFLUENCE_USERNAME + CONFLUENCE_PASSWORD

да*

Basic Auth (fallback, если PAT не задан)

CONFLUENCE_TLS_REJECT_UNAUTHORIZED

нет

false — не проверять TLS (для self-signed)

* Нужен либо CONFLUENCE_PAT, либо пара логин/пароль.

Как получить PAT: в Confluence → аватар → Settings → Personal Access Tokens → Create token.

Подключение к Claude Code / Claude Desktop

Добавьте в конфиг MCP-клиента:

{
  "mcpServers": {
    "confluence": {
      "command": "node",
      "args": ["G:/Portfolio/mcp-confluence/dist/index.js"],
      "env": {
        "CONFLUENCE_BASE_URL": "https://confluence.company.local",
        "CONFLUENCE_PAT": "your-personal-access-token"
      }
    }
  }
}

Для Claude Code также можно быстрее:

claude mcp add confluence -- node G:/Portfolio/mcp-confluence/dist/index.js

(предварительно задав переменные окружения или прописав их через -e KEY=value).

Docker

Образ собирается multi-stage (сборка TypeScript → лёгкий node:22-alpine рантайм, ~260 МБ, запуск от непривилегированного пользователя node).

docker build -t mcp-confluence:latest .

MCP-сервер (stdio) — MCP-клиент запускает контейнер сам. Пример для Claude Code:

claude mcp add confluence -- \
  docker run --rm -i \
    -e CONFLUENCE_BASE_URL=https://confluence.company.local \
    -e CONFLUENCE_PAT=your-token \
    mcp-confluence:latest

Ключевой флаг — -i (interactive): протокол MCP идёт через stdin/stdout.

Веб-панель настройки — нужен проброс порта и CONFIG_UI_HOST=0.0.0.0:

docker run --rm -p 4321:4321 -e CONFIG_UI_HOST=0.0.0.0 \
  -v "$(pwd)/.env:/app/.env" \
  mcp-confluence:latest dist/web.js

Или через compose:

docker compose up   # поднимет панель на http://localhost:4321

.env внутри контейнера эфемерен — смонтируйте его томом (как выше), чтобы сохранённые настройки не пропали.

О формате тела страниц

Confluence хранит контент в storage-формате (XHTML с макросами). Примеры:

<p>Обычный абзац</p>
<h2>Заголовок</h2>
<ac:structured-macro ac:name="info">
  <ac:rich-text-body><p>Инфо-блок</p></ac:rich-text-body>
</ac:structured-macro>

При создании/обновлении страниц передавайте тело именно в этом формате.

Разработка

npm run dev   # tsc в watch-режиме

Лицензия

MIT

Available Tools

15 tools
confluence_add_commentДобавить комментарийB

Добавляет комментарий к странице (storage-формат).

Inputs: body (required), pageId (required).

confluence_add_labelsДобавить меткиC

Добавляет одну или несколько меток к странице.

Inputs: id (required), labels (required).

confluence_create_pageСоздать страницуB

Создаёт новую страницу. Тело — в storage-формате Confluence (XHTML).

Inputs: body (required), title (required), spaceKey (required), parentId.

confluence_delete_pageУдалить страницуA

Удаляет страницу (перемещает в корзину).

Inputs: id (required).

confluence_download_attachmentСкачать вложениеA

Скачивает вложение по download-ссылке (из confluence_list_attachments) и сохраняет на диск.

Inputs: savePath (required), downloadUrl (required).

confluence_get_child_pagesДочерние страницыC

Возвращает дочерние страницы для указанной страницы.

Inputs: id (required), limit.

confluence_get_labelsПолучить меткиB

Возвращает метки (labels) страницы.

Inputs: id (required).

confluence_get_pageПолучить страницу по IDB

Возвращает страницу с телом (storage-формат), версией, пространством и метками.

Inputs: id (required).

confluence_get_page_by_titleНайти страницу по заголовкуB

Ищет страницу по ключу пространства и точному заголовку.

Inputs: title (required), spaceKey (required).

confluence_list_attachmentsСписок вложенийC

Возвращает вложения страницы с ссылками для скачивания.

Inputs: pageId (required), limit.

confluence_list_spacesСписок пространствC

Возвращает доступные пространства Confluence.

Inputs: limit.

confluence_remove_labelУдалить меткуB

Удаляет метку со страницы.

Inputs: id (required), label (required).

confluence_update_pageОбновить страницуA

Обновляет заголовок и/или тело страницы. Номер версии инкрементируется автоматически.

Inputs: id (required), body, title.

confluence_upload_attachmentЗагрузить вложениеB

Загружает локальный файл как вложение к странице. Укажите путь к файлу на диске.

Inputs: pageId (required), filePath (required), comment.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 15 tools

    Disambiguation5/5

    Every tool targets a distinct resource and action, with clear descriptions. No overlap between page, label, comment, attachment, and search tools.

    Naming Consistency5/5

    All tools follow the consistent `confluence_<verb>_<noun>` pattern, with verbs like add, create, delete, get, list, remove, search, update, upload.

    Tool Count5/5

    15 tools is appropriate for a Confluence integration, covering all major resource types without being excessive or insufficient.

    Completeness4/5

    Covers CRUD for pages, labels, attachments, and comments, plus search and spaces listing. Missing comment update/delete, but these are minor gaps.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers