@alexsarrell/confluence-mcp-server
v0.1.0
Published
MCP server for self-hosted (on-prem) Confluence Server/Data Center via Personal Access Token
Maintainers
Readme
Confluence MCP Server
MCP-сервер для on-prem Confluence Server / Data Center с авторизацией по Personal Access Token (PAT). Работает по протоколу Model Context Protocol через stdio.
Базовый URL вашего инстанса задаётся через CONFLUENCE_BASE_URL (обязательный параметр).
Возможности
15 инструментов поверх REST API /rest/api:
| Tool | Назначение |
|------|-----------|
| confluence_search | Поиск по CQL (или по text/spaceKey/type) |
| confluence_get_page | Страница по ID (тело: storage / text / none) |
| confluence_get_page_by_title | Страница по точному заголовку (+ пространство) |
| confluence_get_page_children | Дочерние страницы |
| confluence_create_page | Создать страницу (storage/wiki, опц. parentId) |
| confluence_update_page | Обновить страницу (версия инкрементируется сама) |
| confluence_delete_page | Удалить страницу |
| confluence_list_spaces | Список пространств |
| confluence_get_space | Инфо о пространстве по ключу |
| confluence_get_comments | Комментарии страницы |
| confluence_add_comment | Добавить комментарий |
| confluence_get_labels | Метки контента |
| confluence_add_label | Добавить метки |
| confluence_get_attachments | Вложения страницы (+ ссылки на скачивание) |
| confluence_whoami | Текущий пользователь — проверка PAT и подключения |
Установка
Пакет опубликован в npm — отдельная установка не нужна, npx подтянет его сам
(см. раздел «Подключение»). Для запуска из исходников / разработки:
npm install
npm run build # сборка в dist/ через tsup
npm run dev # запуск без сборки (tsx)Конфигурация
Все настройки — через переменные окружения, удобнее всего через .env (см. .env.example):
| Переменная | Обязательна | Описание |
|------------|:-----------:|----------|
| CONFLUENCE_PAT | да | Personal Access Token (Authorization: Bearer) |
| CONFLUENCE_BASE_URL | да | URL инстанса без /rest/api, напр. https://confluence.example.com |
| CONFLUENCE_TIMEOUT_MS | нет | Таймаут запроса, мс (по умолчанию 30000) |
| CONFLUENCE_INSECURE_TLS | нет | true — отключить проверку TLS-сертификата (self-signed). Влияет на весь процесс — использовать осознанно |
| CONFLUENCE_MCP_ENV | нет | Путь к .env, если он не в текущей директории |
CONFLUENCE_TOKENпринимается как синонимCONFLUENCE_PAT.
.env ищется по пути из CONFLUENCE_MCP_ENV, затем ./.env в рабочей директории.
Уже выставленные переменные окружения имеют приоритет и .env их не перетирает.
Где взять PAT
В Confluence: Profile → Settings → Personal Access Tokens → Create token. PAT наследует права вашей учётки.
Подключение к Claude Code / Claude Desktop
Токен и URL передаются через env (тогда .env не нужен) либо через .env рядом,
на который указывает CONFLUENCE_MCP_ENV.
Claude Code CLI (npx подтянет пакет автоматически):
claude mcp add confluence \
-e CONFLUENCE_BASE_URL=https://confluence.example.com \
-e CONFLUENCE_PAT=ваш-PAT \
-- npx -y @alexsarrell/confluence-mcp-serverClaude Desktop / JSON-конфиг:
{
"mcpServers": {
"confluence": {
"command": "npx",
"args": ["-y", "@alexsarrell/confluence-mcp-server"],
"env": {
"CONFLUENCE_BASE_URL": "https://confluence.example.com",
"CONFLUENCE_PAT": "ваш-PAT"
}
}
}
}Вариант с .env (положить .env рядом и указать путь к нему):
{
"mcpServers": {
"confluence": {
"command": "npx",
"args": ["-y", "@alexsarrell/confluence-mcp-server"],
"env": {
"CONFLUENCE_MCP_ENV": "/абсолютный/путь/до/.env"
}
}
}
}Из локальной сборки (для разработки) — вместо npx … укажите собранный файл:
-- node /абсолютный/путь/до/dist/index.js.
Заметки по форматам
- Тело страниц Confluence хранится в storage format (XHTML). При создании/обновлении
по умолчанию
representation: storage; доступен иwiki(вики-разметка). confluence_get_pageумеет вернуть тело какstorage(как есть),text(очищенный текст) илиnone(только метаданные).- Это API Server / Data Center (
/rest/api), а не Confluence Cloud (/wiki/api/v2).
Проверка подключения
# задайте CONFLUENCE_BASE_URL и CONFLUENCE_PAT (в .env или окружении), затем:
node dist/index.js # сервер стартует на stdio; в логах — baseURLЧерез любой MCP-клиент вызовите confluence_whoami — вернётся текущий пользователь,
если PAT и URL корректны.
